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/install_full/ubuntu/airtime-full-install b/install_full/ubuntu/airtime-full-install index a4e991d17..146410ba1 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,7 +23,7 @@ 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 \ libmp3lame-dev libtaglib-ocaml libao-ocaml libmad-ocaml ecasound \ libesd0 icecast2 sudo libportaudio2 libsamplerate0 rabbitmq-server \ @@ -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 restart +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/include/AirtimeInstall.php b/install_minimal/include/AirtimeInstall.php index 22f9dabc5..1df485707 100644 --- a/install_minimal/include/AirtimeInstall.php +++ b/install_minimal/include/AirtimeInstall.php @@ -372,6 +372,7 @@ class AirtimeInstall exec("rm -f /usr/bin/airtime-check-system"); exec("rm -f /usr/bin/airtime-user"); exec("rm -f /usr/bin/airtime-log"); + 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 86b973570..3f6c57e76 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 6751db292..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,5 +1,5 @@ .log" +#log_level = 3 + +########################################### +# Icecast Stream settings # +########################################### +icecast_host = "127.0.0.1" +icecast_port = 8000 +icecast_pass = "hackme" + +# Icecast mountpoint names +mount_point_mp3 = "airtime.mp3" +mount_point_vorbis = "airtime.ogg" + +# Webstream metadata settings +icecast_url = "http://airtime.sourcefabric.org" +icecast_description = "Airtime Radio!" +icecast_genre = "genre" + +# Audio stream metadata for vorbis/ogg is disabled by default +# due to a number of client media players that disconnect +# when the metadata changes to a new track. Some versions of +# mplayer and VLC have this problem. Enable this option at your +# own risk! +output_icecast_vorbis_metadata = false + +########################################### +# Shoutcast Stream settings # +########################################### +shoutcast_host = "127.0.0.1" +shoutcast_port = 9000 +shoutcast_pass = "testing" + +# Webstream metadata settings +shoutcast_url = "http://airtime.sourcefabric.org" +shoutcast_genre = "genre" diff --git a/install_minimal/upgrades/airtime-1.9.4/media-monitor.cfg.194 b/install_minimal/upgrades/airtime-1.9.4/media-monitor.cfg.194 new file mode 100644 index 000000000..066c42b31 --- /dev/null +++ b/install_minimal/upgrades/airtime-1.9.4/media-monitor.cfg.194 @@ -0,0 +1,21 @@ +api_client = "airtime" + +# where the binary files live +bin_dir = '/usr/lib/airtime/media-monitor' + +# where the logging files live +log_dir = '/var/log/airtime/media-monitor' + + +############################################ +# RabbitMQ settings # +############################################ +rabbitmq_host = 'localhost' +rabbitmq_user = 'guest' +rabbitmq_password = 'guest' + +############################################ +# Media-Monitor preferences # +############################################ +check_filesystem_events = 5 #how long to queue up events performed on the files themselves. +check_airtime_events = 30 #how long to queue metadata input from airtime. diff --git a/install_minimal/upgrades/airtime-1.9.4/pypo.cfg.194 b/install_minimal/upgrades/airtime-1.9.4/pypo.cfg.194 new file mode 100644 index 000000000..352d234d0 --- /dev/null +++ b/install_minimal/upgrades/airtime-1.9.4/pypo.cfg.194 @@ -0,0 +1,72 @@ +############################################ +# pypo - configuration # +############################################ + +# Set the type of client you are using. +# Currently supported types: +# 1) "obp" = Open Broadcast Platform +# 2) "airtime" +# +api_client = "airtime" + +############################################ +# Cache Directories # +# *include* trailing slash !! # +############################################ +cache_dir = '/var/tmp/airtime/pypo/cache/' +file_dir = '/var/tmp/airtime/pypo/files/' +tmp_dir = '/var/tmp/airtime/pypo/tmp/' + +############################################ +# Setup Directories # +# Do *not* include trailing slash !! # +############################################ +cache_base_dir = '/var/tmp/airtime/pypo' +bin_dir = '/usr/lib/airtime/pypo' +log_base_dir = '/var/log/airtime' +pypo_log_dir = '/var/log/airtime/pypo' +liquidsoap_log_dir = '/var/log/airtime/pypo-liquidsoap' + +############################################ +# Liquidsoap settings # +############################################ +ls_host = '127.0.0.1' +ls_port = '1234' + +############################################ +# RabbitMQ settings # +############################################ +rabbitmq_host = 'localhost' +rabbitmq_user = 'guest' +rabbitmq_password = 'guest' + +############################################ +# pypo preferences # +############################################ +prepare_ahead = 24 #in hours +cache_for = 24 #how long to hold the cache, in hours + +# Poll interval in seconds. +# +# This will rarely need to be changed because any schedule changes are +# automatically sent to pypo immediately. +# +# This is how often the poll script downloads new schedules and files from the +# server in the event that no changes are made to the schedule. +# +poll_interval = 3600 # in seconds. + + +# Push interval in seconds. +# +# This is how often the push script checks whether it has something new to +# push to liquidsoap. +# +# It's hard to imagine a situation where this should be more than 1 second. +# +push_interval = 1 # in seconds + +# 'pre' or 'otf'. 'pre' cues while playlist preparation +# while 'otf' (on the fly) cues while loading into ls +# (needs the post_processor patch) +cue_style = 'pre' diff --git a/install_minimal/upgrades/airtime-1.9.4/recorder.cfg.194 b/install_minimal/upgrades/airtime-1.9.4/recorder.cfg.194 new file mode 100644 index 000000000..762c01da3 --- /dev/null +++ b/install_minimal/upgrades/airtime-1.9.4/recorder.cfg.194 @@ -0,0 +1,26 @@ +api_client = "airtime" + +# where the binary files live +bin_dir = '/usr/lib/airtime/show-recorder' + +# base path to store recordered shows at +base_recorded_files = '/var/tmp/airtime/show-recorder/' + +# where the logging files live +log_dir = '/var/log/airtime/show-recorder' + +############################################ +# RabbitMQ settings # +############################################ +rabbitmq_host = 'localhost' +rabbitmq_user = 'guest' +rabbitmq_password = 'guest' + +############################################ +# Recorded Audio settings # +############################################ +record_bitrate = 256 +record_samplerate = 44100 +record_channels = 2 +record_sample_size = 16 +