Sending osc messages from a drum rack

Hey @FAster77,

This reminded me of a related thread, with a similar fail-safe approach.

You could achieve this trying to gate the OSC sends with a flag that you can toggle from Live’s timeline. That way the launchpad notes only forward to Resolume during the section(s) you want.

Here are two approaches, depending on how flexible you need it.


Option 1 — Toggle a shared variable from the timeline (most flexible)

1. Add an OSC track in Live to act as the on/off switch.
Create a MIDI track named Drum Gate +OSC for e.g. Place two short clips on it:

  • At the start of the section where you want triggers active, a clip named:
    /shared/drumsActive true
    
  • At the end of that section, a clip named:
    /shared/drumsActive false
    

You can have as many on/off pairs as you want across the set.

2. MIDI-map your launchpad drum notes in AbleSet using Custom Script as the action (Settings → MIDI Mapping, OSC & Scripting → Edit MIDI Mapping → add a mapping for each drum note → set action to Custom Script).

For each note, the script just checks the flag before sending:

// only fire if we're inside a "drum-active" zone
if (shared("drumsActive")) {
   // your Resolume OSC command goes here
}

If you’ve set up an OSC Connection named Resolume (Settings → OSC Settings → Add New Connection), the :Resolume/... prefix will route it there.


Option 2 — Check the active section name directly

If your trigger zone matches a specific section in your AbleSet timeline, you can skip the OSC track entirely and just check the section name in the script:

const section = osc("/setlist/activeSectionName");
if (section === "Drum Solo" || section === "Bridge") {
  // your Resolume OSC command goes here;
}

This is going to be tied to section names. The first approach is better if you want to enable/disable mid-section or across multiple songs.


A couple of notes:

  • The Custom Script in MIDI mapping also gives you access to the incoming velocity, so you can layer extra conditions (e.g. only trigger Resolume if velocity > 100).
  • Make sure your launchpad’s MIDI port is selected as an input in AbleSet (Edit MIDI Mapping → port settings) so the notes actually reach the script.

Would that work for your use case?