return 0;
};
-static void library_add_item(instance_t* app, GtkTreeStore *treestore, GtkTreeIter *iter, mvcp_dir_entry_t* e)
+static void library_add_item(instance_t* app, GtkTreeStore *treestore, GtkTreeIter *iter,
+ mvcp_dir_entry e, mvcp_list_entry p)
{
GtkTreeIter this, child;
}
else
{
+ char dur[32];
+
+ if(p)
+ frames2tc(p->size, p->fps, dur);
+ else
+ strcpy(dur, "<file>");
+
gtk_tree_store_append(treestore, &this, iter);
gtk_tree_store_set(treestore, &this,
0, app->library.icons[1],
- 1, "<file>",
+ 1, dur,
2, e->name,
3, e,
- 4, NULL,
+ 4, p,
5, FALSE,
6, "red",
-1 );
GtkTreeModel *model;
GdkCursor* cursor;
mvcp_dir dir;
- mvcp_dir_entry_t *e, entry;
+ mvcp_dir_entry_t *e;
instance_t* app = (instance_t*)user_data;
- g_warning("on_library_row_expanded: HERE");
+// g_warning("on_library_row_expanded: HERE");
/* Set busy cursor */
cursor = gdk_cursor_new(GDK_WATCH);
/* setup root path */
if(!e)
- p = "/home/studio/Videos";
+ p = "/";
else
p = e->full;
-
/* read dir */
dir = mvcp_dir_init(app->library.handle[0], p);
for (i = 0; i < mvcp_dir_count(dir); i++)
{
- if(mvcp_ok != mvcp_dir_get(dir, i, &entry))
+ mvcp_dir_entry_t dir_entry;
+ mvcp_list_entry_t *list_e = NULL, list_entry;
+
+ if(mvcp_ok != mvcp_dir_get(dir, i, &dir_entry))
continue;
// g_warning("on_library_row_expanded: path=[%s], entry.dur=[%d], entry.full=[%s], entry.name[%s]",
// p, entry.dir, entry.full, entry.name);
e = (mvcp_dir_entry_t*)malloc(sizeof(mvcp_dir_entry_t));
- memset(e, 0, sizeof(mvcp_dir_entry_t));
- *e = entry;
+ *e = dir_entry;
+
+ if(!e->dir && mvcp_ok == mvcp_probe_clip( app->library.handle[0], e->full, &list_entry))
+ {
+ list_e = (mvcp_list_entry_t*)malloc(sizeof(mvcp_list_entry_t));
+ *list_e = list_entry;
+ };
- library_add_item(app, GTK_TREE_STORE(model), iter, e);
+ library_add_item(app, GTK_TREE_STORE(model), iter, e, list_e);
};
/* restore cursor */
{
GtkTreeModel *model;
GtkTreeIter child;
- g_warning("on_library_row_collapsed: HERE");
+// g_warning("on_library_row_collapsed: HERE");
/* delete all items */
model = gtk_tree_view_get_model(treeview);
while (gtk_tree_model_iter_children(GTK_TREE_MODEL(model), &child, iter))
{
mvcp_dir_entry_t *e;
+ mvcp_list_entry_t *l;
/* request mvcp entry */
gtk_tree_model_get(GTK_TREE_MODEL(model), &child,
3, &e,
+ 4, &l,
-1);
/* free entry */
if(e) free(e);
+ if(l) free(l);
gtk_tree_store_remove(GTK_TREE_STORE(model), &child);
};