case 4: items[count].type = OMNPLAY_PLAYLIST_ITEM_LOOP_END; break;
case 6: items[count].type = OMNPLAY_PLAYLIST_ITEM_BLOCK_END; break;
case 0:
- if(!count || items[count - 1].type != OMNPLAY_PLAYLIST_ITEM_BLOCK_BODY)
+ if(!count)
items[count].type = OMNPLAY_PLAYLIST_ITEM_BLOCK_BEGIN;
- else
+ else if(items[count - 1].type == OMNPLAY_PLAYLIST_ITEM_BLOCK_BEGIN ||
+ items[count - 1].type == OMNPLAY_PLAYLIST_ITEM_BLOCK_BODY)
items[count].type = OMNPLAY_PLAYLIST_ITEM_BLOCK_BODY;
+ else
+ items[count].type = OMNPLAY_PLAYLIST_ITEM_BLOCK_BEGIN;
break;
};
+#if 0
+ {
+ char* n;
+ switch(items[count].type)
+ {
+ case OMNPLAY_PLAYLIST_ITEM_BLOCK_BEGIN: n = "BLOCK_BEGIN"; break;
+ case OMNPLAY_PLAYLIST_ITEM_BLOCK_BODY: n = "BLOCK_BODY"; break;
+ case OMNPLAY_PLAYLIST_ITEM_BLOCK_END: n = "BLOCK_END"; break;
+ case OMNPLAY_PLAYLIST_ITEM_BLOCK_SINGLE: n = "BLOCK_SINGLE"; break;
+ case OMNPLAY_PLAYLIST_ITEM_LOOP_BEGIN: n = "LOOP_BEGIN"; break;
+ case OMNPLAY_PLAYLIST_ITEM_LOOP_BODY: n = "LOOP_BODY"; break;
+ case OMNPLAY_PLAYLIST_ITEM_LOOP_END: n = "LOOP_END"; break;
+ case OMNPLAY_PLAYLIST_ITEM_LOOP_SINGLE: n = "LOOP_SINGLE"; break;
+ };
+ fprintf(stderr, "src=[%s]\ndst=[idx=%d,block=%s,block_id=%d,in=%d,out=%d]\n",
+ l, count, n, items[count].type, items[count].in, items[count].dur);
+ };
+#endif
count++;
}
void omnplay_playlist_draw(omnplay_instance_t* app)
{
+ int i;
+ char tc1[12], tc2[12];
+ GtkListStore *list_store;
+ GtkTreeIter iter;
+
+ list_store = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(app->playlist_grid)));
+ gtk_list_store_clear(list_store);
+
+ pthread_mutex_lock(&app->playlist.lock);
+
+ for(i = 0;i < app->playlist.count; i++)
+ {
+ gtk_list_store_append(list_store, &iter);
+
+ gtk_list_store_set(list_store, &iter,
+ 0, "",
+ 1, app->playlist.block_icons[app->playlist.item[i].type],
+ 2, (0 == app->playlist.item[i].player)?"A":"B",
+ 3, app->playlist.item[i].id,
+ 4, frames2tc(app->playlist.item[i].in, 25.0, tc1),
+ 5, frames2tc(app->playlist.item[i].dur, 25.0, tc2),
+ 6, app->playlist.item[i].title,
+ 7, i,
+ -1 );
+ }
+
+ app->playlist.ver_prev = app->playlist.ver_curr;
+
+ pthread_mutex_unlock(&app->playlist.lock);
};