[PLUGIN] MPD OLED - installation & configuration plugin

V1.0.8 is ok for you? I’ll see what I changed in the subsequent versions.

yes version 1.0.8 is the only one that works for me. All other versions have something that doesn’t work well.

1.0.8 works fine for me too, I requested @balbuze to promote it as stable

So V1.0.8 is still working after a reboot? If so I will try again.
Yep it is working, getting crazy over here…

I’ve been running here for at least a month with version 1.0.8 and haven’t encountered any problems yet.

Hello,
I can’t release v1.0.8 because it does not complies with plugin requirement.
But v1.0.14 could…
I added a timer to start service later when booting and now it works on my rpi3.

// Start service
	setTimeout(function () {
		self.startService();
	}, 6800);

maybe someone can confirm :wink:

will try by Tuesday, currently at the holiday residence. only have a x86 available :smile:

1 Like

v1.0.14 does comply with plugin requirements but I’ve closed the PR because people were having issues it. Once I can fix the issue I’ll create v1.0.15 and make another PR :sunglasses:

Was v1.0.14 not working for you?
Why did you add the delay to the start the service?
I’m hoping this delay fixes everyone’s problems :joy::crossed_fingers::crossed_fingers:

What is not working for me without the delay is that it doesn’t start at boot… Pressing “save” start it.
With the delay, it works at boot on my RPI3 …

1 Like

Will be easy for me to implement, so it shouldn’t take long to fix. The question I have is: why does starting the service have to be delayed when executing mpd_oled immediately worked fine without problems? What do you think is happening here? Is there something else going on that I need to account for here? Why 6800ms? :thinking::thinking:

I suspect the service is started too early in the boot process. Maybe it is not very elegant, but adding a timer allows to wait the system is ready enough. I remember a ''boot priority ’ in package.json to renice plugin order … Not sure if it could help here though.
For the value, it is arbitrary :crazy_face:
I started with a low 500, then 1000, 1500 without effect. So I set a highest value… My fingers on the keyboard gave 6800☺️ , no other valuable reason. I think it could be lower. But as it is completely transparent when the RPI boots, I didn’t try to optimize…

I’m still confused though. Why would it matter if the service is started too early when all the service does is starts an mpd_oled process? Why is there no problem when the plugin starts the mpd_oled process itself (like in v0.0.45 and in your initial Volumio 3 plugin)

For when mpd_oled is installed as a systemd service I include a launch test script to check if mpd_oled can be run. On Volumio the script tests for mpd to be running.

mpd_oled/mpd_oled_launch_test at master · antiprism/mpd_oled · GitHub

There are a lot of factors that can be involved, depending on individual system configurations, but as general approach, cava can start after any other program that is involved in the ALSA pipeline, and it avoids issues with any negotiation of ALSA parameters to ensure that cava does start last. (It would avoid even more issues if mpd_oled started and stopped cava to match the player play/stop state,)

Adrian.

1 Like

I have updated from 1.0.8 to 1.0.14.
mpd oled does not turn on after reboot and audio stream stutters.

after pressing safe, the oled turns on and the stutter of the stream is gone again and everything plays normally again.
I also get this error.

http://logs.volumio.org/volumio/sX75QsH.html

The plugin doesn’t use your script to install mpd_oled as a service and it also doesn’t run the mod_oled launch script. It simply creates a temp service to run mpd_oled with specified parameters. It’s hard to tell what the problem is but I suspect that timings might have something to do it. Very strange

The launch test script ensures the delay because it is needed (for some configurations). Because the plugin version isn’t using the script the delay needs to be added another way (the 6800ms delay). It may be that the minimum delay required varies by configuration, and even if you find a minimum that is good for everyone here then someone running some other Volumio plugin or confiuration might need a higher minimum.

An alternative to adding a time delay, is to check if mpd is running. However, I can’t say for sure that this also doesn’t have issues (is there a Volumio configuration where mpd doesn’t run?) only that I haven’t had any feedback that the test has issues.

Thanks Aid, I looked at the launch script and I can see the delay you’ve added. I’ll add the 10s delay before starting mpd_oled and then at least then my plugin will be duplicating the behaviour in the your script. I think 10s seems reasonable. No point in making it too short, just in case things aren’t setup ready!

Keep your eyes peeled for 1.0.15 with the extra startup delay!

I’ll test it when it’s available.

1 Like