RoonCommandLine 2.0.7 with Fading feature, bug fixes

I’ve created a new release of RoonCommandLine which includes a fade audio feature. This new feature is still in development but it’s currently working sufficiently well that I wanted to get it out to hopefully get feedback from users to help improve it. Also included in this release are additional commands and bug fixes. In particular, stale authentication tokens have been addressed and should no longer be an issue.

Fading can be enabled and disabled with the roon_fade command. For example, to enable fading in Roon zone “Kitchen” along with any other zones in a zone grouping:

roon_fade -z Kitchen on

Disable fading with roon_fade off.

By default, fading is performed with under 30 seconds remaining and audio is faded back in as the next track starts playing. The fade duration and whether to fade back in can be controlled with command line arguments to roon_fade. See man roon_fade for detailed usage documentation.

RoonCommandLine version 2.0.7 release 1 for Linux and Mac OS can be downloaded at:

https://gitlab.com/doctorfree/RoonCommandLine/-/releases/v2.0.7r1

Fading in Roon is tricky, complicated by multiple outputs with different volume ranges, multiple zones and zone grouping, and unpredictable delays in API requests. I would appreciate any feedback on issues you might encounter and suggestions for how to improve this and any other feature.

3 Likes

Just installed the new version, but came across a problem I already experienced in the old version. When running

$ ./macInstall

I got the error:

./macInstall: line 115: /usr/bin/sudo: Argument list too long

I guess that is beacuse of the line

${SUDO} chmod 644 ...
                                   ${DESTDIR}/share/man/*/*

My homebrew install has lots of man pages in there – too many to fit as command line arguments.

Also I’m not sure whether the permission need to be changed for all of the directories. I have fixed it for me by just changing th permission for RCL’s man page sub-folder:

${DESTDIR}/share/man/man/*

Speaking of this sub-folder: On macOS the man command doesn’t find RCL’s man pages by default. I guess the reason is the double man man/man in the path.

But maybe I’m just doing it all wrong…

@hallo_leo Thanks for the issue report. I will fix this.

This is fixed in the current RoonCommandLine repository. Either cloning the repo or updating an existing clone with git pull and rerunning the ./Install script will get you the fix. In addition to fixing the arg list too long error, I fixed the issue with man pages getting copied into /usr/local/share/man/man/. Both of these were pretty stupid errors on my part so we can conclude that everybody makes mistakes, even me :slight_smile:

I did not yet create a new release, only committed the changes to the manual install scripts, as this was not an issue in the RPM and Debian package installs.

Thanks for the problem report, keep em coming.

Can confirm, the install works now without changes, plus the man pages are now shown by the man command! :smile:


Two little notes from a Homebrew user perspective:

  1. I think when Homebrew “manages” /usr/local files in there are usually setup for the “main” user and not as root (see e.g. this SO answer), not sure why you need to set them to root.

  2. I don’t think rooncommand.desktop makes any sense on macOS without X11, but I may mistaken.

@hallo_leo thanks for confirming the latest fixes

You are right, there is no need to set ownership of /usr/local/Roon/... to root nor is rooncommand.desktop much use to users without a desktop environment that understands it.

Although extraneous and unnecessary, these do not effect the execution of RoonCommandLine in any way. No change is necessary on your end but I will alter this in the next release, setting ownership to the Roon user. I’ll probably leave the XDG desktop menu file because clever humans can actually install and run an X11 desktop environment on a Mac and it does no harm for the rest of us mortals.

Thanks!