diff --git a/channel.js b/channel.js index b3c8ecef..af4e586f 100644 --- a/channel.js +++ b/channel.js @@ -1215,7 +1215,6 @@ Channel.prototype.addMedia = function(data, user) { } Channel.prototype.addMediaList = function(data, user) { - var pl = data.list; var chan = this; this.playlist.addMediaList(data, function(err, item) { if(err) { @@ -1226,6 +1225,8 @@ Channel.prototype.addMediaList = function(data, user) { return; } else { + item.temp = data.temp; + item.queueby = data.queueby; chan.sendAll("queue", { item: item.pack(), after: item.prev ? item.prev.uid : "prepend" @@ -1253,6 +1254,7 @@ Channel.prototype.tryQueuePlaylist = function(user, data) { var pl = this.server.db.loadUserPlaylist(user.name, data.name); data.list = pl; data.queueby = user.name; + data.temp = !this.hasPermission(user, "addnontemp"); this.addMediaList(data, user); } diff --git a/playlist.js b/playlist.js index 07e3995b..d10a68ba 100644 --- a/playlist.js +++ b/playlist.js @@ -283,29 +283,22 @@ Playlist.prototype.addMediaList = function(data, callback) { var pl = this; for(var i = 0; i < data.list.length; i++) { var x = data.list[i]; - (function(i, x) { - setTimeout(function() { - if(pl.dead) - return; - x.queueby = data.queueby; - x.pos = data.pos; - if(start && x == start) { - pl.addMedia(x, function (err, item) { - if(err) { - callback(err, item); - } - else { - callback(err, item); - pl.current = item; - pl.startPlayback(); - } - }); + x.pos = data.pos; + if(start && x == start) { + pl.addMedia(x, function (err, item) { + if(err) { + callback(err, item); } else { - pl.addMedia(x, callback); + callback(err, item); + pl.current = item; + pl.startPlayback(); } - }, 500 * i); - })(i, x); + }); + } + else { + pl.addMedia(x, callback); + } } } diff --git a/www/channel.html b/www/channel.html index 2fba0b3d..f05e236f 100644 --- a/www/channel.html +++ b/www/channel.html @@ -106,7 +106,7 @@
Show Library
+Show Library/YouTube Search