implement playlist_item_add_from_library
authorMaksym Veremeyenko <verem@m1stereo.tv>
Mon, 9 Jul 2012 05:26:09 +0000 (08:26 +0300)
committerMaksym Veremeyenko <verem@m1stereo.tv>
Mon, 9 Jul 2012 05:26:09 +0000 (08:26 +0300)
src/playlist.c

index 6d03b08..da7ce7e 100644 (file)
@@ -956,6 +956,34 @@ void playlist_item_edit(instance_t* app)
 
 void playlist_item_add_from_library(instance_t* app, int after)
 {
+    int i, idx, cnt;
+    playlist_item_t *items;
+    playlist_item_type_t t;
+
+    /* find insert position */
+    idx = playlist_get_first_selected_item_idx(app);
+    if(idx < 0)
+        idx = 0;
+    else
+        idx += (after)?1:0;
+
+    if(!playlist_insert_check(app, idx, &t))
+        return;
+
+
+    items = library_get_selected_items(app, &cnt);
+    if(items)
+    {
+        for(i = 0; i < cnt; i++)
+        {
+            items[i].type = t;
+            items[i].error = 0;
+        };
+
+        playlist_insert_items(app, idx, items, cnt);
+
+        free(items);
+    };
 };
 
 void playlist_normalize(instance_t* app)