Merge branch '1.9.1' of dev.sourcefabric.org:airtime into 1.9.1

This commit is contained in:
James 2011-09-14 11:58:57 -04:00
commit 1ec4359982
6 changed files with 47 additions and 28 deletions

View file

@ -1,6 +1,10 @@
======= =======
CREDITS CREDITS
======= =======
Version 1.9.4
-------------
Same as previous version.
Version 1.9.3 Version 1.9.3
------------- -------------
Same as previous version. Same as previous version.

View file

@ -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 1.9.3 - August 26th, 2011
*Improvements *Improvements
-It is now possible to upgrade your system while a show is playing. -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 be temporarily interrupted for about 5-10 seconds and then
playout will resume. Previously playout would not resume until the next playout will resume. Previously playout would not resume until the next
scheduled show. scheduled show.
*fixes *Fixes
-Fixed bug where playout system did not work with mono files. -Fixed bug where playout system did not work with mono files.
-Fixed bug where sometimes audio files could be played out of order. -Fixed bug where sometimes audio files could be played out of order.

View file

@ -14,7 +14,7 @@ $PORT = 5672;
$USER = 'guest'; $USER = 'guest';
$PASS = 'guest'; $PASS = 'guest';
$VHOST = '/'; $VHOST = '/';
$EXCHANGE = 'router'; $EXCHANGE = 'airtime-schedule';
$QUEUE = 'msgs'; $QUEUE = 'msgs';
$CONSUMER_TAG = 'consumer'; $CONSUMER_TAG = 'consumer';
@ -23,7 +23,7 @@ $ch = $conn->channel();
$ch->access_request($VHOST, false, false, true, true); $ch->access_request($VHOST, false, false, true, true);
$ch->queue_declare($QUEUE); $ch->queue_declare($QUEUE);
$ch->exchange_declare($EXCHANGE, 'direct', false, false, false); $ch->exchange_declare($EXCHANGE, 'direct', false, true);
$ch->queue_bind($QUEUE, $EXCHANGE); $ch->queue_bind($QUEUE, $EXCHANGE);
function process_message($msg) { function process_message($msg) {

View file

@ -13,15 +13,16 @@ $PORT = 5672;
$USER = 'guest'; $USER = 'guest';
$PASS = 'guest'; $PASS = 'guest';
$VHOST = '/'; $VHOST = '/';
$EXCHANGE = 'router'; $EXCHANGE = 'airtime-schedule';
$QUEUE = 'msgs'; $QUEUE = 'msgs';
$conn = new AMQPConnection($HOST, $PORT, $USER, $PASS); $conn = new AMQPConnection($HOST, $PORT, $USER, $PASS);
$ch = $conn->channel(); $ch = $conn->channel();
$ch->access_request($VHOST, false, false, true, true); $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')); $msg = new AMQPMessage($msg_body, array('content_type' => 'text/plain'));
$ch->basic_publish($msg, $EXCHANGE); $ch->basic_publish($msg, $EXCHANGE);
@ -29,4 +30,5 @@ $ch->basic_publish($msg, $EXCHANGE);
echo "Sent message '".$msg_body."'\n"; echo "Sent message '".$msg_body."'\n";
$ch->close(); $ch->close();
$conn->close(); $conn->close();
?> ?>

View file

@ -7,8 +7,7 @@ exec > >(tee install_log.txt)
exec 2>&1 exec 2>&1
if [ "$(id -u)" != "0" ]; then if [ "$(id -u)" != "0" ]; then
echo "You need admin previlege to run this script" echo "You need root privileges to run this script"
echo "Syntaxe: sudo $0"
exit 1 exit 1
fi fi
@ -24,10 +23,10 @@ echo " 1. Install Packages"
echo "----------------------------------------------------" echo "----------------------------------------------------"
# Updated package list # 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 \ php-pear php5-gd postgresql odbc-postgresql python2.6 lame libsoundtouch-ocaml \
libvorbis-ocaml-dev libmp3lame-dev libtaglib-ocaml libao-ocaml libmad-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 ecasound php5-curl mpg123 rabbitmq-server monit python-virtualenv
if [ "$?" -ne "0" ]; then if [ "$?" -ne "0" ]; then
@ -38,19 +37,19 @@ if [ "$?" -ne "0" ]; then
fi fi
# Install phing # Install phing
sudo pear channel-discover pear.phing.info pear channel-discover pear.phing.info
sudo pear install phing/phing-2.4.2 pear install phing/phing-2.4.2
# Apache Config File # Apache Config File
echo "----------------------------------------------------" echo "----------------------------------------------------"
echo "2. Apache Config File" echo "2. Apache Config File"
echo "----------------------------------------------------" echo "----------------------------------------------------"
if [ ! -f /etc/apache2/sites-available/airtime ]; then if [ ! -f /etc/apache2/sites-available/airtime ]; then
sudo cp $SCRIPTPATH/../apache/airtime-vhost /etc/apache2/sites-available/airtime cp $SCRIPTPATH/../apache/airtime-vhost /etc/apache2/sites-available/airtime
sudo rm -rf /etc/apache2/sites-enabled/000-default rm -rf /etc/apache2/sites-enabled/000-default
sudo ln -s /etc/apache2/sites-available/airtime /etc/apache2/sites-enabled/airtime ln -s /etc/apache2/sites-available/airtime /etc/apache2/sites-enabled/airtime
sudo a2enmod rewrite php5 a2enmod rewrite php5
sudo service apache2 restart service apache2 restart
else else
echo "Apache config for Airtime already exists..." echo "Apache config for Airtime already exists..."
fi fi
@ -60,8 +59,8 @@ echo "----------------------------------------------------"
echo "3. Enable Icecast" echo "3. Enable Icecast"
echo "----------------------------------------------------" echo "----------------------------------------------------"
cd /etc/default/ cd /etc/default/
sudo sed -i 's/ENABLE=false/ENABLE=true/g' icecast2 sed -i 's/ENABLE=false/ENABLE=true/g' icecast2
sudo service icecast2 start service icecast2 start
echo "" echo ""
# Enable Monit # Enable Monit
@ -69,22 +68,22 @@ echo "----------------------------------------------------"
echo "4. Enable Monit" echo "4. Enable Monit"
echo "----------------------------------------------------" echo "----------------------------------------------------"
cd /etc/default/ cd /etc/default/
sudo sed -i 's/startup=0/startup=1/g' monit sed -i 's/startup=0/startup=1/g' monit
sudo cp $SCRIPTPATH/../../python_apps/monit/airtime-monit.cfg /etc/monit/conf.d cp $SCRIPTPATH/../../python_apps/monit/airtime-monit.cfg /etc/monit/conf.d
grep -q "include /etc/monit/conf.d" /etc/monit/monitrc grep -q "include /etc/monit/conf.d" /etc/monit/monitrc
RETVAL=$? RETVAL=$?
if [ $RETVAL -ne 0 ] ; then 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 fi
sudo service monit start service monit start
# Run Airtime Install # Run Airtime Install
echo "----------------------------------------------------" echo "----------------------------------------------------"
echo "5. Run Airtime Install" echo "5. Run Airtime Install"
echo "----------------------------------------------------" echo "----------------------------------------------------"
cd $SCRIPTPATH/../../install_minimal cd $SCRIPTPATH/../../install_minimal
sudo ./airtime-install ./airtime-install

View file

@ -27,18 +27,18 @@ if [ ! -d "$VIRTUAL_ENV_DIR" ]; then
set -e set -e
if [ $EXTRAOPTION -eq "0" ]; then 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 else
# copy distribute-0.6.10.tar.gz to /usr/share/python-virtualenv/ # copy distribute-0.6.10.tar.gz to /usr/share/python-virtualenv/
# this is due to the bug in virtualenv 1.4.9 # this is due to the bug in virtualenv 1.4.9
if [ -d "$VIRTUAL_ENV_SHARE" ]; then if [ -d "$VIRTUAL_ENV_SHARE" ]; then
cp ${SCRIPTPATH}/3rd_party/distribute-0.6.10.tar.gz /usr/share/python-virtualenv/ cp ${SCRIPTPATH}/3rd_party/distribute-0.6.10.tar.gz /usr/share/python-virtualenv/
fi 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 fi
echo -e "\n*** Installing Python Libraries ***" 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 ***" echo -e "\n*** Patching Python Libraries ***"
PACHES=${SCRIPTPATH}/patches/* PACHES=${SCRIPTPATH}/patches/*
@ -47,7 +47,7 @@ if [ ! -d "$VIRTUAL_ENV_DIR" ]; then
DIRNAME=$(basename $file) DIRNAME=$(basename $file)
echo -e "\n ---Applying Patches for $DIRNAME---" echo -e "\n ---Applying Patches for $DIRNAME---"
else else
sudo patch -N -p0 -i $file patch -N -p0 -i $file
fi fi
done done
else else