Skip to content

Feature Request: Support LCD colors on the X-Touch One #53

@avish

Description

@avish

The X-Touch one features a single LCD screen that behaves similarly to those of the X-Touch and X-Touch Extender. Specifically, it also supports setting the background color. The SysEx message that controls the colors is pretty similar to that of the X-Touch or X-Touch XT, except it uses 0x41 as the device ID instead of 0x14 or 0x15, at least according to the MIDI Implementation reference.

Seems like this should be an easy addition to the feedback processor types.
Something like (untested):

- else if ((widgetType == "FB_XTouchDisplayUpper" || widgetType == "FB_XTouchDisplayLower" || widgetType == "FB_XTouchXTDisplayUpper" || widgetType == "FB_XTouchXTDisplayLower") && size == 2)
+ else if (
+     (widgetType == "FB_XTouchDisplayUpper" || widgetType == "FB_XTouchDisplayLower" || 
+       widgetType == "FB_XTouchXTDisplayUpper" || widgetType == "FB_XTouchXTDisplayLower" || 
+       widgetType == "FB_XTouchOneDisplayUpper" || widgetType == "FB_XTouchOneDisplayLower"
+     ) && size == 2)
          {
              if (widgetType == "FB_XTouchDisplayUpper")
                  widget->GetFeedbackProcessors().push_back(make_unique<XTouchDisplay_Midi_FeedbackProcessor>(csi_, this, widget, 0, 0x14, 0x12, atoi(tokenLines[i][1].c_str())));
              else if (widgetType == "FB_XTouchDisplayLower")
                  widget->GetFeedbackProcessors().push_back(make_unique<XTouchDisplay_Midi_FeedbackProcessor>(csi_, this, widget, 1, 0x14, 0x12, atoi(tokenLines[i][1].c_str())));
              else if (widgetType == "FB_XTouchXTDisplayUpper")
                  widget->GetFeedbackProcessors().push_back(make_unique<XTouchDisplay_Midi_FeedbackProcessor>(csi_, this, widget, 0, 0x15, 0x12, atoi(tokenLines[i][1].c_str())));
              else if (widgetType == "FB_XTouchXTDisplayLower")
                  widget->GetFeedbackProcessors().push_back(make_unique<XTouchDisplay_Midi_FeedbackProcessor>(csi_, this, widget, 1, 0x15, 0x12, atoi(tokenLines[i][1].c_str())));
+             else if (widgetType == "FB_XTouchOneDisplayUpper")
+                 widget->GetFeedbackProcessors().push_back(make_unique<XTouchDisplay_Midi_FeedbackProcessor>(csi_, this, widget, 0, 0x41, 0x12, atoi(tokenLines[i][1].c_str())));
+             else if (widgetType == "FB_XTouchOneDisplayLower")
+                 widget->GetFeedbackProcessors().push_back(make_unique<XTouchDisplay_Midi_FeedbackProcessor>(csi_, this, widget, 1, 0x41, 0x12, atoi(tokenLines[i][1].c_str())));
  
              
              AddTrackColorFeedbackProcessor(widget->GetFeedbackProcessors().back().get());
          }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions