Merge branch 'devel' of dev.sourcefabric.org:airtime into devel
This commit is contained in:
commit
09bc686d99
|
@ -21,9 +21,9 @@ class AudiopreviewController extends Zend_Controller_Action
|
|||
{
|
||||
global $CC_CONFIG;
|
||||
|
||||
$audioFileID = $this->_getParam('audioFileID');
|
||||
$audioFileID = $this->_getParam('audioFileID');
|
||||
$audioFileArtist = $this->_getParam('audioFileArtist');
|
||||
$audioFileTitle = $this->_getParam('audioFileTitle');
|
||||
$audioFileTitle = $this->_getParam('audioFileTitle');
|
||||
$type = $this->_getParam('type');
|
||||
|
||||
$request = $this->getRequest();
|
||||
|
@ -47,23 +47,23 @@ class AudiopreviewController extends Zend_Controller_Action
|
|||
}
|
||||
|
||||
if ($type == "audioclip") {
|
||||
$uri = "/api/get-media/file/".$audioFileID;
|
||||
$uri = "/api/get-media/file/".$audioFileID;
|
||||
$media = Application_Model_StoredFile::Recall($audioFileID);
|
||||
$mime = $media->getPropelOrm()->getDbMime();
|
||||
$mime = $media->getPropelOrm()->getDbMime();
|
||||
} elseif ($type == "stream") {
|
||||
$webstream = CcWebstreamQuery::create()->findPk($audioFileID);
|
||||
$uri = $webstream->getDbUrl();
|
||||
$mime = $webstream->getDbMime();
|
||||
$uri = $webstream->getDbUrl();
|
||||
$mime = $webstream->getDbMime();
|
||||
} else {
|
||||
throw new Exception("Unknown type for audio preview!");
|
||||
throw new Exception("Unknown type for audio preview!.Type=$type");
|
||||
}
|
||||
|
||||
$this->view->uri = $uri;
|
||||
$this->view->mime = $mime;
|
||||
$this->view->audioFileID = $audioFileID;
|
||||
$this->view->uri = $uri;
|
||||
$this->view->mime = $mime;
|
||||
$this->view->audioFileID = $audioFileID;
|
||||
$this->view->audioFileArtist = $audioFileArtist;
|
||||
$this->view->audioFileTitle = $audioFileTitle;
|
||||
$this->view->type = $type;
|
||||
$this->view->audioFileTitle = $audioFileTitle;
|
||||
$this->view->type = $type;
|
||||
|
||||
$this->_helper->viewRenderer->setRender('audio-preview');
|
||||
}
|
||||
|
|
|
@ -825,13 +825,11 @@ class ScheduleController extends Zend_Controller_Action
|
|||
$this->view->newForm = $this->view->render(
|
||||
'schedule/add-show-form.phtml');
|
||||
Logging::debug("Show creation succeeded");
|
||||
Logging::debug_sparse( $data );
|
||||
} else {
|
||||
$this->view->addNewShow = true;
|
||||
$this->view->form = $this->view->render(
|
||||
'schedule/add-show-form.phtml');
|
||||
Logging::debug("Show creation failed");
|
||||
Logging::debug_sparse( $data );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -872,8 +870,6 @@ class ScheduleController extends Zend_Controller_Action
|
|||
} catch (Exception $e) {
|
||||
$this->view->error = $e->getMessage();
|
||||
Logging::info($e->getMessage());
|
||||
Logging::info("{$e->getFile()}");
|
||||
Logging::info("{$e->getLine()}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -229,45 +229,42 @@ class ShowbuilderController extends Zend_Controller_Action
|
|||
|
||||
public function checkBuilderFeedAction()
|
||||
{
|
||||
$request = $this->getRequest();
|
||||
$request = $this->getRequest();
|
||||
$current_time = time();
|
||||
|
||||
$starts_epoch = $request->getParam("start", $current_time);
|
||||
//default ends is 24 hours after starts.
|
||||
$ends_epoch = $request->getParam("end", $current_time + (60*60*24));
|
||||
$ends_epoch = $request->getParam("end", $current_time + (60*60*24));
|
||||
$show_filter = intval($request->getParam("showFilter", 0));
|
||||
$my_shows = intval($request->getParam("myShows", 0));
|
||||
$timestamp = intval($request->getParam("timestamp", -1));
|
||||
$instances = $request->getParam("instances", array());
|
||||
$my_shows = intval($request->getParam("myShows", 0));
|
||||
$timestamp = intval($request->getParam("timestamp", -1));
|
||||
$instances = $request->getParam("instances", array());
|
||||
|
||||
$startsDT = DateTime::createFromFormat("U", $starts_epoch, new DateTimeZone("UTC"));
|
||||
$endsDT = DateTime::createFromFormat("U", $ends_epoch, new DateTimeZone("UTC"));
|
||||
$endsDT = DateTime::createFromFormat("U", $ends_epoch, new DateTimeZone("UTC"));
|
||||
|
||||
$opts = array("myShows" => $my_shows, "showFilter" => $show_filter);
|
||||
$opts = array("myShows" => $my_shows, "showFilter" => $show_filter);
|
||||
$showBuilder = new Application_Model_ShowBuilder($startsDT, $endsDT, $opts);
|
||||
|
||||
//only send the schedule back if updates have been made.
|
||||
// -1 default will always call the schedule to be sent back if no timestamp is defined.
|
||||
if ($showBuilder->hasBeenUpdatedSince($timestamp, $instances)) {
|
||||
$this->view->update = true;
|
||||
} else {
|
||||
$this->view->update = false;
|
||||
}
|
||||
$this->view->update = $showBuilder->hasBeenUpdatedSince(
|
||||
$timestamp, $instances);
|
||||
}
|
||||
|
||||
public function builderFeedAction()
|
||||
{
|
||||
$request = $this->getRequest();
|
||||
$request = $this->getRequest();
|
||||
$current_time = time();
|
||||
|
||||
$starts_epoch = $request->getParam("start", $current_time);
|
||||
//default ends is 24 hours after starts.
|
||||
$ends_epoch = $request->getParam("end", $current_time + (60*60*24));
|
||||
$ends_epoch = $request->getParam("end", $current_time + (60*60*24));
|
||||
$show_filter = intval($request->getParam("showFilter", 0));
|
||||
$my_shows = intval($request->getParam("myShows", 0));
|
||||
$my_shows = intval($request->getParam("myShows", 0));
|
||||
|
||||
$startsDT = DateTime::createFromFormat("U", $starts_epoch, new DateTimeZone("UTC"));
|
||||
$endsDT = DateTime::createFromFormat("U", $ends_epoch, new DateTimeZone("UTC"));
|
||||
$endsDT = DateTime::createFromFormat("U", $ends_epoch, new DateTimeZone("UTC"));
|
||||
|
||||
$opts = array("myShows" => $my_shows, "showFilter" => $show_filter);
|
||||
$showBuilder = new Application_Model_ShowBuilder($startsDT, $endsDT, $opts);
|
||||
|
@ -290,13 +287,9 @@ class ShowbuilderController extends Zend_Controller_Action
|
|||
} catch (OutDatedScheduleException $e) {
|
||||
$this->view->error = $e->getMessage();
|
||||
Logging::info($e->getMessage());
|
||||
Logging::info("{$e->getFile()}");
|
||||
Logging::info("{$e->getLine()}");
|
||||
} catch (Exception $e) {
|
||||
$this->view->error = $e->getMessage();
|
||||
Logging::info($e->getMessage());
|
||||
Logging::info("{$e->getFile()}");
|
||||
Logging::info("{$e->getLine()}");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -133,7 +133,8 @@ class Application_Model_ShowBuilder
|
|||
*/
|
||||
private function getScheduledStatus($p_epochItemStart, $p_epochItemEnd, &$row)
|
||||
{
|
||||
if ($row["footer"] === true && $this->epoch_now > $p_epochItemStart && $this->epoch_now > $p_epochItemEnd) {
|
||||
if ($row["footer"] === true && $this->epoch_now > $p_epochItemStart &&
|
||||
$this->epoch_now > $p_epochItemEnd) {
|
||||
$row["scheduled"] = 0;
|
||||
} elseif ($row["footer"] === true && $this->epoch_now < $p_epochItemEnd) {
|
||||
$row["scheduled"] = 2;
|
||||
|
@ -179,7 +180,7 @@ class Application_Model_ShowBuilder
|
|||
$showStartDT = new DateTime($p_item["si_starts"], new DateTimeZone("UTC"));
|
||||
$showStartDT->setTimezone(new DateTimeZone($this->timezone));
|
||||
$startsEpoch = floatval($showStartDT->format("U.u"));
|
||||
$showEndDT = new DateTime($p_item["si_ends"], new DateTimeZone("UTC"));
|
||||
$showEndDT = new DateTime($p_item["si_ends"], new DateTimeZone("UTC"));
|
||||
$showEndDT->setTimezone(new DateTimeZone($this->timezone));
|
||||
$endsEpoch = floatval($showEndDT->format("U.u"));
|
||||
|
||||
|
@ -188,8 +189,8 @@ class Application_Model_ShowBuilder
|
|||
$row["rebroadcast"] = true;
|
||||
|
||||
$parentInstance = CcShowInstancesQuery::create()->findPk($p_item["parent_show"]);
|
||||
$name = $parentInstance->getCcShow()->getDbName();
|
||||
$dt = $parentInstance->getDbStarts(null);
|
||||
$name = $parentInstance->getCcShow()->getDbName();
|
||||
$dt = $parentInstance->getDbStarts(null);
|
||||
$dt->setTimezone(new DateTimeZone($this->timezone));
|
||||
$time = $dt->format("Y-m-d H:i");
|
||||
|
||||
|
@ -198,8 +199,6 @@ class Application_Model_ShowBuilder
|
|||
$row["record"] = true;
|
||||
|
||||
if (Application_Model_Preference::GetUploadToSoundcloudOption()) {
|
||||
Logging::info('$p_item contains:');
|
||||
Logging::info($p_item);
|
||||
$file = Application_Model_StoredFile::Recall(
|
||||
$p_item['si_file_id']);
|
||||
if (isset($file)) {
|
||||
|
@ -242,9 +241,11 @@ class Application_Model_ShowBuilder
|
|||
|
||||
if (isset($p_item["sched_starts"])) {
|
||||
|
||||
$schedStartDT = new DateTime($p_item["sched_starts"], new DateTimeZone("UTC"));
|
||||
$schedStartDT = new DateTime($p_item["sched_starts"],
|
||||
new DateTimeZone("UTC"));
|
||||
$schedStartDT->setTimezone(new DateTimeZone($this->timezone));
|
||||
$schedEndDT = new DateTime($p_item["sched_ends"], new DateTimeZone("UTC"));
|
||||
$schedEndDT = new DateTime($p_item["sched_ends"],
|
||||
new DateTimeZone("UTC"));
|
||||
$schedEndDT->setTimezone(new DateTimeZone($this->timezone));
|
||||
$showEndDT = new DateTime($p_item["si_ends"], new DateTimeZone("UTC"));
|
||||
|
||||
|
@ -314,18 +315,18 @@ class Application_Model_ShowBuilder
|
|||
|
||||
private function makeFooterRow($p_item)
|
||||
{
|
||||
$row = $this->defaultRowArray;
|
||||
$row["footer"] = true;
|
||||
$row = $this->defaultRowArray;
|
||||
$row["footer"] = true;
|
||||
$row["instance"] = intval($p_item["si_id"]);
|
||||
$this->getRowTimestamp($p_item, $row);
|
||||
|
||||
$showEndDT = new DateTime($p_item["si_ends"], new DateTimeZone("UTC"));
|
||||
$contentDT = $this->contentDT;
|
||||
$showEndDT = new DateTime($p_item["si_ends"], new DateTimeZone("UTC"));
|
||||
$contentDT = $this->contentDT;
|
||||
|
||||
$runtime = bcsub($contentDT->format("U.u"), $showEndDT->format("U.u"), 6);
|
||||
$row["runtime"] = $runtime;
|
||||
$runtime = bcsub($contentDT->format("U.u"), $showEndDT->format("U.u"), 6);
|
||||
$row["runtime"] = $runtime;
|
||||
|
||||
$timeFilled = new TimeFilledFormatter($runtime);
|
||||
$timeFilled = new TimeFilledFormatter($runtime);
|
||||
$row["fRuntime"] = $timeFilled->format();
|
||||
|
||||
$showStartDT = new DateTime($p_item["si_starts"], new DateTimeZone("UTC"));
|
||||
|
@ -354,7 +355,8 @@ class Application_Model_ShowBuilder
|
|||
/*
|
||||
* @param int $timestamp Unix timestamp in seconds.
|
||||
*
|
||||
* @return boolean whether the schedule in the show builder's range has been updated.
|
||||
* @return boolean whether the schedule in the show builder's range has
|
||||
* been updated.
|
||||
*
|
||||
*/
|
||||
public function hasBeenUpdatedSince($timestamp, $instances)
|
||||
|
@ -378,23 +380,26 @@ class Application_Model_ShowBuilder
|
|||
$currentInstances[] = $show["instance_id"];
|
||||
|
||||
if (isset($show["last_scheduled"])) {
|
||||
$dt = new DateTime($show["last_scheduled"], new DateTimeZone("UTC"));
|
||||
$dt = new DateTime($show["last_scheduled"],
|
||||
new DateTimeZone("UTC"));
|
||||
} else {
|
||||
$dt = new DateTime($show["created"], new DateTimeZone("UTC"));
|
||||
$dt = new DateTime($show["created"],
|
||||
new DateTimeZone("UTC"));
|
||||
}
|
||||
|
||||
//check if any of the shows have a more recent timestamp.
|
||||
$showTimeStamp = intval($dt->format("U"));
|
||||
if ($timestamp < $showTimeStamp) {
|
||||
Logging::debug("timestamp is {$timestamp} show timestamp is {$showTimeStamp}");
|
||||
$outdated = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//see if the displayed show instances have changed. (deleted, empty schedule etc)
|
||||
if ($outdated === false && count($instances) !== count($currentInstances)) {
|
||||
//see if the displayed show instances have changed. (deleted,
|
||||
//empty schedule etc)
|
||||
if ($outdated === false && count($instances)
|
||||
!== count($currentInstances)) {
|
||||
Logging::debug("show instances have changed.");
|
||||
$outdated = true;
|
||||
}
|
||||
|
@ -415,14 +420,17 @@ class Application_Model_ShowBuilder
|
|||
$shows[] = $this->opts["showFilter"];
|
||||
}
|
||||
|
||||
$scheduled_items = Application_Model_Schedule::GetScheduleDetailItems($this->startDT->format("Y-m-d H:i:s"), $this->endDT->format("Y-m-d H:i:s"), $shows);
|
||||
$scheduled_items = Application_Model_Schedule::GetScheduleDetailItems(
|
||||
$this->startDT->format("Y-m-d H:i:s"), $this->endDT->format(
|
||||
"Y-m-d H:i:s"), $shows);
|
||||
|
||||
for ($i = 0, $rows = count($scheduled_items); $i < $rows; $i++) {
|
||||
|
||||
$item = $scheduled_items[$i];
|
||||
|
||||
//don't send back data for filler rows.
|
||||
if (isset($item["playout_status"]) && $item["playout_status"] < 0) {
|
||||
if (isset($item["playout_status"]) &&
|
||||
$item["playout_status"] < 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -431,8 +439,10 @@ class Application_Model_ShowBuilder
|
|||
|
||||
//make a footer row.
|
||||
if ($current_id !== -1) {
|
||||
//pass in the previous row as it's the last row for the previous show.
|
||||
$display_items[] = $this->makeFooterRow($scheduled_items[$i-1]);
|
||||
// pass in the previous row as it's the last row for
|
||||
// the previous show.
|
||||
$display_items[] = $this->makeFooterRow(
|
||||
$scheduled_items[$i-1]);
|
||||
}
|
||||
|
||||
$display_items[] = $this->makeHeaderRow($item);
|
||||
|
@ -449,7 +459,8 @@ class Application_Model_ShowBuilder
|
|||
$display_items[] = $row;
|
||||
}
|
||||
|
||||
if ($current_id !== -1 && !in_array($current_id, $this->showInstances)) {
|
||||
if ($current_id !== -1 &&
|
||||
!in_array($current_id, $this->showInstances)) {
|
||||
$this->showInstances[] = $current_id;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -590,9 +590,7 @@ SQL;
|
|||
$rebroad = new Application_Model_ShowInstance($rebroadcast->getDbId());
|
||||
$rebroad->addFileToShow($file_id, false);
|
||||
} catch (Exception $e) {
|
||||
Logging::info("{$e->getFile()}");
|
||||
Logging::info("{$e->getLine()}");
|
||||
Logging::info("{$e->getMessage()}");
|
||||
Logging::info($e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -399,6 +399,17 @@ SQL;
|
|||
$this->_file->save();
|
||||
}
|
||||
|
||||
|
||||
public function getRealFileExtension() {
|
||||
$path = $this->_file->getDbFilepath();
|
||||
$path_elements = explode('.', $path);
|
||||
if (count($path_elements) < 2) {
|
||||
return "";
|
||||
} else {
|
||||
return $path_elements[count($path_elements) - 1];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return suitable extension.
|
||||
*
|
||||
|
@ -407,9 +418,15 @@ SQL;
|
|||
*/
|
||||
public function getFileExtension()
|
||||
{
|
||||
return "";
|
||||
// TODO : what's the point of having this function? Can we not just use
|
||||
// the extension from the file_path column from cc_files?
|
||||
$possible_ext = $this->getRealFileExtension();
|
||||
if ($possible_ext !== "") {
|
||||
return $possible_ext;
|
||||
}
|
||||
|
||||
|
||||
// We fallback to guessing the extension from the mimetype if we
|
||||
// cannot extract it from the file name
|
||||
|
||||
$mime = $this->_file->getDbMime();
|
||||
|
||||
if ($mime == "audio/ogg" || $mime == "application/ogg") {
|
||||
|
|
|
@ -6,8 +6,11 @@ var AIRTIME = (function(AIRTIME) {
|
|||
}
|
||||
mod = AIRTIME.button;
|
||||
|
||||
mod.isDisabled = function(c) {
|
||||
mod.isDisabled = function(c, useParent) {
|
||||
var button = $("." + c);
|
||||
if (useParent) {
|
||||
button = button.parent();
|
||||
}
|
||||
|
||||
if (button.hasClass(DISABLED_CLASS)) {
|
||||
return true;
|
||||
|
@ -25,6 +28,7 @@ var AIRTIME = (function(AIRTIME) {
|
|||
|
||||
if (button.hasClass(DISABLED_CLASS)) {
|
||||
button.removeClass(DISABLED_CLASS);
|
||||
button.removeAttr('disabled');
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -37,6 +41,7 @@ var AIRTIME = (function(AIRTIME) {
|
|||
|
||||
if (!button.hasClass(DISABLED_CLASS)) {
|
||||
button.addClass(DISABLED_CLASS);
|
||||
button.attr('disabled', 'disabled');
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -16,10 +16,21 @@ var AIRTIME = (function(AIRTIME) {
|
|||
}
|
||||
|
||||
if (check === true) {
|
||||
AIRTIME.button.enableButton("btn-group #library-plus", true);
|
||||
AIRTIME.button.enableButton("btn-group #library-plus", false);
|
||||
} else {
|
||||
AIRTIME.button.disableButton("btn-group #library-plus", true);
|
||||
AIRTIME.button.disableButton("btn-group #library-plus", false);
|
||||
}
|
||||
|
||||
var objType = $('#obj_type').val(),
|
||||
btnText;
|
||||
if (objType === 'playlist') {
|
||||
btnText = ' Add to current playlist';
|
||||
} else if (objType === 'block') {
|
||||
btnText = ' Add to current smart block';
|
||||
} else {
|
||||
btnText = ' Add to current playlist';
|
||||
}
|
||||
AIRTIME.library.changeAddButtonText($('.btn-group #library-plus #lib-plus-text'), btnText);
|
||||
};
|
||||
|
||||
mod.fnRowCallback = function(nRow, aData, iDisplayIndex, iDisplayIndexFull) {
|
||||
|
|
|
@ -16,10 +16,12 @@ var AIRTIME = (function(AIRTIME) {
|
|||
}
|
||||
|
||||
if (check === true) {
|
||||
AIRTIME.button.enableButton("btn-group #library-plus", true);
|
||||
AIRTIME.button.enableButton("btn-group #library-plus", false);
|
||||
} else {
|
||||
AIRTIME.button.disableButton("btn-group #library-plus", true);
|
||||
AIRTIME.button.disableButton("btn-group #library-plus", false);
|
||||
}
|
||||
|
||||
AIRTIME.library.changeAddButtonText($('.btn-group #library-plus #lib-plus-text'), ' Add to selected show');
|
||||
};
|
||||
|
||||
mod.fnRowCallback = function(nRow, aData, iDisplayIndex, iDisplayIndexFull) {
|
||||
|
|
|
@ -98,6 +98,10 @@ var AIRTIME = (function(AIRTIME) {
|
|||
return count;
|
||||
};
|
||||
|
||||
mod.changeAddButtonText = function($button, btnText) {
|
||||
$button.text(btnText);
|
||||
}
|
||||
|
||||
mod.createToolbarButtons = function() {
|
||||
$menu = $("<div class='btn-toolbar' />");
|
||||
$menu
|
||||
|
@ -113,7 +117,8 @@ var AIRTIME = (function(AIRTIME) {
|
|||
"</div>")
|
||||
.append("<div class='btn-group'>" +
|
||||
"<button class='btn btn-small' id='library-plus'>" +
|
||||
"<i class='icon-white icon-plus'></i> Add to current playlist" +
|
||||
"<i class='icon-white icon-plus'></i>" +
|
||||
"<span id='lib-plus-text'></span>" +
|
||||
"</button>" +
|
||||
"</div>")
|
||||
.append("<div class='btn-group'>" +
|
||||
|
@ -138,10 +143,10 @@ var AIRTIME = (function(AIRTIME) {
|
|||
}
|
||||
|
||||
if (check === true) {
|
||||
AIRTIME.button.enableButton("btn-group #sb-trash", true);
|
||||
AIRTIME.button.enableButton("btn-group #sb-trash", false);
|
||||
}
|
||||
else {
|
||||
AIRTIME.button.disableButton("btn-group #sb-trash", true);
|
||||
AIRTIME.button.disableButton("btn-group #sb-trash", false);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -66,10 +66,10 @@ var AIRTIME = (function(AIRTIME){
|
|||
var $selectable = $sbTable.find("tbody").find("input:checkbox");
|
||||
|
||||
if ($selectable.length !== 0) {
|
||||
AIRTIME.button.enableButton("btn-group #timeline-select", true);
|
||||
AIRTIME.button.enableButton("btn-group #timeline-select", false);
|
||||
}
|
||||
else {
|
||||
AIRTIME.button.disableButton("btn-group #timeline-select", true);
|
||||
AIRTIME.button.disableButton("btn-group #timeline-select", false);
|
||||
}
|
||||
|
||||
//need to check if the 'Select' button is disabled
|
||||
|
@ -962,16 +962,16 @@ var AIRTIME = (function(AIRTIME){
|
|||
"</ul>" +
|
||||
"</div>")
|
||||
.append("<div class='btn-group'>" +
|
||||
"<button title='Remove overbooked tracks' class='ui-state-disabled btn btn-small'>" +
|
||||
"<button title='Remove overbooked tracks' class='ui-state-disabled btn btn-small' disabled='disabled'>" +
|
||||
"<i class='icon-white icon-cut'></i></button></div>")
|
||||
.append("<div class='btn-group'>" +
|
||||
"<button title='Remove selected scheduled items' class='ui-state-disabled btn btn-small'>" +
|
||||
"<button title='Remove selected scheduled items' class='ui-state-disabled btn btn-small' disabled='disabled'>" +
|
||||
"<i class='icon-white icon-trash'></i></button></div>")
|
||||
.append("<div class='btn-group'>" +
|
||||
"<button title='Jump to the current playing track' class='ui-state-disabled btn btn-small'>" +
|
||||
"<button title='Jump to the current playing track' class='ui-state-disabled btn btn-small' disabled='disabled'>" +
|
||||
"<i class='icon-white icon-step-forward'></i></button></div>")
|
||||
.append("<div class='btn-group'>" +
|
||||
"<button title='Cancel current show' class='ui-state-disabled btn btn-small btn-danger'>" +
|
||||
"<button title='Cancel current show' class='ui-state-disabled btn btn-small btn-danger' disabled='disabled'>" +
|
||||
"<i class='icon-white icon-ban-circle'></i></button></div>");
|
||||
|
||||
$toolbar.append($menu);
|
||||
|
@ -987,7 +987,7 @@ var AIRTIME = (function(AIRTIME){
|
|||
data,
|
||||
msg = 'Cancel Current Show?';
|
||||
|
||||
if (AIRTIME.button.isDisabled('icon-ban-circle') === true) {
|
||||
if (AIRTIME.button.isDisabled('icon-ban-circle', true) === true) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1018,7 +1018,7 @@ var AIRTIME = (function(AIRTIME){
|
|||
$toolbar.find('.icon-step-forward').parent()
|
||||
.click(function() {
|
||||
|
||||
if (AIRTIME.button.isDisabled('icon-step-forward') === true) {
|
||||
if (AIRTIME.button.isDisabled('icon-step-forward', true) === true) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1032,10 +1032,10 @@ var AIRTIME = (function(AIRTIME){
|
|||
});
|
||||
|
||||
//delete overbooked tracks.
|
||||
$toolbar.find('.icon-cut').parent()
|
||||
$toolbar.find('.icon-cut', true).parent()
|
||||
.click(function() {
|
||||
|
||||
if (AIRTIME.button.isDisabled('icon-cut') === true) {
|
||||
if (AIRTIME.button.isDisabled('icon-cut', true) === true) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1055,7 +1055,7 @@ var AIRTIME = (function(AIRTIME){
|
|||
$toolbar.find('.icon-trash').parent()
|
||||
.click(function() {
|
||||
|
||||
if (AIRTIME.button.isDisabled('icon-trash') === true) {
|
||||
if (AIRTIME.button.isDisabled('icon-trash', true) === true) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1083,17 +1083,18 @@ var AIRTIME = (function(AIRTIME){
|
|||
});
|
||||
|
||||
/*
|
||||
* Icon hover states in the toolbar.
|
||||
* Select button dropdown state in the toolbar.
|
||||
* The button has to be disabled to prevent the dropdown
|
||||
* from opening
|
||||
*/
|
||||
$sbContent.on("mouseenter", ".btn-group #timeline-select", function(ev) {
|
||||
$el = $(this).parent(),
|
||||
$ch = $el.children('#timeline-select');
|
||||
$el = $(this);
|
||||
|
||||
if ($el.hasClass("ui-state-disabled")) {
|
||||
$ch.attr("disabled", "disabled");
|
||||
$el.attr("disabled", "disabled");
|
||||
}
|
||||
else {
|
||||
$ch.removeAttr("disabled");
|
||||
$el.removeAttr("disabled");
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ airtime2mutagen = {
|
|||
"MDATA_KEY_MOOD" : "mood",
|
||||
"MDATA_KEY_TRACKNUMBER" : "tracknumber",
|
||||
"MDATA_KEY_BPM" : "bpm",
|
||||
"MDATA_KEY_LABEL" : "organization",
|
||||
"MDATA_KEY_LABEL" : "label",
|
||||
"MDATA_KEY_COMPOSER" : "composer",
|
||||
"MDATA_KEY_ENCODER" : "encodedby",
|
||||
"MDATA_KEY_CONDUCTOR" : "conductor",
|
||||
|
|
Loading…
Reference in New Issue