Global Store Pattern Selection via MIDI
Linux MIDI arpeggiator, phrase generator and controller LFO
Status: Alpha
Brought to you by:
emuse
I'm using QMidiArp 0.6.1 and am having a problem with selecting a pattern in the global store using a MIDI controller. It works as expected except that I can't select pattern 1 (CC value 0) via MIDI. Patterns from 2 on (CC values from 1 on) work as expected.
I've attached file Test.qmax that illustrates the problem. The file uses CC 28 for the global store "Global" button but feel free to unlearn that controller and re-assign the button to your own controller.
Thanks.
Hi Steven,
thanks for reporting. However I just tested your Test.qmax file with my nanokontrol (with qmidiarp in both alsa and jack midi mode) and I have no problems selecting pattern 1 with controller 28 value 0. Can you see the correct contoller values in the midi log ?
Cheers
Frank
Frank:
I enabled the event log and confirmed that controller value 0 is being received by QMidiArp.
I ran a lot of tests, on multiple machines and multiple distributions, and found that the problem was consistent in all cases.
Fortunately, I discovered a workaround. Instead of using MIDI Learn on the Global button, I used MIDI Learn on each individual sequencer module in the Global Store (using the same MIDI controller for each module). I can now select all patterns, including pattern 1. That's the same functionality I expected with the Global button, with just a little extra setup.
I still think the issue with the Global button is a bug, though. You couldn't reproduce it, but were you using your development version (newer than 0.6.1)? If so, is it possible that you already fixed this problem?
I really appreciate your work on QMidiArp. The Global Store in particular is amazing. Thanks for your work and for your support.
Hi Steve,
I tried harder now, alas still no way for me to reproduce your issue. And for searching I would really need a reproducer. There are no changes between the current git and the 0.6.1 version that could affect this, but to be sure I checked with both versions. But please feel free to try to build from git. Sorry you have this issue I would really like to fix it if it is due to qmidiarp. Have you tried with both backends alsa and jack and do you get the same behavior in both cases?
Thanks for your support, too
Frank
I want to be clear that this issue isn't preventing me from using QMidiArp as I'd like; the workaround I described previously is fine for me. I'm only pointing out that MIDI control of the Global button doesn't appear to be working as you intended.
When I was testing a few weeks ago I tried about everything I could think of other than building QMidiArp from git (I built from the 0.6.1 source as well as using binary packages). I normally use Arch Linux but also tried using a live CD of Ubuntu Studio 14.04 on two computers. I also tried using both the JACK and the ALSA backends. The problem was consistent in all cases.
I tried different MIDI controllers, too. For the test below I used a nanoKONTROL with one row of nine buttons programmed to send CC 101, with button 1 sending value 0, button 2 sending value 1, etc. Each button is "momentary" and sends the same value when released as when pressed, so each button press/release shows up twice in the Event Log.
Here are the steps I used today to reproduce the issue, with images:
I renamed ~/.qmidiarprc so that a new settings file would be created.
I started QMidiArp from a terminal, using the ALSA backend (JACK wasn't running at the time):
$ qmidiarp --alsa
I connected the nanoKONTROL output to the qmidiarp input.
In QMidiArp, I closed the Groove window.
In the Event Log window, I checked Enable Log.
I selected Module > New Sequencer... three times to create sequencers 1, 2, and 3.
In the Global Store window, I clicked the Store (diskette) button to the left of [1], then the Store button to the left of [2], then the Store button to the left of [3], so that I had three patterns of three sequences each. (See image qmidiarp-01.)
In the Global Store window, I right-clicked the Global button and selected MIDI Learn. I then pressed button 1 on the nanoKONTROL. (As far as I know it doesn't matter which button in the row is pressed since they all send CC 101.)
Pressing button 2 selected pattern 2 as expected. (See image qmidiarp-02. In the Event Log, note that the first two rows are from the MIDI Learn step above and the next two rows are from pushing button 2.)
Pressing button 3 selected pattern 3 as expected. (See image qmidiarp-03).
Pressing button 1 did NOT select pattern 1, even though the Event Log window indicated the correct controller value being sent. (See image qmidiarp-04.)
Again, this is not a problem for me; I just want you to know about the issue. Thanks.
I believe this can be closed now.