').append($('').addClass('file-name').text('-'))
.append($(' | ').addClass('file-bytes').text('??.? von ??.? MB'))
.append($(' | ').append(progress_bar))
.append($(' | ').append(cancel_button));
}
}
function shows_updateGroupCartInfo(cart) {
data = { COMMAND: 7, LOGIN_NAME: auth_username, PASSWORD: auth_token, CART_NUMBER: cart, INCLUDE_CUTS: 1 };
var defer = $.post("/rd-bin/rdxport.cgi", data, shows_updateGroupCartList, "xml")
.fail(function() { delete shows_group_carts[cart]; shows_redrawCartEntry(cart); });
$.when(defer).done(function() { shows_redrawCartEntry(cart); });
}
function shows_redrawCartEntry(cart) {
$('#show-cart-' + cart).replaceWith(shows_newCartEntry(cart));
$('#show-cart-' + cart).next().replaceWith(shows_getDzStat(true));
}
function shows_newCartEntry(elem) {
var cart_exists = shows_group_carts[elem] ? 1 : 0;
var cart = {};
cart.title = cart_exists ? shows_group_carts[elem].title : '-';
cart.length = cart_exists ? shows_group_carts[elem].length : '-';
cart.imported = cart_exists ? format_datetime(shows_group_carts[elem].imported) : '-';
cart.playcnt = cart_exists ? shows_group_carts[elem].playcnt : '-';
cart.lastplayed = cart_exists ? format_datetime(shows_group_carts[elem].lastplayed) : '-';
var buttons = cart_exists ?
'' :
'';
return $(' |
').append($('').text(elem))
.append($(' | ').text(cart.title))
.append($(' | ').text(msToTimeString(cart.length)))
.append($(' | ').text(cart.imported))
.append($(' | ').text(cart.playcnt))
.append($(' | ').text(cart.lastplayed))
.append($(' | ').append(buttons)).attr("id", "show-cart-" + elem);
}
function shows_udpateCartListing() {
$('#show-carts tbody').find('tr').remove();
shows_log_carts.forEach(function(elem) {
$('#show-carts > tbody:last').append(shows_newCartEntry(elem))
.append(shows_getDzStat(true));
});
}
function shows_updateGroupCartList(data, status, req) {
var cartlist = $(data).find("cartList");
var carts = cartlist.children();
carts.each(function() {
var cut = $(this).find("cutList").get(0);
number = $(this).find('number').text(),
cart = {
title: $(this).find('title').text(),
length: Number($(cut).find('length').text()),
imported: new Date($(cut).find('originDatetime').text()),
playcnt: $(cut).find('playCounter').text(),
lastplayed: new Date($(cut).find('lastPlayDatetime').text()),
};
cart.imported = isNaN(cart.imported) ? '-' : cart.imported;
cart.lastplayed = isNaN(cart.lastplayed) ? '-' : cart.lastplayed;
shows_group_carts[number] = cart;
}
);
}
function shows_updateLogCartList(data, status, req) {
var loglist = $(data).find("logList");
var loglines = loglist.children();
loglines.each(function() {
var number = $(this).find('cartNumber').text();
if(number >= shows_current.group.lowcart && number <= shows_current.group.highcart) {
shows_log_carts.push(number);
}
}
);
}
function shows_showSelected() {
shows_currentid = $('#show-selector option:selected').attr('value');
sessionStorage.setItem("shows_currentid", shows_currentid);
shows_current = $.grep(shows_list, function(elem) { return elem.id == shows_currentid; })[0];
if(shows_current) {
$('#show-title').text(shows_current.title);
$('#show-dow').text(weekday[shows_current.dow]);
$('#show-rhythm').text(shows_current.rhythm);
$('#show-starttime').text(shows_current.starttime);
$('#show-length').text(shows_current.length + ' Min.');
shows_log_carts = [];
data = { COMMAND: 22, LOGIN_NAME: auth_username, PASSWORD: auth_token, NAME: shows_current.log };
lcd = $.post("/rd-bin/rdxport.cgi", data, shows_updateLogCartList, "xml");
shows_group_carts = {};
data = { COMMAND: 6, LOGIN_NAME: auth_username, PASSWORD: auth_token, GROUP_NAME: shows_current.group.name, INCLUDE_CUTS: 1 };
gcd = $.post("/rd-bin/rdxport.cgi", data, shows_updateGroupCartList, "xml");
$.when(lcd, gcd).done(
function(lcres, gcres) {
if(lcres[1] == 'success' && gcres[1] == 'success') {
shows_udpateCartListing();
}
}
);
}
}
function shows_updateList(data, status, req) {
shows_list = [];
$('#show-selector').find('option').remove();
var dblist = $(data).find("dropboxList");
var dbs = dblist.children();
dbs.each(function() {
type = $(this).find('type').text();
if(type == 'show') {
var show = {
id: $(this).find('show-id').text(),
title: $(this).find('show-title').text(),
dow: $(this).find('show-dayofweek').text(),
rhythm: $(this).find('show-rhythm').text(),
starttime: $(this).find('show-starttime').text(),
length: $(this).find('show-length').text(),
log: $(this).find('show-log').text(),
group: {
name: $(this).find('group').text(),
lowcart: $(this).find('group-low-cart').text(),
highcart: $(this).find('group-high-cart').text(),
},
normlevel: $(this).find('normalization-level').text(),
trimlevel: $(this).find('autotrim-level').text(),
}
var name = show.title + ' (' + show.rhythm + ', ' + weekday[show.dow] + ', ' + show.starttime + ', ' + show.length + ' Min.)';
$('#show-selector').append($(' |