From 8c1b1f483ac5883c66451f5475f39d362300f210 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Wed, 13 Mar 2024 18:43:16 +0100 Subject: [PATCH] . --- .idea/dataSources.local.xml | 2 +- .idea/workspace.xml | 8 ++++---- scripts/lib/squeezebox.php | 36 ++++++++++++++++++++++++++---------- 3 files changed, 31 insertions(+), 15 deletions(-) diff --git a/.idea/dataSources.local.xml b/.idea/dataSources.local.xml index ad38e4f..59fa46b 100644 --- a/.idea/dataSources.local.xml +++ b/.idea/dataSources.local.xml @@ -1,6 +1,6 @@ - + " diff --git a/.idea/workspace.xml b/.idea/workspace.xml index a79c8e0..e67cf67 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -5,10 +5,9 @@ + - - diff --git a/scripts/lib/squeezebox.php b/scripts/lib/squeezebox.php index 45af8f0..21c782e 100644 --- a/scripts/lib/squeezebox.php +++ b/scripts/lib/squeezebox.php @@ -54,18 +54,29 @@ function stopAllSqueezebox() } -function getSqueezePlayerStatus($player = '') +function getSqueezePlayerStatusName($player = '') { $res = _squeezeRequest('mode ?', $player); if (null === $res) { - return -1; + return null; } - print_r($res); if (!isset($res['result']) || !isset($res['result']['_mode'])) { + return 'unset'; + } + return $res['result']['_mode']; +} + +function getSqueezePlayerStatus($player = '') +{ + $s = getSqueezePlayerStatusName($player); + if (null === $s) { + return -1; + } + if ($s === 'unset') { return -2; } - return $res['result']['_mode'] == 'play' ? 1 : 0; + return $s == 'play' ? 1 : 0; } function stopSqueezebox($player, $stopIfSync = true, $devices = true) @@ -136,16 +147,21 @@ function squeezePlayByName($musicName, $player, $volume = null, $playIfSync = tr $player = _player($player); - $sdb=$player === 'Salle de bains' || $player == $squeezeboxPlayers['Salle de bains']; - $wc=$player === 'WC' || $player == $squeezeboxPlayers['WC']; + $sdb = $player === 'Salle de bains' || $player == $squeezeboxPlayers['Salle de bains']; + $wc = $player === 'WC' || $player == $squeezeboxPlayers['WC']; $currentMusicKey = 'squeezeplaybyname_' . $player; - $currentMusic = getState($currentMusicKey, ''); + $s = getSqueezePlayerStatusName($player); + if (null === $s || $s === 'stop' || $s === 'unset') { + $currentMusic = ''; + } else { + $currentMusic = getState($currentMusicKey, ''); + } global $allmusics; $m = $allmusics[$musicName]; - if($wc) { + if ($wc) { squeezeRequest('pause', $player); if ($currentMusic !== $musicName) { setState($currentMusicKey, $musicName); @@ -156,7 +172,7 @@ function squeezePlayByName($musicName, $player, $volume = null, $playIfSync = tr } else { squeezeRequest('button jump_fwd', $player); } - }else{ + } else { squeezeRequest('pause', $player); foreach ($m['commands'] as $command) { echo $player . ':' . $command . '
'; @@ -164,7 +180,7 @@ function squeezePlayByName($musicName, $player, $volume = null, $playIfSync = tr } } - $player = _squeezePlay($player, $volume); + _squeezePlay($player, $volume); if ($sdb) { hotwaterCheckMode(); -- 2.39.5