-
-
Notifications
You must be signed in to change notification settings - Fork 356
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add MIDI Note Off Triggers Scene behaviour #1428
Conversation
@@ -440,7 +440,7 @@ void EnttecDMXUSBPro::slotDataReceived(QByteArray data, bool isMidi) | |||
uchar value = 0; | |||
if (QLCMIDIProtocol::midiToInput(midiCmd, midiData1, midiData2, | |||
MAX_MIDI_CHANNELS, // always listen in OMNI mode | |||
&channel, &value) == true) | |||
&channel, &value, false) == true) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will need device->noteOffTriggersScene()
as well, but I'm not sure yet how to get the MIDI device in this context. Also unsure as to why there is a MIDI implementation here whatsoever, the DMX USB Pro is a DMX only device.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This code might refer to the MKII
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see, I didn't know about that specific device and the fact that it had MIDI ports. I'll try and figure out how I can fix this then!
Hi, sorry for the huge delay. With your solution, note off would be equal to 64 which is a magic number and doesn't really represent an "off" state. Would it work for you if considering the note off event would be handled in a input profile rather than plugin level? |
Hey @mcallegari! It's been a while for me too, so had to dig up my own code for a sec to be up to date ;) The From the spec (see http://midi.teragonaudio.com/tech/midispec.htm and section
Thinking about this more, that specific line of code should basically be rewritten as Implementing this using an input profile is definitely also a way to go, but wouldn't that be more complex than the proposed solution, both in implementation as user experience? I can definitely think up a scenario in which a user would like per note control over this setting, but at the same time think in real life this is a per MIDI input on/off type of thing. I do see what you mean with the fader and setting values through a MIDI note velocity, pressing and releasing a note would basically always result in the fader receiving the value Curious to hear your thoughts, I'll give it some more thought myself as I hadn't considered the slider case. An ideal scenario would be to retain the event type all the way up to the control. A slider could opt to not consider |
In that case the |
Hi,
This PR introduces a new MIDI Plugin setting. As it stands right now, when QLC+ receives a
Note Off
command, it gets auto-mapped to value 0. Because of this, aNote Off
can never toggle a switch, which can be very much desired.The specific use case for this is as follows: effects and chases cannot be flashed, and as such have to be toggled. When programming lights through MIDI in Cubase, I want to make sure that whenever I point anywhere in the track, all of the correct animations immediately start playing, and not for those animations to be triggered at specific points in the song only. To do this, I use very long MIDI notes (for the length of the chorus for instance). To make sure the animations stop running, I always need a second note at the very end of that note (see screenshot below).
This is very counter intuitive for me and has lead to many cases of animations still going on when they shouldn't have (not nice to see moving heads go crazy when a quiet bridge sets in ...). Having the ability to toggle a scene whenever a MIDI note ends is a great feature in my opinion.
This PR doesn't affect existing behaviour, only provides users the ability to configure the plugin in a way that might better suit their needs. It has drastically improved my own flow for sure!
The PR is an initial proposal and I'm very welcome to feedback. I'm not a C++ or Qt developer and just try to adhere to the existing code style. Let me know!
Edit: the name noteOffTriggersScene is probably not the best yet, does anyone have a better suggestion?
Edit2: I also updated the documentation to reflect this new configuration option