Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: X-Touch and X-Touch Extender display color support #660

Closed
RattlesnakeLodge opened this issue Sep 5, 2022 · 4 comments
Closed
Labels
enhancement New feature or request

Comments

@RattlesnakeLodge
Copy link

Greetings!

Is it possible to provide color display support for the X-Touch and X-Touch Extenders?

CSI has recently implemented something similar, using its new feedback processor FB_XTouchDisplayUpper (https://github.com/GeoffAWaddington/CSIWiki/wiki/Feedback-Processors#fb_xtouchdisplayupper).

Please let me know if you require additional information, reference of similar code, etc. Thank you so much, in advance! :-)

@helgoboss helgoboss added the enhancement New feature or request label Sep 6, 2022
@helgoboss
Copy link
Owner

Sure, I could add that, should be a no-brainer as soon as I know which sys-ex needs to be sent. Any chance you can point me to the X-Touch color display MIDI spec or something similar (e.g. code) that lets me know about the sys-ex?

@RattlesnakeLodge
Copy link
Author

RattlesnakeLodge commented Sep 6, 2022

Sent a PM via Reaper forum.

A few more notes...

I think the sysex is the same for both X-Touch and the X-Touch extender, unlike the standard displays for generic MCU and MCU XT devices. So, no need to differentiate between the main or extender units.

Also, it looks like this sysex is solely for controlling the colors on the displays, and not the actual text feedback. The text itself would still be handled by your MCU and MCU XT feedback controller types.

Hope that helps! Thanks again, sir!

helgoboss added a commit that referenced this issue Sep 13, 2022
issues with feedback order and superfluous feedback messages
helgoboss added a commit that referenced this issue Sep 13, 2022
but has a bug (switching off colors when sending unused source feedback)
@helgoboss
Copy link
Owner

I implemented it based on the info in this forum post. The sys-ex is slightly different when using an extender, so I added 2 new display types "X-Touch Mackie LCD" and "X-Touch Mackie LCD XT". The X-Touch must be in MCU mode, so it's essentially a drop-in replacement for "Mackie LCD" and "Mackie LCD XT". Colors can be picked - as usual - with the 3-dot button next to the text feedback field.

This doesn't work on the X-Touch One. The color of its display can also be changed, but apparently only in MIDI mode. In that case, it's the same (or almost the same, not sure) sys-ex as the one which the X-Touch would take in MIDI mode. I haven't implemented LCD / color LCD support for MIDI mode because it suffers from lack of 14-bit faders and therefore I don't recommend it anyway.

For the record: It took more effort than I expected because of the fact that you can't simply tell the X-Touch "Change color of display 5 to red". Instead, you always need to send the colors for all displays of one unit/extender at once. This needs global state scoped to the MIDI output device. Good thing: Now it's implemented cleanly via FeedbackCollector and RealearnSourceState and we can use the same structures in the future for similar cases.

@RattlesnakeLodge
Copy link
Author

You rock, sir!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants