Site Tools


linux:ubuntu:alexamusictodatabase

This is an old revision of the document!


Add played music to database

This script is an updated version of my script to display playing music title on website

Script

Webcode

The script will create a php file, add this as iframe whereever you want your music to be shown

<iframe id="frame1" src="audio.php" width="650" height="100"></iframe>

Bashscript

The script will execute the the “Alexa Remote Control” with “-q / query queue” to get the current tracks, then cuts out the playing song with all its info and albumcover to pipe it into the php file.

#!/bin/bash
 
TMPFILE=/tmp/audio.txt
WEBFILE=/var/www/mysite/audio.php
 
/alexa-remote-control/alexa_remote_control.sh -q > $TMPFILE
 
#OFFLINE=`grep -m1 'message' $TMPFILE | cut -d '"' -f 3 | cut -d ' ' -f 2`
OFFLINE=`grep -m1 'message' $TMPFILE | awk 'BEGIN{FS=" "}{gsub(",",""); print $2}'`
STATE=`grep -m1 'state' $TMPFILE | cut -d '"' -f 4`
STATENULL=`grep -m1 'state' /tmp/audio.txt | awk 'BEGIN{FS=" "}{gsub(",",""); print $2}'`
ARTIST=`grep -m1 'subText1' $TMPFILE | cut -d '"' -f 4`
TITLE=`grep -m1 'title' $TMPFILE | cut -d '"' -f 4`
ALBUM=`grep -m1 'subText2' $TMPFILE | cut -d '"' -f 4`
IMG=`grep -m1 'url' $TMPFILE | cut -d '"' -f 4`
 
echo "" > $WEBFILE
 
if [ "$OFFLINE" != "null" ] && [ "$STATENULL" != "null" ]; then
echo "<table style='width:100%'><col style='width:90%'><col style='width:10%'><tr><td>" >> $WEBFILE
echo "State: $STATE </br>" >> $WEBFILE
echo "Artist: $ARTIST </br>" >> $WEBFILE
echo "Title: $TITLE </br>" >> $WEBFILE
echo "Album: $ALBUM" >> $WEBFILE
echo "</td><td>" >> $WEBFILE
echo "<img src='$IMG' alt='albumcover' style='width:64px;height:64px;'>" >> $WEBFILE
echo "</td></tr></table>" >> $WEBFILE
else
echo "Iam not listening to music right now..." >> $WEBFILE
fi

Automation

The bashscript can be automated via crontab (example runs every 2 minutes).

*/2 * * * * /alexa-remote-control/copyTrack.sh >/dev/null 2>&1

linux/ubuntu/alexamusictodatabase.1574629945.txt.gz · Last modified: 2019/11/24 22:12 by lunetikk