#include "ui.h"
#include "timecode.h"
+playlist_item_t* omnplay_library_find(omnplay_instance_t* app, char* id)
+{
+ int i;
+ playlist_item_t* item = NULL;
+
+ pthread_mutex_lock(&app->library.lock);
+
+ for(i = 0; i < app->library.count && !item; i++)
+ if(!strcasecmp(id, app->library.item[i].id))
+ item = &app->library.item[i];
+
+ pthread_mutex_unlock(&app->library.lock);
+
+ return item;
+};
+
+void omnplay_library_normalize_item(omnplay_instance_t* app, playlist_item_t* item)
+{
+ playlist_item_t* lib;
+
+ pthread_mutex_lock(&app->library.lock);
+
+ lib = omnplay_library_find(app, item->id);
+
+ if(lib)
+ {
+
+ if(!item->title[0])
+ strcpy(item->title, lib->title);
+
+ if(!item->dur)
+ {
+ item->dur = lib->dur;
+ item->in = lib->in;
+ };
+ }
+
+ pthread_mutex_unlock(&app->library.lock);
+};
+
void omnplay_library_sort(omnplay_instance_t* app)
{
int i, j, m;
pthread_mutex_unlock(&app->library.lock);
};
+
memset(&item, 0, sizeof(playlist_item_t));
if(ui_playlist_item_dialog(app, &item))
{
+ omnplay_library_normalize_item(app, &item);
item.type = t;
omnplay_playlist_insert_items(app, idx, &item, 1);
};
if(ui_playlist_item_dialog(app, &item))
{
+ omnplay_library_normalize_item(app, &item);
app->playlist.item[idx] = item;
omnplay_playlist_draw_item(app, idx);
};
omnplay_get_content_cb_proc proc, void* data);
int omnplay_whois_list(omnplay_instance_t* app, playlist_item_t *items, int* plimit);
int omnplay_library_load_file(playlist_item_t* items, int *pcount, char* filename);
+playlist_item_t* omnplay_library_find(omnplay_instance_t* app, char* id);
+void omnplay_library_normalize_item(omnplay_instance_t* app, playlist_item_t* item);
#ifdef __cplusplus
};
{
pthread_mutex_lock(&app->playlist.lock);
for(i = 0; i < count && app->playlist.count + 1 < MAX_PLAYLIST_ITEMS; i++)
+ {
+ omnplay_library_normalize_item(app, &items[i]);
app->playlist.item[app->playlist.count++] = items[i];
+ };
app->playlist.ver_curr++;
pthread_mutex_unlock(&app->playlist.lock);
}
item->player = gtk_combo_box_get_active(GTK_COMBO_BOX(combo));
/* check if all data entered correctly */
- if(item->dur && item->id[0])
+ if(item->id[0])
c = 0;
};
};