MIDI CC

Post Reply
guest
F4 - Digitalis
Posts: 3
Joined: Thu Mar 16, 2017 4:09 pm

MIDI CC

Post by guest » Thu Mar 16, 2017 5:08 pm

Good day.
Giada rocks!

How do I assign controller knobs or faders to control volume for instance?
If I try to 'learn', status and contol recognized correctly, but with value.
i.e. if I try to bind encoder it is written as 0xb01b01 or 0xb011b7f, depending on direction of rotation, and it will just set volume to zero or maximum
Faders and knobs bind as 0xb017XX where XX is current value from 00 to 7f
Maybe I am doing something wrong? Tryed to edit config manually, but failed to figure out the format of numbers, definitely not hex or dec.

Used version 12.2, since 13.2 requires libstdc++6>=5.2 , but have the same issue.

Feature requests:
It would be lovely to switch between columns of samples with button (I need only 5 samples simultaneously and assign 5 keys for them, but have several banks) and to change bpm on-fly too.

User avatar
FFT
F14 - Syrian Rue
Posts: 512
Joined: Thu Mar 08, 2012 6:51 pm

Re: MIDI CC

Post by FFT » Fri Mar 24, 2017 6:25 pm

Hi guest,

First of all I suggest you to tweak the "No note off" parameter. You can find it in the Configuration window, MIDI tab, then "Device does not send NoteOff". Any luck?

guest
F4 - Digitalis
Posts: 3
Joined: Thu Mar 16, 2017 4:09 pm

Re: MIDI CC

Post by guest » Sat Mar 25, 2017 1:59 pm

Good day.
Yes, this helped to bind pseudoanalogue knobs and faders (not encoders), but broke all other pad/keys bindings (double shooting, or playing sample upon release instead of press).
Will try it in 13.2, with some sort of plugin mixer or maybe qmidiroute can help, thanks anyway.

guest
F4 - Digitalis
Posts: 3
Joined: Thu Mar 16, 2017 4:09 pm

Re: MIDI CC

Post by guest » Mon Mar 27, 2017 4:40 pm

So, as I can see the problem is in core / kernelMidi.cpp

Code: Select all

240		uint32_t pure  = 0x00;
241		if (!G_Conf.noNoteOff)
242			pure = input & 0xFFFF0000;   // input without 'value' byte
243		else
244			pure = input & 0xFFFFFF00;   // input with 'value' byte
Which is kinda dirty hack, Giada shouldn't ignore values, or shouldn't bind the exact value of control, but should treat Note On with velocity 0 as Note Off. Alas, I am not a coder, so have no idea how to fix it.
The problem could be in soundcard.h as well.
As for now, Giada with "Device does not send NoteOff" triggers samples perfectly in all loop/oneshot modes, exactly as they supposed to, problem only with midi control changes.

(The same issues https://www.giadamusic.com/forum/viewto ... f=2&t=1379 and https://www.giadamusic.com/forum/viewtopic.php?t=153 and https://github.com/monocasual/giada/issues/118 and this was raised many many times)

Maybe control changes should have separate 'pure' variable, independent from nonoteoff state?

Other thoughts:
It seems that 13.3 debian package contains 13.4 version inside, at least that's what About and terminal output say.

Post Reply