Hi, just yesterday I got around to changing my script from loading the first track of 25 random albums to loading a random track from each of the 25 random albums.
I don’t think it would pass any awards for programming… but it works.
// library2queue
function rand(max, min) {
return Math.floor(Math.random() * (+max - +min)) + min;
}
var i = 0;
var tracks = 0;
var io = require('socket.io-client');
var socket = io.connect('http://localhost:3000');
socket.emit(’stop’);
socket.emit('clearQueue');
('browseLibrary', {'uri':'albums://'});
socket.on('pushBrowseLibrary',function(data) {
item = data.navigation.lists[0].items[0];
if (item.type == 'song') {
try {
while (item.type == 'song') {
item = data.navigation.lists[0].items[i];
i++;
}
}
catch(err) {
i-- ;
tracks = rand(i, 0);
item = data.navigation.lists[0].items[tracks];
i = 0;
}
socket.emit('addToQueue', {'uri':item.uri});
} else {
var list = data.navigation.lists[0].items;
var random = rand(list.length - 1, 0);
select = list[random];
socket.emit('browseLibrary', {'uri':select.uri});
}
});
socket.on('pushQueue', function(data) {
if (data.length > 25) {
socket.emit("play",{"value":0});
socket.disconnect()
} else {
socket.emit('browseLibrary', {'uri':'albums://'});
}
});
setTimeout(function() { socket.disconnect(); }, 10000);