+
+
+ Requires sendspin-cli, view the setup guide.
+
+
+
+
+
+ $_select[sendspinsvc_on]
+ $_select[sendspinsvc_off]
+
+
+
+
+ Sendspin is a project from the Open Home Foundation.
+
+
+
+
diff --git a/www/util/renderer-onoff.php b/www/util/renderer-onoff.php
index 5b2edffaa..a9d8cffe8 100755
--- a/www/util/renderer-onoff.php
+++ b/www/util/renderer-onoff.php
@@ -40,6 +40,8 @@
case '--roonbridge':
onoffRoonBridge($onoff);
break;
+ case '--sendspin':
+ onoffSendspin($onoff);
case '--upnp':
onoffUPnP($onoff);
break;
@@ -57,7 +59,8 @@
$slArg = $_SESSION['feat_bitmask'] & FEAT_SQUEEZELITE ? " --squeezelite\tTurn Squeezelite On/Off\n" : "";
$paArg = $_SESSION['feat_bitmask'] & FEAT_PLEXAMP ? " --plexamp\tTurn Plexamp On/Off\n" : "";
$rbArg = $_SESSION['feat_bitmask'] & FEAT_ROONBRIDGE ? " --roonbridge\tTurn RoonBridge On/Off\n" : "";
- $rendererList = ' '. $btArg . $apArg . $spArg . $dzArg . $upArg . $slArg . $paArg . $rbArg .
+ $ssArg = $_SESSION['feat_bitmask'] & FEAT_SENDSPIN ? " --sendspin\tTurn Sendspin On/Off\n" : "";
+ $rendererList = ' '. $btArg . $apArg . $spArg . $dzArg . $upArg . $slArg . $paArg . $rbArg . $ssArg .
" --help\t\tPrint this help text\n";
echo
"Usage: renderer-onoff [OPTION] [on|off]
@@ -162,3 +165,14 @@ function onoffRoonBridge($onoff) {
stopRoonBridge();
}
}
+
+function onoffSendspin($onoff) {
+ if ($onoff == 'on' && $_SESSION['sendspinsvc'] == '0') {
+ phpSession('write', 'sendspinsvc', '1');
+ startSendspin();
+ } else if ($onoff == 'off' && $_SESSION['sendspinsvc'] == '1') {
+ phpSession('write', 'sendspinsvc', '0');
+ stopSendspin();
+ }
+}
+
diff --git a/www/util/restart-renderer.php b/www/util/restart-renderer.php
index 845f1675b..21255d006 100755
--- a/www/util/restart-renderer.php
+++ b/www/util/restart-renderer.php
@@ -42,6 +42,9 @@
case '--roonbridge':
restartRoonBridge($stopOnly);
break;
+ case '--sendspin':
+ restartSendspin($stopOnly);
+ break;
case '--upnp':
restartUPnP($stopOnly);
break;
@@ -50,7 +53,7 @@
fwrite(STDERR, "This command requires sudo to print the help\n");
return;
}
- //[--bluetooth | --airplay | --spotify | --deezer | --upnp | --squeezelite | --plexamp | --roonbridge]
+ //[--bluetooth | --airplay | --spotify | --deezer | --upnp | --squeezelite | --plexamp | --roonbridge | --sendspin]
$btArg = $_SESSION['feat_bitmask'] & FEAT_BLUETOOTH ? "--bluetooth\tRestart Bluetooth\n" : "";
$apArg = $_SESSION['feat_bitmask'] & FEAT_AIRPLAY ? " --airplay\tRestart AirPlay\n" : "";
$spArg = $_SESSION['feat_bitmask'] & FEAT_SPOTIFY ? " --spotify\tRestart Spotify Connect\n" : "";
@@ -59,7 +62,8 @@
$slArg = $_SESSION['feat_bitmask'] & FEAT_SQUEEZELITE ? " --squeezelite\tRestart Squeezelite\n" : "";
$paArg = $_SESSION['feat_bitmask'] & FEAT_PLEXAMP ? " --plexamp\tRestart Plexamp\n" : "";
$rbArg = $_SESSION['feat_bitmask'] & FEAT_ROONBRIDGE ? " --roonbridge\tRestart RoonBridge\n" : "";
- $rendererList = ' '. $btArg . $apArg . $spArg . $dzArg . $upArg . $slArg . $paArg . $rbArg .
+ $ssArg = $_SESSION['feat_bitmask'] & FEAT_SENDSPIN ? " --sendspin\tRestart Sendspin\n" : "";
+ $rendererList = ' '. $btArg . $apArg . $spArg . $dzArg . $upArg . $slArg . $paArg . $rbArg . $ssArg .
" --help\t\tPrint this help text\n";
echo
"Usage: restart-renderer [OPTION] [--stop]
@@ -141,3 +145,10 @@ function restartRoonBridge($stopOnly) {
startRoonBridge();
}
}
+
+function restartSendspin($stopOnly) {
+ stopSendspin();
+ if ($stopOnly === false) {
+ startSendspin();
+ }
+}
diff --git a/www/util/sysinfo.sh b/www/util/sysinfo.sh
index 4be7a21a8..ff4a48db2 100755
--- a/www/util/sysinfo.sh
+++ b/www/util/sysinfo.sh
@@ -141,6 +141,9 @@ AUDIO_PARAMETERS() {
if [ $(($feat_bitmask & $FEAT_ROONBRIDGE)) -ne 0 ]; then
echo -e "\nRoonBridge\t\t= $rbsvc\c"
fi
+ if [ $(($feat_bitmask & $FEAT_SENDSPIN)) -ne 0 ]; then
+ echo -e "\nSendspin server\t= $sendspinsvc\c"
+ fi
if [ $(($feat_bitmask & $FEAT_GPIO)) -ne 0 ]; then
echo -e "\nGPIO button handler\t= $gpio_svc\c"
fi
@@ -385,6 +388,11 @@ RENDERER_SETTINGS() {
fi
fi
+ if [ $(($feat_bitmask & $FEAT_SENDSPIN)) -ne 0 ]; then
+ echo -e "S E N D S P I N"
+ echo -e "\nSendspin information here\c"
+ fi
+
if [ $(($feat_bitmask & $FEAT_LOCALDISPLAY)) -ne 0 ]; then
echo -e "A T T A C H E D D I S P L A Y"
echo -e "\nScreen blank\t\t= $scn_blank\c"
@@ -447,6 +455,7 @@ FEAT_PLEXAMP=8192
FEAT_BLUETOOTH=16384
FEAT_MULTIROOM=65536
FEAT_PEPPYDISPLAY=131072
+FEAT_SENDSPIN=262144
# Selective resampling bitmask
SOX_UPSAMPLE_ALL=3 # Upsample if source < target rate