#!/bin/bash

ZSR_QUEUE=sipbmp3
ZSR_HOST=zsr.mit.edu
ZSR_VOL_HOST=zsr.mit.edu

if [ -z "$@" ]; then
	echo "Usage:"
	echo "    zsr file1 file2 ... -- queue files to $ZSR_QUEUE"
	echo "    zsr youtube_url1 youtube_url2 ... -- queues YouTube videos to $ZSR_QUEUE"
	echo "    zsr @@ -- show the queue"
	echo "    zsr ++ -- increase the volume"
	echo "    zsr -- -- decrease the volume"
	echo "    zsr == -- show the volume"
	echo "    zsr =17 -- set the volume to 17"
	exit 1
fi

ZSR_LPR="lpr -H $ZSR_HOST -P $ZSR_QUEUE"
ZSR_REMCTL="remctl $ZSR_VOL_HOST"

if [ "$@" == "@@" ]; then
	lpq -Psipbmp3;
elif [ "$@" == "++" ]; then
	$ZSR_REMCTL v up
elif [ "$@" == "--" ]; then
	$ZSR_REMCTL v down
elif [ "$@" == "==" ]; then
	$ZSR_REMCTL v get
elif ( echo "$@" | grep -P "=\d{1,2}" > /dev/null); then
	$ZSR_REMCTL v set "${1:1}"
else
	for file in "$@"
	do
		if [ -f "$file" ]; then
			ZSR_JOBNAME=$(basename "$file")
			$ZSR_LPR "$file" -T "$ZSR_JOBNAME";
		elif ( echo "$file" | grep -E https? > /dev/null ); then
			if ( which youtube-dl > /dev/null ); then
				# n=42 is a magical flag for YouTube videos
				ZSR_JOBNAME=$(youtube-dl -e "$file")
				echo "$file" | $ZSR_LPR -# 42 -T "$ZSR_JOBNAME"
			else
				echo "$file" | $ZSR_LPR -# 42
			fi
		else
			echo "File not found: ${file}"
			exit 1
		fi
	done
fi


