Roon Extension and Android App: it'roXs!

Hello everybody,

Since I have more free time than usual at the moment, I developed a new extension and Android app: it’roXs!

What is it about?
The main part is an Android app and adds some features to the Roon experience, which I missed since I am using Roon. Main features are (for now, there will be more):

  • Adds a media style notification for a Roon output to the status bar and lock screen
  • Shows current title meta data on the lock screen
  • Controls the volume of a Roon output with the volume hardware buttons of your device (if the volume of the selected output can be controlled through Roon, of course)
  • Use your smartwatch for basic control of a Roon output
  • Sleep Timer

The app is in an early state, but it is already available (as Early Access) in the Play Store:
Google Play Store: it’roXs!

There will be more features, I already have some in mind, but I think now is a good time to start letting you use and test the app :wink:

Second part is a Roon extension you have to install first. It provides a server the app needs to communicate with Roon. You can find this extension and install instructions on GitHub:
https://github.com/bsc101/roon-extension-itroxs

Screenshots

image image

Hope you like it, any feedback is welocme. Have fun!

23 Likes

Can you tell a bit more about your commercial plans with this?

https://bsc101.eu/itroxs/privacy_policy.html

@Boris_Schaedler

Docker image is available :slight_smile: i can remove it if you want

https://hub.docker.com/repository/docker/comassky/itroxs

docker run --name itRoxs -d -p 8090:8090 comassky/itroxs:latest (it means latest version, so for now 0.5.0)

docker run --name itRoxs -d -p 8090:8090 comassky/itroxs:0.5.0 (0.5.0)

It will git clone your project, build it, and deploy on node server.

This image will stay available only if it stay full free app :slight_smile:

My feedback after a first try, probably some are already on your list:

  • In the lockscreen the content gets hidden (probably due to some security setting I have and cannot find within a few minutes). Maybe content can be marked as non-critical to bypass this.

  • You have to run the app in order to have the notification, might be useful to split those into two parts, which I somehow expected based on the “run at startup” permission.
1 Like

I’m not sure yet, probably some kind of donate button or so. Even if I know that nobody will click it :wink: Or I could make some features subject to charge, don’t know yet…

1 Like

Thanks @Jan_Koudijs!
The hidden content on the lockscreen will be fixed with the next version, I hadn’t thought of that.
The “run at startup” permission comes from the androidx.work library. But you are right, would make sense to reconnect after boot completed. It’s on my list!

Thanks @ComasSky, didn’t do anything with Docker until now. I will have a look at it!

1 Like

@Boris_Schaedler, I prepared an entry for this in the Extension Repository, if you (or others) are interested I can release it.

Yes, please! Thanks @Jan_Koudijs

Like the idea of this. Will give it a try and feedback.

Initial feedback, It works. So nice to have this for any endpoint and not local playback. Volume control is big benefit to. Nice work. Be great if you could change the zone from the mini control to but that mighr make it too clutterd I guess,

Thanks @CrystalGipsy!
You mean changing the output from within the notification? Unfortunately this will not be possible, since this notification is completely provided by the system, I cannot modify/customize it, except of up to five buttons. I could add another button to cycle throught available (and playing?) outputs. This could be an idea, I will try this :sunglasses:
But, just tap on the notification, this will open the app. Then you can change the output.

I thought it would be limited. Thats fine not a big issue really.

@ComasSky

I tried your docker image, it works, more or less… :wink:

Meanwhile, I published a new version 0.2.0 of the Roon extension to git, but I cannot make your image update from extension version 0.1.0 to 0.2.0. Am I doing anything wrong? I even wiped your image and did a fresh download, image stays at 0.1.0.

Thanks for your help! :nerd_face:

More or less ? Some issues ?

Yes, it’s me that must manually build the image with news version. An image is a snapshot of the version used during the build. it’s imuable.

You can also create an account on Docker hub, plug your github account and auto build new image on release or commit.

PS : It’s updated

You can use :

docker run --name itRoxs -d -p 8090:8090 comassky/itroxs:latest (it means latest version, so for now 0.4.1)

docker run --name itRoxs -d -p 8090:8090 comassky/itroxs:0.4.1 (0.4.1)

docker run --name itRoxs -d -p 8090:8090 comassky/itroxs:0.4.0 (0.4.0)

docker run --name itRoxs -d -p 8090:8090 comassky/itroxs:0.2.1 (0.2.1)

docker run --name itRoxs -d -p 8090:8090 comassky/itroxs:0.2.0 (0.2.0)

docker run --name itRoxs -d -p 8090:8090 comassky/itroxs:0.1.0 (0.1.0)

Ah ok, I will try that…

No issues, except for this version thing.

This is the Dockerfile needed to build image :slight_smile:

 FROM node:latest
 RUN git clone https://github.com/bsc101/roon-extension-itroxs.git
 WORKDIR /roon-extension-itroxs
 RUN npm install
 EXPOSE 8090
 CMD [ "node", "." ]

Just git clone, npm install, and run node :wink:

1 Like

Looks easy, thank you @ComasSky

Ok the app seems to close on its own if phone is left in standby for a while . Come back and it’s not running anymore. Is this by design or bug?

Yes please Yan. I like to manage my extensions from one place.