X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fomnplay.cpp;h=219f5d659a23616a5e69a42c366e13a971e0f40e;hb=cc4cacaee98dfcccff547dbbc7a17d268169c1a1;hp=5858d1d05f7641fdd471f9c3aa9a77a41649ac4c;hpb=ade05ef0208ee61d52d16681bb99c61e0d264e1c;p=omnplay diff --git a/src/omnplay.cpp b/src/omnplay.cpp index 5858d1d..219f5d6 100644 --- a/src/omnplay.cpp +++ b/src/omnplay.cpp @@ -224,13 +224,15 @@ static void* omnplay_thread_proc(void* data) OmPlrStatus st_curr, st_prev; omnplay_player_t* player = (omnplay_player_t*)data; + g_warning("omnplay_thread_proc\n"); + /* connect */ pthread_mutex_lock(&player->app->players.lock); r = OmPlrOpen(player->host, player->name, (OmPlrHandle*)&player->handle); pthread_mutex_unlock(&player->app->players.lock); if(r) { - fprintf(stderr, "ERROR: OmPlrOpen(%s, %s) failed with 0x%.8X\n", + g_warning("ERROR: OmPlrOpen(%s, %s) failed with 0x%.8X\n", player->host, player->name, r); return (void*)r; @@ -250,7 +252,7 @@ static void* omnplay_thread_proc(void* data) if(r) { - fprintf(stderr, "ERROR: OmPlrClipSetDirectory(%s) failed with 0x%.8X\n", + g_warning("ERROR: OmPlrClipSetDirectory(%s) failed with 0x%.8X\n", player->app->players.path, r); pthread_mutex_lock(&player->app->players.lock); @@ -265,7 +267,11 @@ static void* omnplay_thread_proc(void* data) for(r = 0 ; !player->app->f_exit && !r;) { /* sleep */ +#ifdef _WIN32 + Sleep(100); +#else usleep(100000); +#endif /* get status */ pthread_mutex_lock(&player->app->players.lock); @@ -274,7 +280,7 @@ static void* omnplay_thread_proc(void* data) pthread_mutex_unlock(&player->app->players.lock); if(r) - fprintf(stderr, "ERROR: OmPlrGetPlayerStatus failed with 0x%.8X\n", r); + g_warning("ERROR: OmPlrGetPlayerStatus failed with 0x%.8X\n", r); else if(memcmp(&st_curr, &st_prev, sizeof(OmPlrStatus))) omnplay_update_status(player, &st_prev , &st_curr); @@ -416,7 +422,7 @@ static void omnplay_playlist_block(omnplay_instance_t* app, control_buttons_t bu }; } else - fprintf(stderr, "omnplay_playlist_block: range [%d %d] do OVERLAP player\n", + g_warning("omnplay_playlist_block: range [%d %d] do OVERLAP player\n", start, stop); pthread_mutex_unlock(&app->players.lock); @@ -447,7 +453,7 @@ static int get_playlist_block(omnplay_instance_t* app, int idx, int* start_ptr, if(app->playlist.item[stop].type & OMNPLAY_PLAYLIST_BLOCK_END) break; - fprintf(stderr, "get_playlist_block: range %d -> %d\n", start, stop); + g_warning("get_playlist_block: range %d -> %d\n", start, stop); /* check block range */ if(start >= 0 && stop < app->playlist.count) @@ -640,7 +646,7 @@ static void omnplay_playlist_item_add(omnplay_instance_t* app, int after) if(!omnplay_playlist_insert_check(app, idx, &t)) return; - fprintf(stderr, "allowed insert into idx=%d\n", idx); + g_warning("allowed insert into idx=%d\n", idx); /* clear item */ memset(&item, 0, sizeof(playlist_item_t)); @@ -693,7 +699,7 @@ static void omnplay_ctl(omnplay_instance_t* app, control_buttons_t button) return; }; - fprintf(stderr, "cue: selected item is %d\n", idx); + g_warning("cue: selected item is %d\n", idx); if(get_playlist_block(app, idx, &start, &stop) < 0) { @@ -701,7 +707,7 @@ static void omnplay_ctl(omnplay_instance_t* app, control_buttons_t button) return; }; - fprintf(stderr, "cue: range %d -> %d\n", start, stop); + g_warning("cue: range %d -> %d\n", start, stop); player = get_player_at_pos(app, start); @@ -741,7 +747,7 @@ static void omnplay_ctl(omnplay_instance_t* app, control_buttons_t button) { unsigned int l; - fprintf(stderr, "OmPlrClipGetInfo(%s): firstFrame=%d, lastFrame=%d\n", + g_warning("OmPlrClipGetInfo(%s): firstFrame=%d, lastFrame=%d\n", app->playlist.item[i].id, clip.firstFrame, clip.lastFrame); /* should we fix playlist clip timings */ @@ -750,7 +756,7 @@ static void omnplay_ctl(omnplay_instance_t* app, control_buttons_t button) app->playlist.item[i].in + app->playlist.item[i].dur <= clip.lastFrame) || !app->playlist.item[i].dur) { - fprintf(stderr, "cue: item [%s] will be updated [%d;%d]->[%d;%d]\n", + g_warning("cue: item [%s] will be updated [%d;%d]->[%d;%d]\n", app->playlist.item[i].id, app->playlist.item[i].in, app->playlist.item[i].dur, clip.firstFrame, clip.lastFrame - clip.firstFrame); @@ -769,7 +775,7 @@ static void omnplay_ctl(omnplay_instance_t* app, control_buttons_t button) if(r) { - fprintf(stderr, "cue: failed with %d, %s\n", r, OmPlrGetErrorString((OmPlrError)r)); + g_warning("cue: failed with %d, %s\n", r, OmPlrGetErrorString((OmPlrError)r)); app->playlist.item[i].omn_idx = -1; app->playlist.item[i].omn_offset = -1; app->playlist.item[i].error |= PLAYLIST_ITEM_ERROR_CUE; @@ -1139,7 +1145,7 @@ static gboolean on_library_grid_key(GtkWidget *widget, GdkEventKey *event, gpoin case GDK_v: if(event->state & GDK_CONTROL_MASK) { - fprintf(stderr, "CTRL+v\n"); + g_warning("CTRL+v\n"); return TRUE; }; break; @@ -1147,7 +1153,7 @@ static gboolean on_library_grid_key(GtkWidget *widget, GdkEventKey *event, gpoin case GDK_x: if(event->state & GDK_CONTROL_MASK) { - fprintf(stderr, "CTRL+x\n"); + g_warning("CTRL+x\n"); return TRUE; }; break; @@ -1183,6 +1189,7 @@ void omnplay_init(omnplay_instance_t* app) 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", @@ -1213,6 +1220,7 @@ void omnplay_init(omnplay_instance_t* app) pthread_create(&app->players.item[i].thread, NULL, omnplay_thread_proc, &app->players.item[i]); + /* create lock */ pthread_mutex_init(&app->playlist.lock, &attr); @@ -1226,6 +1234,11 @@ void omnplay_init(omnplay_instance_t* app) /* load library */ omnplay_library_load(app); + + pthread_mutexattr_destroy(&attr); + + /* create UI for monitoring update */ +// ui_library_refresh(app, &app->library.refresh_ui[0], &app->library.refresh_ui[1]); }; void omnplay_release(omnplay_instance_t* app)