Sending MIDI CC Values (to Ditto X4)

I want to send MIDI CC values to my Ditto X4 pedal so I can automatically trigger guitar loop recording from the OP-Z. On the Ditto X4, MIDI CC 3 is Record/Play/Overdub for Loop 1, and MIDI CC 22 is Record/Play/Overdub for Loop 2.

I cannot figure out how to get the OP-Z to send a CC 3 or CC 22 value for a given trig. (Any value from 64–127 will work.) And I’ve tried using MidiView on my Mac to monitor MIDI from the OP-Z, but I don’t see any MIDI CC messages coming from tracks.

This seems like it should be really easy, but I’ve pored over the limited MIDI information in the OP-Z and OP Lab guides and I’m not finding anything that leads me to a solution. I’m hoping someone can point me in the right direction.

A note trig will only send notes, no CC. But you can just record a parameter change on a step to output a CC value. Track 14 is useful for this even without an Oplab. By default CC 3 will be output on filter cutoff param, but 22 is not setup so you would need to edit the midi options in the app or in the config file.

I thought that might be the answer, but I don’t get any CC values.

Here’s what gets output to MidiViewer on Track 4:

Dir Message                                   Channel Value
out System-exclusive (SysEx) Length: 12 bytes 0
out Note on C3 Velocity 100                   4       100
out Note off C3 Velocity 0                    4       0
out System-exclusive (SysEx) Length: 12 bytes 0

The filter cutoff parameter is set to 0 on the track, and 100 on trig 4. That’s showing the note triggered by trig 4, but not the parameter change. I tried it on track 14, as well, but with the same results.

But I know it will show control messages. For example, when I hold down the screen button and rotate the red encoder clockwise, I get this:

Dir Message                                   Channel Value
out Controller 108: 127                       16      127

(When I rotate it counterclockwise, the value changes to 1.)

Just tried it and definitely works - one thing is you need to have 2 trigs with changes for CC to keep cycling has it won’t send a CC to get back to default state of 0. So you need to have a trig of 1 on step 3 before the the trig of 100 on step 4.


That did the trick!

I was thinking I wanted to start my loop at the start of the sequence, which I can’t do since I have to start with a 0 CC trig. But it actually works out fine because that way I can play a few beats to get the rhythm into my head before I start playing.

I just set the last trig to 0 CC, and the first trig to 100, and then I get a full cycle to warm up before the looper starts.

Thanks for your help!


Hi, I am trying to do the exact same thing (controlling the Ditto x4 via the oplab on the op-z). I can’t get the op-z to output the proper midi data via the oplab output. When I monitor midi data from the op-z usb, I see CC3 data on channel 4 (Ditto only works on Channel 4), but on the oplab output I get different midi data (Channel 1 only).

Could you maybe explain your settings a bit more detailed? Thanks!

No worries, I got it working now after doing a factory reset on the OP-Z and firmware updates on OP-Z, oplab module, and Ditto x4… all good now :slightly_smiling_face:

Might help someone else: if you are using the op-z connected to mac and use the mac app, the op-z stops sending out ccs and starts sending sysex back and forth to the app instead.

1 Like