#include "timecode.h"
#include "player.h"
#include "library.h"
+#include "playlist.h"
GtkTargetEntry drag_targets[] = { { (char*) "application/playlist_item_t", 0, 0 } };
int i;
pthread_mutexattr_t attr;
- pthread_mutexattr_init(&attr);
- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
-
gtk_signal_connect( GTK_OBJECT( app->window ), "delete-event",
GTK_SIGNAL_FUNC(on_main_window_delete_event), app);
#endif
/* create lock */
+ pthread_mutexattr_init(&attr);
+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
pthread_mutex_init(&app->players.lock, &attr);
pthread_mutex_init(&app->playlist.lock, &attr);
pthread_mutex_init(&app->library.lock, &attr);
gtk_signal_connect(GTK_OBJECT(app->buttons[i]), "clicked",
GTK_SIGNAL_FUNC( on_button_click), app );
- /* load library */
+ /* init library */
library_init(app);
-#if 0
- /* setup drag n drop source/target */
- static GtkTargetEntry drag_targets[] = { { (char*) "application/playlist_item_t", 0, 0 } };
-
- gtk_drag_source_set(app->library_grid, GDK_BUTTON1_MASK,
- drag_targets, 1, (GdkDragAction)(GDK_ACTION_COPY));
-
- gtk_drag_source_set(app->playlist_grid, GDK_BUTTON1_MASK,
- drag_targets, 1, (GdkDragAction)(GDK_ACTION_COPY | GDK_ACTION_MOVE));
-
- gtk_drag_dest_set(app->playlist_grid, (GtkDestDefaults)(GTK_DEST_DEFAULT_HIGHLIGHT | GTK_DEST_DEFAULT_DROP),
- drag_targets, 1, (GdkDragAction)(GDK_ACTION_COPY | GDK_ACTION_MOVE));
-
- g_signal_connect (app->library_grid, "drag_data_get", G_CALLBACK(library_grid_drag_data_get_cb), app);
- g_signal_connect (app->playlist_grid, "drag_data_get", G_CALLBACK(playlist_grid_drag_data_get_cb), app);
- g_signal_connect (app->library_grid, "drag_begin", G_CALLBACK(library_grid_drag_begin_cb), app);
- g_signal_connect (app->playlist_grid, "drag_begin", G_CALLBACK(playlist_grid_drag_begin_cb), app);
- g_signal_connect (app->playlist_grid, "drag_data_received", G_CALLBACK (playlist_grid_drag_data_received), app);
- g_signal_connect (app->playlist_grid, "drag_data_delete", G_CALLBACK (playlist_grid_drag_data_delete), app);
- g_signal_connect (app->playlist_grid, "drag_motion", G_CALLBACK (playlist_grid_drag_motion), app);
-#endif
+ /* init playlist */
+ playlist_init(app);
};
void instance_release(instance_t* app)
app->f_exit = 1;
- library_release(app);
-
/* stop unit monitoring threads */
for(i = 0; i < app->players.count; i++)
player_stop(app, i);
+ /* release laylist */
+ playlist_release(app);
+
+ /* release library */
+ library_release(app);
+
/* destroy lock */
pthread_mutex_destroy(&app->players.lock);
/* destroy lock */
pthread_mutex_destroy(&app->playlist.lock);
-#if 0
- /* load library */
- omnplay_library_save(app);
-#endif
-
/* destroy library lock */
pthread_mutex_destroy(&app->library.lock);
};