DJ-TechTools / Midi_Fighter_Twister_Open_Source

95 stars 25 forks source link

Encoder hold or toggle only outputs on midi channel 5 #2

Open dddomin3 opened 7 years ago

dddomin3 commented 7 years ago

Old firmware(2014) would respect the CCs and Channels defined in the "Press Encoder" area. Newer firmwares(2016) ignore this for the encoder turning, but send what seems to be an On/Off message for the CC/Channel described in the "Press encoder"area, then channel 5 for the original encoder CC.

Why was this regression made? Similar functionality can be achieved in the older firmware by defining the midi channel in the "Encoder" area.

dddomin3 commented 7 years ago

Also, with the lack of git history, it's very hard to revert to this change without actually spending more time to rewrite the functionality. Could you explain/provide this code change history?

danielytics commented 7 years ago

There may not be any change history. When I last worked on midifighter code[1], there wasn't any source control that I had access to. I do know that some of the DJTT guys were using GitHub then, so maybe there is a private history somewhere, but its possible there isn't.

[1] In 2011, so before the Twister. I only touched sysex and config code as I was only implementing the utility's communication protocol, so sadly don't know the answer to your question.

dddomin3 commented 6 years ago

Honestly, this isn't really a bug now that I understand how the new firmware is really structured. MIDI Channels 1-9 (excluding 7?) are all reserved for interaction with the MIDI Fighter

What might be a better solution is to have two USB MIDI ports, where one it's all system messages (SYS)(Incoming/Outgoing), and one where it outputs the user customized (USER) MIDI CC/Channels. That way you have the default interactions available on the SYS port, but a user is able to change the knob CC's (USER) without negatively impacting functionality (with lights, animations, etc).

When a user changes the default MIDI CCs/Channels for an encoder, everything sort of falls apart. It almost necessitates that you use a translation layer if the software/hardware/VST you're using the controller with doesn't allow you to very granularly interact with its internal MIDI mapping.

davay42 commented 4 years ago

Oh, I wish I found all this info before I bought the Twister! Now I have it on hand and find that I can't use the Shift Encoder functionality with my hardware synths... Is it true that there's some old firmware that can specify the secondary channel and CC? Can I downgrade? Does it need an older version of the Midi Fighter Utility?

Or, may be, since the source is open, we can modify the code together? I'm not skilled in the languages, used in the project... And how can we modify the Utility to add the new fields to edit the knobs? Stevan from DJ Tech Tools answered me in an e-mail:

"The Shift Encoder behavior is explained in Twister User Guide where it clearly states that Twister is only Shifting the Channel (Not CC numbers). You could introduce a Midi Translator software such as Midi Pipe (macOS) or MIDI-OX (Windows) if you also use a computer in your setup. Both of these are a freeware and could help you convert midi data.

And if you want to bypass a computer than check out the Bome Box which is amazing midi host and translator. (not free but still an option)"

Also note that Twister is open source project so if you are into programming you can download the files.

I understand how adding this option could expand the use cases (especially with hardware synths + sequencers and other omni-channel midi applications) and worth noting is that we already added this to the feature suggestions. It is not very likely that you will see it added to the firmware anytime soon though.

Seems we are here on our own! 🙃

sjc-or commented 4 years ago

I use Bome MIDI Translator Pro to extend the capabilities of my controllers including the MFT. It can pretty much change any incoming MIDI message into a different outgoing MIDI message. I can even get more Banks out of my MFT using it. Check it out at www.bome.com if interested. For full disclosure, I'm also the moderator for their forum.