示例#1
0
/* reads info from file and updates the ID3 tags of
 @selected_tracks. */
void mserv_from_file_tracks(GList *selected_tracks) {
    GList *gl;

    if (selected_tracks == NULL) {
        gtkpod_statusbar_message(_("Nothing to update"));
        return;
    }

    block_widgets();
    for (gl = selected_tracks; gl; gl = gl->next) {
        ExtraTrackData *etr;
        Track *track = gl->data;
        gchar *buf;
        g_return_if_fail (track);
        etr = track->userdata;
        g_return_if_fail (etr);

        buf = get_track_info(track, TRUE);
        gtkpod_statusbar_message (_("Retrieving mserv data %s"), buf);
        g_free(buf);
        if (etr->pc_path_locale && *etr->pc_path_locale)
            update_mserv_data_from_file(etr->pc_path_locale, track);
        else
            display_mserv_problems(track, _("no filename available"));
    }
    release_widgets();
    /* display log of problems with mserv data */
    display_mserv_problems(NULL, NULL);
    gtkpod_statusbar_message(_("Updated selected tracks with data from mserv."));
}
示例#2
0
int quit( )
{
    release_widgets(widgets);
    release_program(program);
    // detruit les objets openGL
    glDeleteVertexArrays(1, &vao);
    for(unsigned int i= 0; i < (unsigned int) textures.size(); i++)
        glDeleteTextures(1, &textures[i]);
    return 0;
}