normen / obs-mcu

Control OBS with a Mackie Control Unit
MIT License
1 stars 2 forks source link

Unable to lighten the media control buttons #8

Closed gravelfreeman closed 1 month ago

gravelfreeman commented 1 month ago

There are Rewind, Forward, Stop and Play buttons I remapped to control the media on screen instead of the default behaviour.

rewind           = KEY:VLCSource.PlaylistPrev,SlideShow.PreviousSlide
fast_fwd         = KEY:VLCSource.PlaylistNext,SlideShow.NextSlide
stop             = KEY:VLCSource.Stop,MediaSource.Stop,
play             = KEY:VLCSource.PlayPause,MediaSource.Play,MediaSource.Pause,SlideShow.PlayPause
record           = KEY:VLCSource.Restart,MediaSource.Restart,SlideShow.Restart

I would like to light the buttons but I can't seem to find how.

Ideally the Previous, Forward and Stop button would be a white color. The Play button could be green when playing, yellow when paused and white when stand by (stop). Since I'm using the Record button to restart it could be a red light.

Worst case would be to have all buttons lighten up. I have a hard time seeing those when there's no led on in them. I tried something like this without success:

rewind   = STATE:RecordState
fast_fwd = STATE:RecordState
stop     = STATE:RecordState
play     = STATE:RecordState
record   = STATE:RecordState
normen commented 1 month ago

For states only the rec and stream states are available, play and record light fine for me in the default setup, that not the case for you?

gravelfreeman commented 1 month ago

For states only the rec and stream states are available, play and record light fine for me in the default setup, that not the case for you?

It do work but only on the Record and Play buttons. Since I'm not using those buttons as Start Streaming and Start Recording buttons, I wanted to have them "always on".

I believe what I'm after isn't necessarily state lights but the ability to light any buttons to my liking. There are so many buttons on a Mackie controller and there's only a few options to set them up to in OBS. Lighting those few buttons would make it easier in the heat of the moment to use them.

normen commented 1 month ago

So everything is working as intended

normen commented 1 month ago

I added an "AlwaysOn" state that is always on.

gravelfreeman commented 1 month ago

I added an "AlwaysOn" state that is always on.

Great news! I was able to test it and there's an issue if you're using it for more than 1 led. It'll only light the last led in the list.

[mcu_leds]
save     = 
undo     = 
marker   = 
nudge    = 
cycle    = 
drop     = 
replace  = 
click    = 
solo     = 
rewind   = STATE:AlwaysOn
fast_fwd = STATE:AlwaysOn
stop     = STATE:AlwaysOn
play     = STATE:AlwaysOn
record   = STATE:AlwaysOn
zoom     = 
scrub    = 

In this example, only the record mcu led will lighten.

normen commented 1 month ago

Ah, okay. True, that is probably so 😄 But it shouldn't be, also not for normal mappings, which it probably is, too.

gravelfreeman commented 1 month ago

Ah, okay. True, that is probably so 😄 But it shouldn't be, also not for normal mappings, which it probably is, too.

Yes it's in fact happening with all of the States.

This was confusing for me at first because you implied in the comments and in your documentation that ANY buttons would light if it matches the state. Thing is that I had STATE:RecordState on every buttons to try and light everything. Only the record button was lit because it's the last one in the list.

What are the chances haha!

normen commented 1 month ago

Mhm, its not just a bug fix though, I have to save the mappings differently. Right now I save them in a map using the state name, so theres only one "slot" for each state basically.

normen commented 1 month ago

0.7.14 should fix this

gravelfreeman commented 1 month ago

Awesome, it's working great now! Thank you.