From 3df0f2d26e605716ef9a5a17f9263e417b26eacf Mon Sep 17 00:00:00 2001 From: denise Date: Thu, 26 Jul 2012 12:45:31 -0400 Subject: [PATCH 01/16] CC-84: Smart Playlists - added 'add' option to smart playlist context menu --- airtime_mvc/application/controllers/LibraryController.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/airtime_mvc/application/controllers/LibraryController.php b/airtime_mvc/application/controllers/LibraryController.php index fe783d953..159c5a6b3 100644 --- a/airtime_mvc/application/controllers/LibraryController.php +++ b/airtime_mvc/application/controllers/LibraryController.php @@ -72,6 +72,9 @@ class LibraryController extends Zend_Controller_Action $obj = new Application_Model_Playlist($id); } else { $obj = new Application_Model_Block($id); + if ($isAdminOrPM || $obj->getCreatorId() == $user->getId()) { + $menu["pl_add"] = array("name"=> "Add to ".ucfirst($this->obj_sess->type), "icon" => "add-playlist", "icon" => "copy"); + } } if ($this->obj_sess->id !== $id && $screen == "playlist") { From a828c46d32f9f97e3787fd77266ea1793b312f0c Mon Sep 17 00:00:00 2001 From: denise Date: Thu, 26 Jul 2012 13:16:29 -0400 Subject: [PATCH 02/16] CC-84: Smart Playlists - changed name of 'block' to 'smart playlist' on UI only --- .../application/controllers/LibraryController.php | 12 ++++++++++-- .../application/controllers/PlaylistController.php | 2 +- airtime_mvc/public/js/airtime/library/library.js | 6 +----- airtime_mvc/public/js/airtime/library/spl.js | 2 +- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/airtime_mvc/application/controllers/LibraryController.php b/airtime_mvc/application/controllers/LibraryController.php index 159c5a6b3..8f5a97a8c 100644 --- a/airtime_mvc/application/controllers/LibraryController.php +++ b/airtime_mvc/application/controllers/LibraryController.php @@ -57,7 +57,11 @@ class LibraryController extends Zend_Controller_Action $obj = new Application_Model_Block($this->obj_sess->id); } if ($isAdminOrPM || $obj->getCreatorId() == $user->getId()) { - $menu["pl_add"] = array("name"=> "Add to ".ucfirst($this->obj_sess->type), "icon" => "add-playlist", "icon" => "copy"); + if ($this->obj_sess->type === "playlist") { + $menu["pl_add"] = array("name"=> "Add to Playlist", "icon" => "add-playlist", "icon" => "copy"); + } else { + $menu["pl_add"] = array("name"=> "Add to Smart Playlist", "icon" => "add-playlist", "icon" => "copy"); + } } } if ($isAdminOrPM) { @@ -73,7 +77,11 @@ class LibraryController extends Zend_Controller_Action } else { $obj = new Application_Model_Block($id); if ($isAdminOrPM || $obj->getCreatorId() == $user->getId()) { - $menu["pl_add"] = array("name"=> "Add to ".ucfirst($this->obj_sess->type), "icon" => "add-playlist", "icon" => "copy"); + if ($this->obj_sess->type === "playlist") { + $menu["pl_add"] = array("name"=> "Add to Playlist", "icon" => "add-playlist", "icon" => "copy"); + } else { + $menu["pl_add"] = array("name"=> "Add to Smart Playlist", "icon" => "add-playlist", "icon" => "copy"); + } } } diff --git a/airtime_mvc/application/controllers/PlaylistController.php b/airtime_mvc/application/controllers/PlaylistController.php index abac5d840..570f35326 100644 --- a/airtime_mvc/application/controllers/PlaylistController.php +++ b/airtime_mvc/application/controllers/PlaylistController.php @@ -219,7 +219,7 @@ class PlaylistController extends Zend_Controller_Action $name = 'Untitled Playlist'; if ($type == 'block') { - $name = 'Untitled Smart Block'; + $name = 'Untitled Smart Playlist'; } $obj = new $objInfo['className'](); diff --git a/airtime_mvc/public/js/airtime/library/library.js b/airtime_mvc/public/js/airtime/library/library.js index b2c890795..d64fa26de 100644 --- a/airtime_mvc/public/js/airtime/library/library.js +++ b/airtime_mvc/public/js/airtime/library/library.js @@ -614,11 +614,7 @@ var AIRTIME = (function(AIRTIME) { } else { callback = function() { - if (data.ftype === "playlist") { - AIRTIME.playlist.fnEdit(data.id, 'playlist'); - } else { - AIRTIME.playlist.fnEdit(data.id, 'block'); - } + AIRTIME.playlist.fnEdit(data.id, data.ftype); }; } oItems.edit.callback = callback; diff --git a/airtime_mvc/public/js/airtime/library/spl.js b/airtime_mvc/public/js/airtime/library/spl.js index f270a305b..a394b6e14 100644 --- a/airtime_mvc/public/js/airtime/library/spl.js +++ b/airtime_mvc/public/js/airtime/library/spl.js @@ -759,7 +759,7 @@ var AIRTIME = (function(AIRTIME){ ignoreRightClick: true, items: { "sp": {name: "New Playlist", callback: AIRTIME.playlist.fnNew}, - "sb": {name: "New Smart Block", callback: AIRTIME.playlist.fnNewBlock} + "sb": {name: "New Smart Playlist", callback: AIRTIME.playlist.fnNewBlock} } }); /* From 3f41835e12426d1fee91c59613ab6145ba95bb33 Mon Sep 17 00:00:00 2001 From: Martin Konecny Date: Thu, 26 Jul 2012 14:36:21 -0400 Subject: [PATCH 03/16] re-add getCurrentShowAction --- .../application/controllers/ScheduleController.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/airtime_mvc/application/controllers/ScheduleController.php b/airtime_mvc/application/controllers/ScheduleController.php index af79d24ce..653fdf1e4 100644 --- a/airtime_mvc/application/controllers/ScheduleController.php +++ b/airtime_mvc/application/controllers/ScheduleController.php @@ -117,6 +117,17 @@ class ScheduleController extends Zend_Controller_Action $events = &Application_Model_Show::getFullCalendarEvents($start, $end, $editable); $this->view->events = $events; } + + public function getCurrentShowAction() + { + $currentShow = Application_Model_Show::GetCurrentShow(); + if (!empty($currentShow)) { + $this->view->si_id = $currentShow[0]["instance_id"]; + $this->view->current_show = true; + } else { + $this->view->current_show = false; + } + } public function moveShowAction() { From 2ad7e78e10026a426a854bc754f324dbcd727718 Mon Sep 17 00:00:00 2001 From: Martin Konecny Date: Tue, 17 Jul 2012 16:00:13 -0400 Subject: [PATCH 04/16] CC-1665: Scheduled stream rebroadcasting and recording -initial prototype --- .../generate_liquidsoap_cfg.py | 5 +- .../pypo/liquidsoap_scripts/ls_lib.liq | 77 +++++++++++++++++++ .../pypo/liquidsoap_scripts/ls_script.liq | 35 ++++++--- 3 files changed, 104 insertions(+), 13 deletions(-) diff --git a/python_apps/pypo/liquidsoap_scripts/generate_liquidsoap_cfg.py b/python_apps/pypo/liquidsoap_scripts/generate_liquidsoap_cfg.py index 2ecda5aca..20d99976f 100644 --- a/python_apps/pypo/liquidsoap_scripts/generate_liquidsoap_cfg.py +++ b/python_apps/pypo/liquidsoap_scripts/generate_liquidsoap_cfg.py @@ -8,18 +8,19 @@ def generate_liquidsoap_config(ss): fh.write("################################################\n") fh.write("# THIS FILE IS AUTO GENERATED. DO NOT CHANGE!! #\n") fh.write("################################################\n") - for d in data: + for d in data: key = d['keyname'] str_buffer = d[u'keyname'] + " = " - if(d[u'type'] == 'string'): + if d[u'type'] == 'string': val = '"%s"' % d['value'] else: val = d[u'value'] val = val if len(val) > 0 else "0" str_buffer = "%s = %s\n" % (key, val) fh.write(str_buffer.encode('utf-8')) + fh.write('log_file = "/var/log/airtime/pypo-liquidsoap/