Flirc only toggling playpause, no pause / stop support?

I just setup a FLIRC for my Ropieee (Pi3, latest stable Ropieee).

Programmed Flirc Media Keys layout with relevant buttons, but when controlling Roon I can only get it to respond to:

  • Play/Pause toggle (via Play command)
  • Skip forward
  • Skip Back

I’d really like to get distinct play and pause methods so I can reliably pause / stop playback when shutting off my system.

Any ideas?

1 Like

This is not supported right now. You’re actually the first asking for this.

I’ll add it to the list.

3 Likes

I would also be happy to use the full stop and rewind buttons within the track, if possible.

Hi @Laver

Looking into this right now.
So, first there’s the limitation of what Roon’s API support: previous, next, playpause, play, pause, stop

Secondly there’s the mapping of the keyboard. And if I use the ‘Media Keys’ layout there is no difference in play and the pause button: they are being translated to the ‘playpause’ button which in itself is directly translated to ‘playpause’ in the Roon API.

I’m gonna play around with different keyboard settings to see if I can get distinct key codes being sent, but so far no luck.

djeeeez.

Ok, I can get this to work (conceptually that is), by using a full keyboard in the Flirc setup. In this case I can map the keys to what ever I want, which results in distinctive codes to be pushed.

But you get the idea: this is not an ‘either’ but an ‘or’: where with the media keyboard it’s clear what key is resonsible for which function, with the full keyboard it’s not.

The only solution I can imagine working (but I’m not sure if I want to go down that route) is to provide a choice between ‘simple media control’ layout and ‘full keyboard layout’ where you need to provide a specific setup to the user (use ‘p’ for play, ‘l’ for pause, ‘s’ for stop, ‘q’ for previous, ‘w’ for next). You get the picture.

The only advantage of this is that you provide a way to map all (available) Roon controls to the outside.

I need to think about this. For one I’m not convinced I need to put the time and effort into this.

For me the priority is Stop. Play/pause isn’t a big deal. I really would like a reliable way of stopping Roon playback from my universal remote when I shut down.

I could always re-install the Harmony extension, but had issues with that before and am reluctant to host its services again if I can support this via simple IR control.

Not to hijack this thread, but while you (@spockfish) are looking at FLIRC output; Is there a way to repeat the volume up or down commands. I would like to press volume up or down and hold it to slowly increase or decrease the volume. Now it’s press press press etc.

Sheldon

What is your objective with doing Stop as opposed to Pause?
With a tape deck in the old days, Pause left motors running but Stop did not.
With Roon there is no difference.

EDIT In fact, Roon’s own user interface does not have a Stop function.

I guess I was referring to the media keys limitation around playpause.

As a user I’d like a single command to reliably cease all (if any) playback in the zone. I don’t care if it’s via Pause, Stop, Power Off, etc. If no music is playing, then nothing should happen.

HI @Laver,

I’ve figured this one out. Basically it means you can program your Flirc in 2 ways: either use the ‘Media Keys’ profile with it’s limitations wrt actions on Roon, or you use ‘Full Keyboard’ profile in which I’ve mapped all available Roon actions to keys.

The beauty is that both work ‘side-by-side’, so it’s up to the user which profile he chooses. No software setting or something like that involved. Only requires a little bit of documentation that provides the mapped keys that you need to use during recording.

Will land in the beta channel shortly.

Thanks for that update. does that mean that is a single press to volume up, or will it repeat like you were doing it on the keyboard?

That has not changed, no repeat.

So, we’re talking about Flirc right?
Because if I do some testing I see that volume up/down keys are being received repeatly.

Yes. Here’s what I have done:

Inserted FLIRC into a windows computer (it was easier than my mac), and use the FLIRC utility to learn my remote and map the play/pause, previous/next and volume up and volume down buttons to the media keys. On the windows machine holding the volume button on the remote will continuously change the volume (both up and down).

I insert the FLIRC into my ropieee unit and reboot (it seems to only work reliably if I reboot). I can play or pause, fast forward or rewind perfectly just like on the windows machine. If I push volume up or down and release right away it goes up or down one unit like you would expect. But if I press and hold, it will change one volume step and then nothing. the volume indicator dims and its like the remote isn’t being pressed. If I peck at the volume buttons like a trained chicken I can raise or lower the volume in a one press equals one volume step sort of way.

Also I have tried this with two different remotes, and reset the FLIRC each time. I am also running what was the newest FLIRC firmware when I installed it a month or so ago.

I can try running the remote on a different zone (like my Naim Uniti Atom) and see if it’s something unique to my hat setup. Let me know if that would help

Sheldon

It for sure has nothing to do with the zone and/or HAT.

I’m using an old Sony TV IR to test. And with that remote I see that play/pause long presses result in one press being registered. However, if I do volume up/down (+/-) long presses this results in a stream of events.

I’m starting to wonder if this is done by the IR itself…

I think it is done by the remote in that holding a key on the remote will repeat the code it sends. If you have a camera that can see the IR emitter, you can see that the emitter is active the entire time the button is held down. There is no latching or gating in the remotes I’ve got sitting around.

Also the hold volume button works like you’d expect if the FLIRC is plugged into a computer using the same remote

The question is: Are the stream of volume events handled by roon, or is there some gating logic in roon that is preventing many volume events from being acknowledged? The remote is ultimately talking to the core, correct? I see the communication working like this (let me know if I’m wrong):

FLIRC sends a command and you intercept that command. You send that on to the Roon core. The core processes that command (a keyboard press sort of event I’m assuming) and sends back the appropriate state change to the endpoint. I believe the same thing is happening with the touch screen, as there is enough lag to be noticeable at times.

I’m going to re-program the FLIRC to use keyboard commands since your beta now supports those. let’s see how that works. The roon core supports repeated keys from a remote on a computer (holding causes the volume to insrease slowly as you’d expect).

Sheldon

OK, I have made progress! I hope this helps your development work:

I cleared all the keys from the FLIRC using the windows utility, and reprogrammed the device as follows:

Volume up: ctrl-up arrow
Volume down: ctrl-down arrow
Play/pause: spacebar
Next Track: ctrl-K
prev track: ctrl-J

The volume now works like you’d expect with it changing rapidly if the remote button is held.

If I start playing a track, the play/pause button will pause playback, but not restart playback if it is paused.

The track forward and back buttons do nothing.

I plugged the FLIRC into my mac which is running the roon remote and it controlled roon like you’d expect. The play/pause works and the track forward and back work. Volume up and down behaves like you’d expect.

Also if I unplug the flirc from ropieee, I have to reboot upon re-inserting for it to work again.

hope that helps,
Sheldon

Ok, I’m going to add another reply here. sorry to everyone to keep pounding people with replies.

I got it all sorted! Here’s what I did:

Using the FLIRC utility on a windows machine I went into controllers and selected “media keys”

I programmed play/pause, skip forward, and skip back as media keys.

I then went into “full keyboard” under controllers, and programmed the following:

Volume Up Button: ctrl-up arrow
Volume Down Button: ctrl-down arrow

I didn’t realize I could blend modes like that. But now the volume works like you’d expect (volume up down on media keys doesn’t repeat). And the play/pause and track skip buttons work well

Hope this helps someone.
Sheldon

2 Likes

Oh! Really? the blend part is totally new for me.

Hi Harry - which keys do I need to teach in the full keyboard profile? Or have I missed this documented somewhere else.

Cheers
Jamie