Seeking help - Refactoring midi controller device drivers for Vangelis

it’s just the opposite, @LFO .
When you enable the filter, MIDI notes don’t pass thru. You have to disable the filter to get notes passing thru and reaching the chains.

Regards

Take a look to the code :wink:
BTW, you probably wat to route Pitch Bending events too.

Regards

The launchpad mini mk3 driver is mostly working (launching/stopping clips/“scenes” in session mode, playing notes in drums and keys tabs). The arrow keys only work in Session mode.

1 Like

Hi @OutOfCheese !

Do you mean you tested the driver? AFAIK It’s fully working :wink:
What functionality you expect is not working?

Regards,

1 Like

Hi jofemodo! Yes I tested to confirm it’s working. The arrow keys in note mode would be a nice feature but the device is usable as is, I’m sorry if I made the impression that it’s not.

Thanks for the awesome work on the drivers, it’s very much appreciated.

For some reason it appears jack is not available or not being imported or something. It’s underlined in VSCode, I get this error.

Traceback (most recent call last):
  File "/zynthian/venv/lib/python3.11/site-packages/jack.py", line 801, in callback_wrapper
    callback(frames)
  File "/zynthian/zynthian-ui/zyngine/ctrldev/zynthian_ctrldev_launchpad_pro_mk2.py", line 297, in process
    evtype = (indata[0] >> 4) & 0x0F
              ~~~~~~~~~~^^~~
TypeError: unsupported operand type(s) for >>: 'bytes' and 'int'

I’ll keep staring at jack examples but not having any success yet.

Hi @LFO!

I never used this VSCode thing. I try to avoid IDEs as they tend to confuse my limited mind :wink:

But python jack library is installed in your zynthian for sure and the error you are getting doesn’t seem like a dependency (library not found) issue.

The error message is pretty clear: You are using an operand “>>” that is not supported by the “bytes” type. You should do the proper data conversion.

Regards

1 Like

Wow I’m surprised you don’t use an IDE! It can be confusing and helpful in equal measure for me.

It’s not in front of me now but when I fix the error above it tends to break something else. I’m sure it’s something simple but I find whatever I try, it bounces between these results:

  • midi notes send to chain in all modes and UI control works (so for example launcher works but also sends notes)
  • midi notes go to chain in note mode only and UI control is broken in other modes (launcher & device control don’t work)

I added a pull request for the launchpad pro mk2 driver @jofemodo. Please look when you can.

I found a bug in the nanokontrol driver. If you add a chain between some existing chains, they don’t ’shuffle down’ and make space for the new one. I.e. Start with 3 chains, add a 4th in between, the nanokontrol channels still control the original 3 in the same order. The new channel isn’t affected by the controller. I need to test this more, not sure if its only occurs when a chain it’s added between or also at the end of the list.

On another point, I think there are a few drivers floating out there that have never had a pull request. Hey @AL1-1956 would you like to share your keystep driver back?

I found after some experimenting that the nanokontrol driver won’t update the controls to match any new chains (wherever they are placed) until you press the CYCLE button. Removing any chain will automatically update the controls to match what’s on screen.

Thanks @LFO!
If you could open a ticket with this report …

Regards

Hi @LFO !

I can’t find the PR. Please, could you check you really send the PR to the zynthian-ui repo?

Regards,

You already approved it! :slightly_smiling_face: That was the initial PR that fixed the driver for Vangelis and added the different modes.

I have another update that I will send for this driver, a bit of clean up/bug fix and rationalise the buttons used for mixer functions. I am trying to incorporate the core UI controls that you suggested based on APCkey 25…once I wrap my head around it.

Here’s the ticket describing the nanoKontrol 2 behaviour: nanoKontrol2 driver doesn't auto map chain controls when new ones are added · Issue #1760 · zynthian/zynthian-issue-tracking · GitHub

1 Like