Roon TUI: A Roon Remote for the terminal - New: Zone Presets (v0.3.1)

First try and it works out of the box, on fedora 38. Pretty intuitive as well, well done. Great alternative for roon on wine that stopped working for me a while back. Thanks a lot for your work! Will definitely use this.

1 Like

For how long should the official GUI be closed before I attempt launching the TUI?

Just a few seconds, but you’ll need to kill TUI first with <Ctrl-C>.

I did a reboot, and tui still delivers the same output; here with added RUST_BACKTRACE-flag I’m on MacOS X 12.6.7 Monterey BTW

export RUST_BACKTRACE=full && ./target/release/roon-tui

Hi @Gjermund_Thorsen,

If you have the Roon app installed on your mac and you use that as a remote (core runs somewhere else) than you have to close that app before you start Roon TUI. After that you can see if the Roon app can be started again without causing the crash to happen again.

I just installed the Roon app on my Linux system using Wine, so I can now reproduce the problem and will see if I can come up with a fix for the crash.

Yes, including the communication with the Roon core over a websocket. I wanted to learn Rust and picked “porting the Node.js Roon API to Rust” as a project, that really was the tough part. The Roon TUI is basically a result of writing code to test the underlying API port :slight_smile:

The API has its own project on GitHub:

4 Likes

HI Niels,

I also use Roon on Wine (in Manjaro), and it stopped working some time ago.
The solution for me was to replace the package “wine” by “wine-staging” (an experimental branch) ; you may try this.

Pascal

Thanks! I think I am on stable so I will try staging the next opportunity when I am behind my desktop

Hi Jan

I use a Mac and would be happy to test should you make a native release (rather than vis a virtual image)

I’m terminal adequate rather expert, however my motivation would be to see if the script were usable, and then use a key stroke macro to cal your scripts.

it’s ok I’d test it under a terminal first for familiarity - before going off on my flight of fancy

There is a native mac M1/M2 binary available on the release page.

There are no scripts, just a single binary.

2 Likes

This is exactly what I have, it does not appear to make any difference whether Roon GUI is running or not I do get the same error in Roon TUI on my Mac regardless.

I also rebooted the machine itself and ran roon tui as the only app still to realise there is the same error.

Do you, by any chance, have 2 Roon cores in your system?
Anyway, you would have to wait for the next release which at least will improve at this point.

Nope, only running 1 - one Roon Server in Ubuntu as a BHYVE under Joyent SmartOS, it has ran amazingly well latter 2?3? years. Only hiccup is the occational update across the board.

I’m making a new install on a different machine that only has Apple XCode installed from before, just for testing. And this is what shows Running Roon TUI Rust based API - asciinema

Version 0.0.2 of Roon TUI is now available!

It has fixes for the different panics there were reported here.

Let me know how it works for you.

Changelog

  • Allow CAPS input in search prompt
  • Trigger redraw on terminal resize
  • Update version and dependencies
  • Implement unicode handling for queue items
  • Update to rust-roon-api 0.0.3 (Solve issues in multi core handling)

If you like to build from source and already have a clone of the git repository, then use git pull to get the latest sources and then rebuild with cargo build --release.

3 Likes

Nice – just compiled for aarch64/Apple. Running Roon app and TUI alongside each other appears to be working fine now.

Care for the Mac binary?

1 Like

Yes, would be nice to add it to the release page again.

Last time when @Patrick_Seemann provided the binary he gave the following tip:

If people compile it themselves, they need to run codesign -s - target/release/roon-tui afterwards to avoid some warnings macOS throws for unsigned code.

1 Like

No problem running the binary as is, but I codesigned it anyway. Link in PM!

Thanks Rene, on the release page now!

1 Like

And re-enable the extension. :rofl:

Running nicely on a Raspberry Pi 3. Thank you!

The update and rebuild process itself doesn’t cause the need for a re-enable. The identifier of the core to connect to is kept in a file named config.json, this file gets created in the directory from which Roon TUI is executed. Maybe the file got removed in some additional step you took in order to update, or maybe you executed from another directory?

1 Like