diff --git a/CREDITS b/CREDITS index 7bcb234b6..745ae324b 100644 --- a/CREDITS +++ b/CREDITS @@ -1,6 +1,10 @@ ======= CREDITS ======= +Version 1.9.4 +------------- +Same as previous version. + Version 1.9.3 ------------- Same as previous version. diff --git a/Changelog b/Changelog index a0adf814f..b22e92dbe 100644 --- a/Changelog +++ b/Changelog @@ -1,10 +1,24 @@ +1.9.4 - Sept 13, 2011 + *Improvements + -"airtime-import" command-line utility now offers better help when invalid parameters have + been passed. + *Fixes + -Fixed "Show Contents" displaying full-length of tracks, even if cue-points had been set. + -Fixed start date of show not updating after dragging and dropping. + -Fixed audio preview still playing after deleting a file in the Playlist Builder. + -Fixed uploads via the web-interface while using Internet Explorer failing when tracks contained "+" or + whitespace characters. + -Fixed issue where deleting a file from the Playlist Builder wouldn't always refresh the list to + remove the file. + -Fixed issue where upgrading from any previous Airtime would set "Toronto/America" as the default timezone + 1.9.3 - August 26th, 2011 *Improvements -It is now possible to upgrade your system while a show is playing. Playout will be temporarily interrupted for about 5-10 seconds and then playout will resume. Previously playout would not resume until the next scheduled show. - *fixes + *Fixes -Fixed bug where playout system did not work with mono files. -Fixed bug where sometimes audio files could be played out of order. diff --git a/airtime_mvc/library/php-amqplib/demo/amqp_consumer.php b/airtime_mvc/library/php-amqplib/demo/amqp_consumer.php index c3d0e085d..188fbc844 100755 --- a/airtime_mvc/library/php-amqplib/demo/amqp_consumer.php +++ b/airtime_mvc/library/php-amqplib/demo/amqp_consumer.php @@ -14,7 +14,7 @@ $PORT = 5672; $USER = 'guest'; $PASS = 'guest'; $VHOST = '/'; -$EXCHANGE = 'router'; +$EXCHANGE = 'airtime-schedule'; $QUEUE = 'msgs'; $CONSUMER_TAG = 'consumer'; @@ -23,7 +23,7 @@ $ch = $conn->channel(); $ch->access_request($VHOST, false, false, true, true); $ch->queue_declare($QUEUE); -$ch->exchange_declare($EXCHANGE, 'direct', false, false, false); +$ch->exchange_declare($EXCHANGE, 'direct', false, true); $ch->queue_bind($QUEUE, $EXCHANGE); function process_message($msg) { diff --git a/airtime_mvc/library/php-amqplib/demo/amqp_publisher.php b/airtime_mvc/library/php-amqplib/demo/amqp_publisher.php index 318ee5914..681df9fe8 100755 --- a/airtime_mvc/library/php-amqplib/demo/amqp_publisher.php +++ b/airtime_mvc/library/php-amqplib/demo/amqp_publisher.php @@ -13,15 +13,16 @@ $PORT = 5672; $USER = 'guest'; $PASS = 'guest'; $VHOST = '/'; -$EXCHANGE = 'router'; +$EXCHANGE = 'airtime-schedule'; $QUEUE = 'msgs'; $conn = new AMQPConnection($HOST, $PORT, $USER, $PASS); $ch = $conn->channel(); $ch->access_request($VHOST, false, false, true, true); -$ch->exchange_declare($EXCHANGE, 'direct', false, false, false); +$ch->exchange_declare($EXCHANGE, 'direct', false, true); -$msg_body = implode(' ', array_slice($argv, 1)); +$msg_body = json_encode(array("event_type"=>"get_status", "id"=>time())); +//$msg_body = '{"schedule":{"status":{"range":{"start":"2011-09-12 20:45:22","end":"2011-09-13 20:45:22"},"version":"1.1"},"playlists":[],"check":1,"stream_metadata":{"format":"","station_name":""}},"event_type":"update_schedule"}'; $msg = new AMQPMessage($msg_body, array('content_type' => 'text/plain')); $ch->basic_publish($msg, $EXCHANGE); @@ -29,4 +30,5 @@ $ch->basic_publish($msg, $EXCHANGE); echo "Sent message '".$msg_body."'\n"; $ch->close(); $conn->close(); + ?> diff --git a/install_full/ubuntu/airtime-full-install b/install_full/ubuntu/airtime-full-install index 9c6800ac1..6e61a68de 100755 --- a/install_full/ubuntu/airtime-full-install +++ b/install_full/ubuntu/airtime-full-install @@ -7,8 +7,7 @@ exec > >(tee install_log.txt) exec 2>&1 if [ "$(id -u)" != "0" ]; then - echo "You need admin previlege to run this script" - echo "Syntaxe: sudo $0" + echo "You need root privileges to run this script" exit 1 fi @@ -24,10 +23,10 @@ echo " 1. Install Packages" echo "----------------------------------------------------" # Updated package list -sudo apt-get -y install tar gzip curl apache2 php5-pgsql libapache2-mod-php5 \ +apt-get -y install tar gzip curl apache2 php5-pgsql libapache2-mod-php5 \ php-pear php5-gd postgresql odbc-postgresql python2.6 lame libsoundtouch-ocaml \ libvorbis-ocaml-dev libmp3lame-dev libtaglib-ocaml libao-ocaml libmad-ocaml \ -libesd0 icecast2 sudo libportaudio2 libsamplerate0 libcamomile-ocaml-dev \ +libesd0 icecast2 libportaudio2 libsamplerate0 libcamomile-ocaml-dev \ ecasound php5-curl mpg123 rabbitmq-server monit python-virtualenv if [ "$?" -ne "0" ]; then @@ -38,19 +37,19 @@ if [ "$?" -ne "0" ]; then fi # Install phing -sudo pear channel-discover pear.phing.info -sudo pear install phing/phing-2.4.2 +pear channel-discover pear.phing.info +pear install phing/phing-2.4.2 # Apache Config File echo "----------------------------------------------------" echo "2. Apache Config File" echo "----------------------------------------------------" if [ ! -f /etc/apache2/sites-available/airtime ]; then - sudo cp $SCRIPTPATH/../apache/airtime-vhost /etc/apache2/sites-available/airtime - sudo rm -rf /etc/apache2/sites-enabled/000-default - sudo ln -s /etc/apache2/sites-available/airtime /etc/apache2/sites-enabled/airtime - sudo a2enmod rewrite php5 - sudo service apache2 restart + cp $SCRIPTPATH/../apache/airtime-vhost /etc/apache2/sites-available/airtime + rm -rf /etc/apache2/sites-enabled/000-default + ln -s /etc/apache2/sites-available/airtime /etc/apache2/sites-enabled/airtime + a2enmod rewrite php5 + service apache2 restart else echo "Apache config for Airtime already exists..." fi @@ -60,8 +59,8 @@ echo "----------------------------------------------------" echo "3. Enable Icecast" echo "----------------------------------------------------" cd /etc/default/ -sudo sed -i 's/ENABLE=false/ENABLE=true/g' icecast2 -sudo service icecast2 start +sed -i 's/ENABLE=false/ENABLE=true/g' icecast2 +service icecast2 start echo "" # Enable Monit @@ -69,22 +68,22 @@ echo "----------------------------------------------------" echo "4. Enable Monit" echo "----------------------------------------------------" cd /etc/default/ -sudo sed -i 's/startup=0/startup=1/g' monit -sudo cp $SCRIPTPATH/../../python_apps/monit/airtime-monit.cfg /etc/monit/conf.d +sed -i 's/startup=0/startup=1/g' monit +cp $SCRIPTPATH/../../python_apps/monit/airtime-monit.cfg /etc/monit/conf.d grep -q "include /etc/monit/conf.d" /etc/monit/monitrc RETVAL=$? if [ $RETVAL -ne 0 ] ; then - sudo echo "include /etc/monit/conf.d/*" >> /etc/monit/monitrc + echo "include /etc/monit/conf.d/*" >> /etc/monit/monitrc fi -sudo service monit start +service monit start # Run Airtime Install echo "----------------------------------------------------" echo "5. Run Airtime Install" echo "----------------------------------------------------" cd $SCRIPTPATH/../../install_minimal -sudo ./airtime-install +./airtime-install diff --git a/install_minimal/airtime-install b/install_minimal/airtime-install index 0fd1aace0..be37b3dce 100755 --- a/install_minimal/airtime-install +++ b/install_minimal/airtime-install @@ -27,18 +27,18 @@ if [ ! -d "$VIRTUAL_ENV_DIR" ]; then set -e if [ $EXTRAOPTION -eq "0" ]; then - sudo virtualenv --extra-search-dir=${SCRIPTPATH}/3rd_party --no-site-package -p /usr/bin/python2.6 /usr/lib/airtime/airtime_virtualenv + virtualenv --extra-search-dir=${SCRIPTPATH}/3rd_party --no-site-package -p /usr/bin/python2.6 /usr/lib/airtime/airtime_virtualenv else # copy distribute-0.6.10.tar.gz to /usr/share/python-virtualenv/ # this is due to the bug in virtualenv 1.4.9 if [ -d "$VIRTUAL_ENV_SHARE" ]; then cp ${SCRIPTPATH}/3rd_party/distribute-0.6.10.tar.gz /usr/share/python-virtualenv/ fi - sudo virtualenv --no-site-package -p /usr/bin/python2.6 /usr/lib/airtime/airtime_virtualenv + virtualenv --no-site-package -p /usr/bin/python2.6 /usr/lib/airtime/airtime_virtualenv fi echo -e "\n*** Installing Python Libraries ***" - sudo /usr/lib/airtime/airtime_virtualenv/bin/pip install ${SCRIPTPATH}/airtime_virtual_env.pybundle -E /usr/lib/airtime/airtime_virtualenv + /usr/lib/airtime/airtime_virtualenv/bin/pip install ${SCRIPTPATH}/airtime_virtual_env.pybundle -E /usr/lib/airtime/airtime_virtualenv echo -e "\n*** Patching Python Libraries ***" PACHES=${SCRIPTPATH}/patches/* @@ -47,7 +47,7 @@ if [ ! -d "$VIRTUAL_ENV_DIR" ]; then DIRNAME=$(basename $file) echo -e "\n ---Applying Patches for $DIRNAME---" else - sudo patch -N -p0 -i $file + patch -N -p0 -i $file fi done else diff --git a/install_minimal/include/AirtimeInstall.php b/install_minimal/include/AirtimeInstall.php index 5bce8ff37..fd03eab10 100644 --- a/install_minimal/include/AirtimeInstall.php +++ b/install_minimal/include/AirtimeInstall.php @@ -353,6 +353,7 @@ class AirtimeInstall exec("rm -f /usr/bin/airtime-update-db-settings"); exec("rm -f /usr/bin/airtime-check-system"); exec("rm -f /usr/bin/airtime-user"); + exec("rm -f /usr/bin/airtime-clean-storage "); } public static function InstallPhpCode() diff --git a/install_minimal/upgrades/airtime-1.9.0/airtime-monit.cfg.190 b/install_minimal/upgrades/airtime-1.9.0/airtime-monit.cfg.190 index 22f05e2ca..647fffd10 100644 --- a/install_minimal/upgrades/airtime-1.9.0/airtime-monit.cfg.190 +++ b/install_minimal/upgrades/airtime-1.9.0/airtime-monit.cfg.190 @@ -13,10 +13,10 @@ with pidfile "/var/run/airtime-liquidsoap.pid" start program = "/etc/init.d/airtime-playout start" with timeout 10 seconds stop program = "/etc/init.d/airtime-playout stop" -# check process airtime-media-monitor -# with pidfile "/var/run/airtime-media-monitor.pid" -# start program = "/etc/init.d/airtime-media-monitor start" with timeout 10 seconds -# stop program = "/etc/init.d/airtime-media-monitor stop" + check process airtime-media-monitor + with pidfile "/var/run/airtime-media-monitor.pid" + start program = "/etc/init.d/airtime-media-monitor start" with timeout 10 seconds + stop program = "/etc/init.d/airtime-media-monitor stop" check process airtime-show-recorder with pidfile "/var/run/airtime-show-recorder.pid" start program = "/etc/init.d/airtime-show-recorder start" with timeout 10 seconds diff --git a/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php b/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php index dbea4cf03..6f1843572 100644 --- a/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php +++ b/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php @@ -67,6 +67,7 @@ class AirtimeInstall{ exec("rm -f /usr/bin/airtime-update-db-settings"); exec("rm -f /usr/bin/airtime-check-system"); exec("rm -f /usr/bin/airtime-user"); + exec("rm -f /usr/bin/airtime-clean-storage "); } public static function DbTableExists($p_name) diff --git a/install_minimal/upgrades/airtime-1.9.2/airtime-monit.cfg.192 b/install_minimal/upgrades/airtime-1.9.2/airtime-monit.cfg.192 index 22f05e2ca..647fffd10 100644 --- a/install_minimal/upgrades/airtime-1.9.2/airtime-monit.cfg.192 +++ b/install_minimal/upgrades/airtime-1.9.2/airtime-monit.cfg.192 @@ -13,10 +13,10 @@ with pidfile "/var/run/airtime-liquidsoap.pid" start program = "/etc/init.d/airtime-playout start" with timeout 10 seconds stop program = "/etc/init.d/airtime-playout stop" -# check process airtime-media-monitor -# with pidfile "/var/run/airtime-media-monitor.pid" -# start program = "/etc/init.d/airtime-media-monitor start" with timeout 10 seconds -# stop program = "/etc/init.d/airtime-media-monitor stop" + check process airtime-media-monitor + with pidfile "/var/run/airtime-media-monitor.pid" + start program = "/etc/init.d/airtime-media-monitor start" with timeout 10 seconds + stop program = "/etc/init.d/airtime-media-monitor stop" check process airtime-show-recorder with pidfile "/var/run/airtime-show-recorder.pid" start program = "/etc/init.d/airtime-show-recorder start" with timeout 10 seconds diff --git a/install_minimal/upgrades/airtime-1.9.2/airtime-upgrade.php b/install_minimal/upgrades/airtime-1.9.2/airtime-upgrade.php index 1e38b54b9..3aee0d168 100644 --- a/install_minimal/upgrades/airtime-1.9.2/airtime-upgrade.php +++ b/install_minimal/upgrades/airtime-1.9.2/airtime-upgrade.php @@ -1,4 +1,5 @@ \ No newline at end of file diff --git a/install_minimal/upgrades/airtime-1.9.3/airtime-upgrade.php b/install_minimal/upgrades/airtime-1.9.3/airtime-upgrade.php index 210a4b63f..d1de0f3d2 100644 --- a/install_minimal/upgrades/airtime-1.9.3/airtime-upgrade.php +++ b/install_minimal/upgrades/airtime-1.9.3/airtime-upgrade.php @@ -1,4 +1,5 @@ \ No newline at end of file diff --git a/install_minimal/upgrades/airtime-1.9.4/airtime-monit.cfg.194 b/install_minimal/upgrades/airtime-1.9.4/airtime-monit.cfg.194 new file mode 100644 index 000000000..647fffd10 --- /dev/null +++ b/install_minimal/upgrades/airtime-1.9.4/airtime-monit.cfg.194 @@ -0,0 +1,23 @@ + set daemon 10 # Poll at 10 second intervals + set logfile syslog facility log_daemon + + set httpd port 2812 and use address 127.0.0.1 + allow localhost + allow admin:monit + + check process airtime-playout + with pidfile "/var/run/airtime-playout.pid" + start program = "/etc/init.d/airtime-playout start" with timeout 10 seconds + stop program = "/etc/init.d/airtime-playout stop" + check process airtime-liquidsoap + with pidfile "/var/run/airtime-liquidsoap.pid" + start program = "/etc/init.d/airtime-playout start" with timeout 10 seconds + stop program = "/etc/init.d/airtime-playout stop" + check process airtime-media-monitor + with pidfile "/var/run/airtime-media-monitor.pid" + start program = "/etc/init.d/airtime-media-monitor start" with timeout 10 seconds + stop program = "/etc/init.d/airtime-media-monitor stop" + check process airtime-show-recorder + with pidfile "/var/run/airtime-show-recorder.pid" + start program = "/etc/init.d/airtime-show-recorder start" with timeout 10 seconds + stop program = "/etc/init.d/airtime-show-recorder stop" diff --git a/install_minimal/upgrades/airtime-1.9.4/airtime-upgrade.php b/install_minimal/upgrades/airtime-1.9.4/airtime-upgrade.php index 888b0a7f9..714ff4461 100644 --- a/install_minimal/upgrades/airtime-1.9.4/airtime-upgrade.php +++ b/install_minimal/upgrades/airtime-1.9.4/airtime-upgrade.php @@ -1,15 +1,233 @@ $buffer){ + if (substr($buffer, 0, strlen($key)) == $key){ + $output[] = "$key \"$timezone\"".PHP_EOL; + } else { + $output[] = $buffer; + } + } else { + $output[] = $buffer; + } + } + if (!feof($handle)) { + echo "Error: unexpected fgets() fail\n"; + } + fclose($handle); + } else { + echo "Could not open $file"; + } + + $handle = @fopen($file, 'w'); + if ($handle) { + foreach ($output as $line){ + fwrite($handle, $line); + } + fclose($handle); + } else { + echo "Could not open $file"; + } + } } +class AirtimeIni194{ + + const CONF_FILE_AIRTIME = "/etc/airtime/airtime.conf"; + const CONF_FILE_PYPO = "/etc/airtime/pypo.cfg"; + const CONF_FILE_RECORDER = "/etc/airtime/recorder.cfg"; + const CONF_FILE_LIQUIDSOAP = "/etc/airtime/liquidsoap.cfg"; + const CONF_FILE_MEDIAMONITOR = "/etc/airtime/media-monitor.cfg"; + const CONF_FILE_API_CLIENT = "/etc/airtime/api_client.cfg"; + const CONF_FILE_MONIT = "/etc/monit/conf.d/airtime-monit.cfg"; + + /** + * This function updates an INI style config file. + * + * A property and the value the property should be changed to are + * supplied. If the property is not found, then no changes are made. + * + * @param string $p_filename + * The path the to the file. + * @param string $p_property + * The property to look for in order to change its value. + * @param string $p_value + * The value the property should be changed to. + * + */ + public static function UpdateIniValue($p_filename, $p_property, $p_value) + { + $lines = file($p_filename); + $n=count($lines); + foreach ($lines as &$line) { + if ($line[0] != "#"){ + $key_value = explode("=", $line); + $key = trim($key_value[0]); + + if ($key == $p_property){ + $line = "$p_property = $p_value".PHP_EOL; + } + } + } + + $fp=fopen($p_filename, 'w'); + for($i=0; $i<$n; $i++){ + fwrite($fp, $lines[$i]); + } + fclose($fp); + } + + public static function ReadPythonConfig($p_filename) + { + $values = array(); + + $lines = file($p_filename); + $n=count($lines); + for ($i=0; $i<$n; $i++) { + if (strlen($lines[$i]) && !in_array(substr($lines[$i], 0, 1), array('#', PHP_EOL))){ + $info = explode("=", $lines[$i]); + $values[trim($info[0])] = trim($info[1]); + } + } + + return $values; + } + + public static function MergeConfigFiles($configFiles, $suffix) { + foreach ($configFiles as $conf) { + if (file_exists("$conf$suffix.bak")) { + + if($conf === AirtimeIni194::CONF_FILE_AIRTIME) { + // Parse with sections + $newSettings = parse_ini_file($conf, true); + $oldSettings = parse_ini_file("$conf$suffix.bak", true); + } + else { + $newSettings = AirtimeIni194::ReadPythonConfig($conf); + $oldSettings = AirtimeIni194::ReadPythonConfig("$conf$suffix.bak"); + } + + $settings = array_keys($newSettings); + + foreach($settings as $section) { + // skip airtim_dir as we want to use new value + if(isset($oldSettings[$section])) { + if(is_array($oldSettings[$section])) { + $sectionKeys = array_keys($newSettings[$section]); + foreach($sectionKeys as $sectionKey) { + if($sectionKey != "airtime_dir"){ + if(isset($oldSettings[$section][$sectionKey])) { + AirtimeIni194::UpdateIniValue($conf, $sectionKey, $oldSettings[$section][$sectionKey]); + } + } + } + } + else { + AirtimeIni194::UpdateIniValue($conf, $section, $oldSettings[$section]); + } + } + } + } + } + } + + public static function upgradeConfigFiles(){ + + $configFiles = array(AirtimeIni194::CONF_FILE_AIRTIME, + AirtimeIni194::CONF_FILE_PYPO, + AirtimeIni194::CONF_FILE_RECORDER, + AirtimeIni194::CONF_FILE_LIQUIDSOAP); + + // Backup the config files + $suffix = date("Ymdhis")."-1.9.4"; + foreach ($configFiles as $conf) { + if (file_exists($conf)) { + echo "Backing up $conf to $conf$suffix.bak".PHP_EOL; + copy($conf, $conf.$suffix.".bak"); + } + } + + $default_suffix = "194"; + AirtimeIni194::CreateIniFiles($default_suffix); + AirtimeIni194::MergeConfigFiles($configFiles, $suffix); + } + + /** + * This function creates the /etc/airtime configuration folder + * and copies the default config files to it. + */ + public static function CreateIniFiles($suffix) + { + if (!file_exists("/etc/airtime/")){ + if (!mkdir("/etc/airtime/", 0755, true)){ + echo "Could not create /etc/airtime/ directory. Exiting."; + exit(1); + } + } + + if (!copy(__DIR__."/airtime.conf.$suffix", AirtimeIni194::CONF_FILE_AIRTIME)){ + echo "Could not copy airtime.conf to /etc/airtime/. Exiting."; + exit(1); + } + if (!copy(__DIR__."/pypo.cfg.$suffix", AirtimeIni194::CONF_FILE_PYPO)){ + echo "Could not copy pypo.cfg to /etc/airtime/. Exiting."; + exit(1); + } + if (!copy(__DIR__."/recorder.cfg.$suffix", AirtimeIni194::CONF_FILE_RECORDER)){ + echo "Could not copy recorder.cfg to /etc/airtime/. Exiting."; + exit(1); + } + if (!copy(__DIR__."/liquidsoap.cfg.$suffix", AirtimeIni194::CONF_FILE_LIQUIDSOAP)){ + echo "Could not copy liquidsoap.cfg to /etc/airtime/. Exiting."; + exit(1); + } + } +} + +echo "* Updating configFiles\n"; +AirtimeIni194::upgradeConfigFiles(); + +$values = parse_ini_file(Airtime194Upgrade::CONF_FILE_AIRTIME, true); +$phpDir = $values['general']['airtime_dir']; +Airtime194Upgrade::InstallAirtimePhpServerCode($phpDir); +Airtime194Upgrade::ModifyHtAccessTimezone($phpDir); Airtime194Upgrade::upgradeLiquidsoapCfgPerms(); + +AirtimeInstall::CreateSymlinksToUtils(); + diff --git a/install_minimal/upgrades/airtime-1.9.4/airtime.conf.194 b/install_minimal/upgrades/airtime-1.9.4/airtime.conf.194 new file mode 100644 index 000000000..b9729ac97 --- /dev/null +++ b/install_minimal/upgrades/airtime-1.9.4/airtime.conf.194 @@ -0,0 +1,23 @@ +[database] +host = localhost +dbname = airtime +dbuser = airtime +dbpass = airtime + +[rabbitmq] +host = 127.0.0.1 +port = 5672 +user = guest +password = guest +vhost = / + +[general] +api_key = AAA +web_server_user = www-data +airtime_dir = /usr/share/airtime/ +base_url = localhost +base_port = 80 + +[soundcloud] +connection_retries = 3 +time_between_retries = 60 diff --git a/install_minimal/upgrades/airtime-1.9.4/api_client.cfg.194 b/install_minimal/upgrades/airtime-1.9.4/api_client.cfg.194 new file mode 100644 index 000000000..7c94e34c2 --- /dev/null +++ b/install_minimal/upgrades/airtime-1.9.4/api_client.cfg.194 @@ -0,0 +1,110 @@ +bin_dir = "/usr/lib/airtime/api_clients" + +############################# +## Common +############################# + +# Value needed to access the API +api_key = 'AAA' + +# Path to the base of the API +api_base = 'api' + +# URL to get the version number of the server API +version_url = 'version/api_key/%%api_key%%' + +# Hostname +base_url = 'localhost' +base_port = 80 + +############################# +## Config for Media Monitor +############################# + +# URL to setup the media monitor +media_setup_url = 'media-monitor-setup/format/json/api_key/%%api_key%%' + +# Tell Airtime the file id associated with a show instance. +upload_recorded = 'upload-recorded/format/json/api_key/%%api_key%%/fileid/%%fileid%%/showinstanceid/%%showinstanceid%%' + +# URL to tell Airtime to update file's meta data +update_media_url = 'reload-metadata/format/json/api_key/%%api_key%%/mode/%%mode%%' + +# URL to tell Airtime we want a listing of all files it knows about +list_all_db_files = 'list-all-files/format/json/api_key/%%api_key%%/dir_id/%%dir_id%%' + +# URL to tell Airtime we want a listing of all dirs its watching (including the stor dir) +list_all_watched_dirs = 'list-all-watched-dirs/format/json/api_key/%%api_key%%' + +# URL to tell Airtime we want to add watched directory +add_watched_dir = 'add-watched-dir/format/json/api_key/%%api_key%%/path/%%path%%' + +# URL to tell Airtime we want to add watched directory +remove_watched_dir = 'remove-watched-dir/format/json/api_key/%%api_key%%/path/%%path%%' + +# URL to tell Airtime we want to add watched directory +set_storage_dir = 'set-storage-dir/format/json/api_key/%%api_key%%/path/%%path%%' + + +############################# +## Config for Recorder +############################# + +# URL to get the schedule of shows set to record +show_schedule_url = 'recorded-shows/format/json/api_key/%%api_key%%' + +# URL to upload the recorded show's file to Airtime +upload_file_url = 'upload-file/format/json/api_key/%%api_key%%' + +#number of retries to upload file if connection problem +upload_retries = 3 + +#time to wait between attempts to upload file if connection problem (in seconds) +upload_wait = 60 + +################################################################################ +# Uncomment *one of the sets* of values from the API clients below, and comment +# out all the others. +################################################################################ + +############################# +## Config for Pypo +############################# + +# Schedule export path. +# %%from%% - starting date/time in the form YYYY-MM-DD-hh-mm +# %%to%% - starting date/time in the form YYYY-MM-DD-hh-mm +export_url = 'schedule/api_key/%%api_key%%' + +get_media_url = 'get-media/file/%%file%%/api_key/%%api_key%%' + +# Update whether a schedule group has begun playing. +update_item_url = 'notify-schedule-group-play/api_key/%%api_key%%/schedule_id/%%schedule_id%%' + +# Update whether an audio clip is currently playing. +update_start_playing_url = 'notify-media-item-start-play/api_key/%%api_key%%/media_id/%%media_id%%/schedule_id/%%schedule_id%%' + +# ??? +generate_range_url = 'generate_range_dp.php' + + +############## +# OBP config # +############## + +# URL to get the version number of the server API +#version_url = 'api/pypo/status/json' + +# Schedule export path. +# %%from%% - starting date/time in the form YYYY-MM-DD-hh-mm +# %%to%% - starting date/time in the form YYYY-MM-DD-hh-mm + +# Update whether an item has been played. +#update_item_url = 'api/pypo/update_shedueled_item/$$item_id%%?played=%%played%%' + +# Update whether an item is currently playing. +#update_start_playing_url = 'api/pypo/mod/medialibrary/?playlist_type=%%playlist_type%%&export_source=%%export_source%%&media_id=%%media_id%%&playlist_id=%%playlist_id%%&transmission_id=%%transmission_id%%' + +# ??? +#generate_range_url = 'api/pypo/generate_range_dp/' + diff --git a/install_minimal/upgrades/airtime-1.9.4/liquidsoap.cfg.194 b/install_minimal/upgrades/airtime-1.9.4/liquidsoap.cfg.194 new file mode 100644 index 000000000..ef4b26b62 --- /dev/null +++ b/install_minimal/upgrades/airtime-1.9.4/liquidsoap.cfg.194 @@ -0,0 +1,55 @@ +########################################### +# Liquidsoap config file # +########################################### + +########################################### +# Output settings # +########################################### +output_sound_device = false +output_icecast_vorbis = true +output_icecast_mp3 = false +output_shoutcast = false + +#output_bitrate = 128 +#output_samplerate = 44100 +#output_stereo = true + +########################################### +# Logging settings # +########################################### +log_file = "/var/log/airtime/pypo-liquidsoap/