As has been the tradition in my musical travels, I’m one step away from perfection, and unable to attain it. 
I’ve got a MIDI Fighter Twister controlling and receiving MIDI CC info from the Digitakt with a Raspberry Pi running Pure Data playing middleman/USB host. All the constituent parts of this chain work fine.
Only nagging issue - the Digitakt doesn’t seem to be sending the state of the track mutes/levels/etc. via CC when the pattern changes, leaving my Twister kind of “out of the loop,” and not reflecting the actual states of these parameters.
This is killing me. PLEASE tell me there’s a way to make this work.
Thanks!
From the manual - page 61
Settings > MIDI Config > Port Config
MUTE DEST
This controls whether activating/deactivating mutes will send MIDI data or not. When set to
INT, mute only affects the Digitakt and no MIDI data is sent. When set to INT + EXT, mute affects the Digitakt and also send MIDI data to external devices. When set to EXT, mute sends MIDI data externally, but do not affect the Digitakt.
Is this enabled for your setup?
Yep! It sends the values when pressed on the device, but I’m looking for it to send the values automatically when a pattern changes, so my Twister can show the current mute states per-track.
If there’s a way to sneakily coax the values out of it with each pattern change, I’m game to do some MIDI gymnastics. But this is really frustrating, tbh.
Ahh I understand now. What about setting parameter locks on the start of each pattern for things like levels? Not sure about mute states though… that’s a good question!
–Edit–
Hmmm… I never really dug into this part of the settings but on page 62
CHANNELS
TRACK A-H selects the dedicated MIDI channel that is used to receive or send (by turning the knobs) parameter data to or from a specific MIDI track. If configured as OFF, parameter data are neither received nor sent via MIDI.
- The sequencer data is always sent on the MIDI channel specified by the CHAN parameter on the SRC PARAMETER page.
- On TRACK A-H you can only control the parameters on the TRIG (NOT1, VEL, LEN, LFO.T) and LFO (all) PARAMETER pages.
So from that I’m wondering if you need to hard code a midi channel to the tracks you’re trying to send? Or does the part about only controlling certain parameters mean it’s not possible?
This is impossible as it is right now.
What you want/need is a ‘request all parameters’ function for the Digitakt.
You’re not alone in this, so sending a feature request to Elektron might actually help.
Possible workaround:
(disclaimer: I don’t know Pure Data that well so I don’t know if this is possible. It’s possible in Python though.)
Let your PD patch collect all the ‘mute’ states for every pattern and save it.
Now, as long as you stay connected to PD you should be able to keep track of all the ‘mute’ states for every pattern and update them when you receive a ‘mute’ cc message.
Now you can send out ‘mutes’ whenever PD receives a program change message, because you know the pattern number from that message.
Until Elektron releases the sysex documentation, there is no other way.
(except figuring out the sysex files on your own.)
1 Like