Widgets swallow MIDI: Not avail for Scriptlet?

Hi,
I’m using this scriptlet from @David-san to have a LED flashing on a global panel, when MIDI is incomming. This gives me a visual control on stage or in TouchOSC if everything is connected, much larger than the small MIDI activity LED of GP. MIDI for this scriptet is comming in from one MIDI port where only CC messages from my controller arrive.

Problem: When a widget is linked to a CC, this CC does not light the LED linked to this scriptlet. Widgets swallow the CC message (for unknown reasons …) so they can’t be used anywhere else.

Do you have any suggestions to solve this? Maybe by a global script instead of a scriptlet?

Var
  MIDI_activity ("MIDI activity LED") : parameter 0..1 = 0;

Initialization
   SetInfoMessage("A Scriptlet which indicates a MIDI activity by lighting-up an assigned LED button each time a MIDI message passes through the Scriptlet block.")
   SetDisplayMessage("MIDI activity LED v1.0 - @David-san")
End     
  
On Activate
  MIDI_activity = 0;
End  

On MidiEvent(msg : MidiMessage)
  SendNow(msg);  
  MIDI_activity = 1;
  SetTimersRunning(true);  
End

On TimerTick(ms : double)
  If MIDI_activity == 1
  Then
    MIDI_activity = 0;
  Else
    SetTimersRunning(false);
  End;
End

That’s how GP works. When there is an incoming CC, the mapped widget will move and you will be able to check that something happens.

Yes, I know. But I would like to have any workaround.

I map only my three MIDI-in LEDs to my TouchOSC surface, besides currrent an next song name. Small green lines in the middle. The corresponding LEDs are premanently on a global panel.

Widgets come and go on different panels on different rackspaces and songs. There is nothing permanent that I could map to TouchOS.

Purpose of TouchOSC on a tablet is that I can close the lid of my laptop, which is hidden many meters away from my rig, anyway.

Add a widget (e.g. a led button) to you panel and put it in the same widget group as the widget mapped to your particular CC#. Map the newly added widget to the same CC# of the MIDI in block plugin connected to the Scriptlet.

Thank you, this would work. But I would have to do this for any of my CCs. This LED should light for ANY CC coming in.

No chance by a global script, somehow doubling all CC MIDI in, one copy for the CC widgets on rackspace panels, one for an activity LED for all CCs on the global panel?

The workaround apply only to the CC# mapped to a widget. Then your MIDI activity LED will flash like for any other non mapped CC#.

At the Gig script level you could reinject the same CC# in several MIDI device, but I don’t like this idea. I thought about your question, but for the moment I didn’t found an elegant solution.

Sounds interesting :slight_smile:
This would be before the MIDI CCs go to widgets and get swallowed?
I could copy all MIDI CC to lets say the “Local GP port”?

You could…

Got it, solved.

1 Like

Well, I found for myself that copying a MIDI in port to another MIDI in port, for example the GP local port, at gig script level is not optimal.
When trying to learn a widget to a MIDI command, it always takes the copy, not the original, for which all CC alias are definded in the rig manager.

I found a better solution, hopefuly. Including the MIDI LED activity scriptlet in a gig script, and sending the activity flag via a CC by the GP local port to a LED widget which could be anywhere.

See:

Case closed.

1 Like