#include #include #include #include "toceditpg.h" #include "tocdata.h" #include "tocedit.h" #include "widgets.h" #include "support.h" #include "interface.h" #include "globals.h" /* format * * col[0] Track * col[1] File * col[2] Length * col[3] Start * col[4] End * col[5] Silence */ /* size of gchar** at least [5][256] */ gint gdrdao_trackentry_mkclist_pg(struct gdrdao_trackentry *_use, gchar** _text) { if(_use==NULL||_text==NULL) return 1; sprintf(_text[0],"%i",_use->number); sprintf(_text[1],"(%02i:%02i:%02i) %s",_use->flenmin,_use->flensec, _use->flenfrm,_use->trackfile); sprintf(_text[2],"%02i:%02i:%02i",_use->lmin,_use->lsec,_use->lfrm); if(_use->strmin==0&&_use->strsec==0&&_use->strfrm==0) { sprintf(_text[3]," "); } else { sprintf(_text[3],"%02i:%02i:%02i",_use->strmin,_use->strsec,_use->strfrm); }; if(_use->endmin==0&&_use->endsec==0&&_use->endfrm==0) { sprintf(_text[4]," "); } else { sprintf(_text[4],"%02i:%02i:%02i",_use->endmin,_use->endsec,_use->endfrm); }; if(_use->silmin==0&&_use->silsec==0&&_use->silfrm==0) { sprintf(_text[5]," "); } else { sprintf(_text[5],"%02i:%02i:%02i",_use->silmin,_use->silsec,_use->silfrm); }; return 0; }; gint gdrdao_tocedit_getdata_pg(GtkWidget* _widget, struct gdrdao_trackentry* _use) { GtkWidget* tmp; gchar *q; tmp=lookup_widget(_widget,TOCEDITPG_TRACKSELECT); _use->number=gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(tmp)); tmp=lookup_widget(_widget,TOCEDITPG_FILESELECT); q=(char*)gnome_file_entry_get_full_path(GNOME_FILE_ENTRY(tmp),FALSE); if(q==NULL) { tmp=create_msg_err_selectfile(); gtk_widget_show(tmp); gtk_grab_add(tmp); return 1; }; _use->trackfile=(char*)malloc(sizeof(char)*strlen(q)+1); strcpy(_use->trackfile,q); /* silence */ tmp=lookup_widget(_widget,TOCEDITPG_SILENCE_MINUTES); _use->silmin=gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(tmp)); tmp=lookup_widget(_widget,TOCEDITPG_SILENCE_SECONDS); _use->silsec=gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(tmp)); tmp=lookup_widget(_widget,TOCEDITPG_SILENCE_FRAMES); _use->silfrm=gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(tmp)); /* start */ tmp=lookup_widget(_widget,TOCEDITPG_START_MINUTES); _use->strmin=gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(tmp)); tmp=lookup_widget(_widget,TOCEDITPG_START_SECONDS); _use->strsec=gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(tmp)); tmp=lookup_widget(_widget,TOCEDITPG_START_FRAMES); _use->strfrm=gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(tmp)); /* end */ tmp=lookup_widget(_widget,TOCEDITPG_END_MINUTES); _use->endmin=gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(tmp)); tmp=lookup_widget(_widget,TOCEDITPG_END_SECONDS); _use->endsec=gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(tmp)); tmp=lookup_widget(_widget,TOCEDITPG_END_FRAMES); _use->endfrm=gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(tmp)); /* calculate track length */ if(gdrdao_get_track_length_high(_use)!=0) abort(); return 0; }; gint gdrdao_tocedit_setdata_pg(GtkWidget* _widget, struct gdrdao_trackentry* _use) { GtkWidget *tmp, *etmp; if(_use==NULL||_widget==NULL) return 1; tmp=lookup_widget(_widget,TOCEDITPG_TRACKSELECT); gtk_spin_button_set_value(GTK_SPIN_BUTTON(tmp),_use->number); tmp=lookup_widget(_widget,TOCEDITPG_FILESELECT); etmp=gnome_file_entry_gtk_entry(GNOME_FILE_ENTRY(tmp)); gtk_entry_set_text(GTK_ENTRY(etmp),_use->trackfile); /* silence */ tmp=lookup_widget(_widget,TOCEDITPG_SILENCE_MINUTES); gtk_spin_button_set_value(GTK_SPIN_BUTTON(tmp),_use->silmin); tmp=lookup_widget(_widget,TOCEDITPG_SILENCE_SECONDS); gtk_spin_button_set_value(GTK_SPIN_BUTTON(tmp),_use->silsec); tmp=lookup_widget(_widget,TOCEDITPG_SILENCE_FRAMES); gtk_spin_button_set_value(GTK_SPIN_BUTTON(tmp),_use->silfrm); tmp=lookup_widget(_widget,TOCEDITPG_SILENCE_TOTAL); gtk_spin_button_set_value(GTK_SPIN_BUTTON(tmp), (float)_use->silmin*60+(float)_use->silsec+ ((float)(_use->silfrm*4)/3)); /* start */ tmp=lookup_widget(_widget,TOCEDITPG_START_MINUTES); gtk_spin_button_set_value(GTK_SPIN_BUTTON(tmp),_use->strmin); tmp=lookup_widget(_widget,TOCEDITPG_START_SECONDS); gtk_spin_button_set_value(GTK_SPIN_BUTTON(tmp),_use->strsec); tmp=lookup_widget(_widget,TOCEDITPG_START_FRAMES); gtk_spin_button_set_value(GTK_SPIN_BUTTON(tmp),_use->strfrm); tmp=lookup_widget(_widget,TOCEDITPG_START_TOTAL); gtk_spin_button_set_value(GTK_SPIN_BUTTON(tmp), (float)_use->strmin*60+(float)_use->strsec+ ((float)(_use->strfrm*4)/3)); /* end */ tmp=lookup_widget(_widget,TOCEDITPG_END_MINUTES); gtk_spin_button_set_value(GTK_SPIN_BUTTON(tmp),_use->endmin); tmp=lookup_widget(_widget,TOCEDITPG_END_SECONDS); gtk_spin_button_set_value(GTK_SPIN_BUTTON(tmp),_use->endsec); tmp=lookup_widget(_widget,TOCEDITPG_END_FRAMES); gtk_spin_button_set_value(GTK_SPIN_BUTTON(tmp),_use->endfrm); tmp=lookup_widget(_widget,TOCEDITPG_END_TOTAL); gtk_spin_button_set_value(GTK_SPIN_BUTTON(tmp), (float)_use->endmin*60+(float)_use->endsec+ ((float)(_use->endfrm*4)/3)); /* update the end-fields */ gdrdao_set_ttime_max(TOCEDITPG_END_MINUTES, TOCEDITPG_END_SECONDS, TOCEDITPG_END_FRAMES, TOCEDITPG_END_TOTAL, _use->lmin, _use->lsec, _use->lfrm); return 0; }; gint gdrdao_update_editor_pg(GtkCList* _use, struct gdrdao_trackentry* _src) { struct gdrdao_trackentry* tmp; gint tracks; register long i,ii; gchar*** buf; if(_use==NULL) return 1; tmp=_src; tracks=0; do { if(tmp!=NULL) {++tracks; tmp=tmp->next; continue;}; break; } while(1); if(tracks==0) { gtk_clist_freeze(_use); gtk_clist_clear(_use); gtk_clist_thaw(_use); }; buf=(gchar***)g_malloc(sizeof(gchar**)*tracks); for(i=0;inext; }; gtk_clist_freeze(_use); gtk_clist_clear(_use); for(i=0;i