From 81678f28ad84db8a2b629e40c6f4253676ab41dd Mon Sep 17 00:00:00 2001 From: Vincent Date: Fri, 15 Jan 2021 10:22:28 +0100 Subject: [PATCH] . --- .idea/workspace.xml | 24 ++++++++++++------------ scripts/lib/harmony.php | 2 +- scripts/lib/shield.php | 2 ++ scripts/lib/squeezebox.php | 30 ++++++++++++++++-------------- 4 files changed, 31 insertions(+), 27 deletions(-) diff --git a/.idea/workspace.xml b/.idea/workspace.xml index b8c33b8..8e3262b 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -3,9 +3,8 @@ - - - + + diff --git a/scripts/lib/harmony.php b/scripts/lib/harmony.php index 6dfe74a..90f3d8f 100644 --- a/scripts/lib/harmony.php +++ b/scripts/lib/harmony.php @@ -52,7 +52,7 @@ function harmonyActivity($activity) } if ($activity == 'tv') { execScene('salon/cinema'); - runAtEnd('sleep(5);harmonyDeviceCommand(\'videoprojecteur-epson\', \'power-on\');'); + runAtEnd('sleep(15);harmonyDeviceCommand(\'videoprojecteur-epson\', \'power-on\');'); } return $res; } diff --git a/scripts/lib/shield.php b/scripts/lib/shield.php index 2a2ae83..828a5e4 100644 --- a/scripts/lib/shield.php +++ b/scripts/lib/shield.php @@ -39,12 +39,14 @@ function shieldRunActivity($device = null) $onlySound = in_array(shieldGetCurrentApp($device), ['spotify']); if ($device['id'] === 'salon') { + stopPlayersIn('salon', true, false); if ($onlySound) { harmonyActivity('musique'); } else { harmonyActivity('tv'); } } else if ($device['id'] === 'bureau' || $device['id'] === 'bureausun') { + stopPlayersIn('bureau', true, false); if ($onlySound) { execScene('bureau/sound/on'); } else { diff --git a/scripts/lib/squeezebox.php b/scripts/lib/squeezebox.php index cb33273..79b080f 100644 --- a/scripts/lib/squeezebox.php +++ b/scripts/lib/squeezebox.php @@ -2,7 +2,7 @@ require_once ROOT . '/config/music.php'; -function stopSqueezeboxPlayer($player, $stopIfSync = true) +function stopSqueezeboxPlayer($player, $stopIfSync = true, $devices = true) { if (!$stopIfSync && getState('syncsoiree') == '1') { return; @@ -12,15 +12,17 @@ function stopSqueezeboxPlayer($player, $stopIfSync = true) squeezeRequest('stop', $player); squeezeRequest('power 0', $player); - $room = getRoomBySqueezeboxPlayer($player); - if ($room == 'salon') { - - } else if ($room === 'sdb') { - execScene('sdb/ampli/off'); - } else if ($room === 'bureau') { - execScene('bureau/sound/off'); - } else if ($room === 'chambre') { - denon(false); + if ($devices) { + $room = getRoomBySqueezeboxPlayer($player); + if ($room == 'salon') { + harmonyActivity('off'); + } else if ($room === 'sdb') { + execScene('sdb/ampli/off'); + } else if ($room === 'bureau') { + execScene('bureau/sound/off'); + } else if ($room === 'chambre') { + denon(false); + } } } @@ -59,17 +61,17 @@ function getSqueezePlayerStatus($player = '') return $res['result']['_mode'] == 'play' ? 1 : 0; } -function stopSqueezebox($player, $stopIfSync = true) +function stopSqueezebox($player, $stopIfSync = true, $devices = true) { - stopSqueezeboxPlayer($player, $stopIfSync); + stopSqueezeboxPlayer($player, $stopIfSync, $devices); } -function stopPlayersIn($room) +function stopPlayersIn($room, $stopIfSync = true, $devices = true) { global $squeezeboxPlayers, $squeezeboxPlayersByRoom; if (isset($squeezeboxPlayersByRoom[$room])) { foreach ($squeezeboxPlayersByRoom[$room] as $player) { - stopSqueezebox($player); + stopSqueezebox($player, $stopIfSync, $devices); } } } -- 2.39.5