gtk_main_quit( );
}
+static void playlist_open(dv1394app this, char* filename)
+{
+ FILE* f;
+
+ if( this->selected_unit >= 0 && this->command)
+ {
+ f = fopen(filename, "rt");
+ if (f)
+ {
+ while( !feof(f) )
+ {
+ char* s;
+ char l[PATH_MAX];
+
+ /* load string */
+ fgets(l, sizeof(l), f);
+
+ /* remove newlines */
+ if( (s = strchr(l, '\n')) ) *s = 0;
+ if( (s = strchr(l, '\r')) ) *s = 0;
+ if( (s = strchr(l, '\t')) ) *s = 0;
+
+ /* check for empty line */
+ if(l[0])
+ mvcp_unit_append( this->command, this->selected_unit, l, -1, -1 );
+ }
+
+ fclose(f);
+ }
+ }
+
+}
+
+static void playlist_save(dv1394app this, char* filename)
+{
+ int index;
+ mvcp_list_entry_t entry;
+ mvcp_list list;
+ FILE* f;
+
+ if( this->selected_unit >= 0 && this->command)
+ {
+ f = fopen(filename, "wt");
+ if (f)
+ {
+ list = mvcp_list_init( this->command, this->selected_unit);
+
+ if ( list )
+ {
+ for ( index = 0; list && index < mvcp_list_count( list ); index ++ )
+ {
+ mvcp_list_get( list, index, &entry );
+ fprintf(f, "%s\n", entry.full);
+ }
+ mvcp_list_close( list );
+ }
+
+ fclose(f);
+ }
+ }
+}
+
/** Main window - playlist open menu item selected.
*/
-void on_item_open_playlist_activate( GtkMenuItem *menuitem, gpointer user_data )
+static void on_item_open_playlist_activate( GtkMenuItem *menuitem, gpointer user_data )
{
dv1394app this = user_data;
GtkWidget *dialog;
char *filename;
filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
- fprintf(stderr, "on_item_open_playlist_activate: %s\n", filename);
+ playlist_open(this, filename);
if ( this->playlist_folder )
g_free (this->playlist_folder);
char* e = strrchr(this->playlist_folder, '/');
if(e) *e = 0;
}
- fprintf(stderr, "on_item_open_playlist_activate: this->playlist_folder=[%s]\n", this->playlist_folder);
}
gtk_widget_destroy (dialog);
/** Main window - playlist save menu item selected.
*/
-void on_item_save_playlist_activate( GtkMenuItem *menuitem, gpointer user_data )
+static void on_item_save_playlist_activate( GtkMenuItem *menuitem, gpointer user_data )
{
dv1394app this = user_data;
GtkWidget *dialog;
char *filename;
filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
- fprintf(stderr, "on_item_save_playlist_activate: filename=[%s]\n", filename);
+ playlist_save(this, filename);
if ( this->playlist_folder )
g_free (this->playlist_folder);
char* e = strrchr(this->playlist_folder, '/');
if(e) *e = 0;
}
- fprintf(stderr, "on_item_save_playlist_activate: this->playlist_folder=[%s]\n", this->playlist_folder);
}
gtk_widget_destroy (dialog);