Moode Forum
multiroom as server - Printable Version

+- Moode Forum (https://moodeaudio.org/forum)
+-- Forum: moOde audio player (https://moodeaudio.org/forum/forumdisplay.php?fid=3)
+--- Forum: Feature requests (https://moodeaudio.org/forum/forumdisplay.php?fid=8)
+--- Thread: multiroom as server (/showthread.php?tid=6585)

Pages: 1 2 3 4 5


RE: multiroom as server - Tim Curtis - 08-12-2024

If you want to add something to the command string that starts librespot then modify the function startSpotify() in /inc/renderer.php.

worker.php gets started in the /etc/rc.local script. Its a daemon (server) that performs the moode startup sequence and then goes into a 3 second polling loop waiting for a job to be placed in its queue by one of the config screens and then does whatever the job requires. The polling loop is also where renderer active states are checked.

watchdog.sh is started by worker, php at the end of the startup sequence. Its a daemon that runs a 6 second polling loop that checks for and logs PHP, MPD and TRX crashes (rare) and also performs the "Wake display on play" action.


RE: multiroom as server - lifeform - 08-12-2024

(08-12-2024, 10:49 AM)Tim Curtis Wrote: If you want to add something to the command string that starts librespot then modify the function startSpotify() in /inc/renderer.php.

worker.php gets started in the /etc/rc.local script. Its a daemon (server) that performs the moode startup sequence and then goes into a 3 second polling loop waiting for a job to be placed in its queue by one of the config screens and then does whatever the job requires. The polling loop is also where renderer active states are checked.

watchdog.sh is started by worker, php at the end of the startup sequence. Its a daemon that runs a 6 second polling loop that checks for and logs PHP, MPD and TRX crashes (rare) and also performs the "Wake display on play" action.

nah...
i already change some, like i added debugLog statement and i modify device parameter in the librespot. and it is hardcoded
i try with restart spotify connect in renderer config page. i even stop and start it again. 

but debugLog string is not show in the log at all. and device parameter is not changing at all.
thats why i asked if moode use cache before.
i make sure opcache is enable=0 and restart the php8.2-fpm service
i also restart the nginx

but the renderer looks like cached. still not change at all. the thing that i not try yet is reboot the system. cause i run the snapcast still manually

if i added debugLog in submitJob function in /inc/common.php it will state in the debug log (check with tail /var/log/moode.log)


ren-config --> submitJob
                          |
                     create session to read by worker
                          |
                     worker.php call startSpotify() (<-- in event restart and make spotify connect on)

what i missed Sad


RE: multiroom as server - lifeform - 08-12-2024

i added snapshot of function startSpotify.

you can see that i already add debugLog and try change device value from _audioout to _snapserver

the strange behavior is $device that pass through to string builder $cmd always '_audioout'

and debug log 'first pass' never show in moode.log


RE: multiroom as server - Tim Curtis - 08-12-2024

Turn on Debug logging in System Config.


RE: multiroom as server - lifeform - 08-12-2024

(08-12-2024, 12:12 PM)Tim Curtis Wrote: Turn on Debug logging in System Config.

i already seting debug log at the first time. that's why i asked...

please check the attachment for log


RE: multiroom as server - Tim Curtis - 08-12-2024

After you modify one of the PHP includes or daemons you need too restart the server or reboot the system so PHP will load the updated files.


Code:
moodeutl -r

If this doesn't work then its not obvious to me what might be happening on your end.


RE: multiroom as server - TheOldPresbyope - 08-12-2024

@lifeform 

Just a WAG but doesn't it seem like there's a syntax error in your modified PHP code?

When I added debugLog statements at the beginning and end of the startSpotify function and enabled debug logging, I got the following output in moode.log when I enabled the Spotify renderer:


Code:
20240812 105944 worker: Job spotifysvc
20240812 105944 KAR:startSpotify: entry
20240812 105944 startSpotify(): (librespot --name "Purple Spotify" --bitrate 320 --format S16 --ap-port 13561  --mixer softvol --initial-volume 0 --volume-ctrl log --volume-range 60 --cache /var/local/www/spotify_cache --disable-audio-cache --backend alsa --device "_audioout" --onevent /var/local/www/commandw/spotevent.sh -v > /var/log/moode_librespot.log 2>&1 &)
20240812 105944 KAR:startSpotify: exit


where KAR are my initials.

Please post code fragments in a code box rather than a screen capture. In this forum software the code-box icon looks like a plus sign on a paper scroll.

Regards,
Kent

PS - You can take this with a grain of salt. I'm not a PHP maven.


RE: multiroom as server - lifeform - 08-12-2024

(08-12-2024, 03:09 PM)TheOldPresbyope Wrote: @lifeform 

Just a WAG but doesn't it seem like there's a syntax error in your modified PHP code?

When I added debugLog statements at the beginning and end of the startSpotify function and enabled debug logging, I got the following output in moode.log when I enabled the Spotify renderer:


Code:
20240812 105944 worker: Job spotifysvc
20240812 105944 KAR:startSpotify: entry
20240812 105944 startSpotify(): (librespot --name "Purple Spotify" --bitrate 320 --format S16 --ap-port 13561  --mixer softvol --initial-volume 0 --volume-ctrl log --volume-range 60 --cache /var/local/www/spotify_cache --disable-audio-cache --backend alsa --device "_audioout" --onevent /var/local/www/commandw/spotevent.sh -v > /var/log/moode_librespot.log 2>&1 &)
20240812 105944 KAR:startSpotify: exit


where KAR are my initials.

Please post code fragments in a code box rather than a screen capture. In this forum software the code-box icon looks like a plus sign on a paper scroll.

Regards,
Kent

PS - You can take this with a grain of salt. I'm not a PHP maven.

after change did you restart the whole system? i mean raspberry?


updated: after call moodeutl -r, php reload and can works now. thanks


RE: multiroom as server - lifeform - 08-12-2024

(08-12-2024, 02:36 PM)Tim Curtis Wrote: After you modify one of the PHP includes or daemons you need too restart the server or reboot the system so PHP will load the updated files.


Code:
moodeutl -r

If this doesn't work then its not obvious to me what might be happening on your end.

noted. after call that php is reload. progress move on thanks a lot


RE: multiroom as server - lifeform - 08-17-2024

(08-12-2024, 10:49 AM)Tim Curtis Wrote: If you want to add something to the command string that starts librespot then modify the function startSpotify() in /inc/renderer.php.

worker.php gets started in the /etc/rc.local script. Its a daemon (server) that performs the moode startup sequence and then goes into a 3 second polling loop waiting for a job to be placed in its queue by one of the config screens and then does whatever the job requires. The polling loop is also where renderer active states are checked.

watchdog.sh is started by worker, php at the end of the startup sequence. Its a daemon that runs a 6 second polling loop that checks for and logs PHP, MPD and TRX crashes (rare) and also performs the "Wake display on play" action.

@Tim Curtis
i trying to connect moode spotify connect with spotify desktop pc. it is connected and working properly. 
how ever if i connect it for long time, 5 hours and more. sometime it is disconnected (spotify desktop not showing moode spotify connect option) but moode web page show that it still connected to spotify. the big problem is spotify service is not running. and must be restart to works again.

is there any chance to run watchdog to restart the spotify service if this service not running?

ps: i check the log. but it is empty. so i really do not know why the service is not running suddenly. after restart the spotify service. it works again and can connect from desktop again 


and for upnp there is some question about it. 
i found that the config is in /etc/upmpdcli.conf, and looks like you have parser to change this config with this page www/upp-config.php
the question is. 
1. i not found any device config for upnp. that you configure to connect. is there another config ?
2. there is tidal option there. why it is not implemented in moode? any reason?