Skip to content
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

Arturia Keylab MKII: some help understanding what happens and maybe an API bug #23

Open
mzanibelli opened this issue Apr 30, 2021 · 2 comments · May be fixed by #88
Open

Arturia Keylab MKII: some help understanding what happens and maybe an API bug #23

mzanibelli opened this issue Apr 30, 2021 · 2 comments · May be fixed by #88

Comments

@mzanibelli
Copy link

mzanibelli commented Apr 30, 2021

Hi,

I'm trying to solve what looks like a bug in the Arturia Keylab MKII 49 controller script.

Context:

  • this controller allows to select a track and solo it (pretty standard)
  • there are two ways to select a track
    • either by scrolling with a big wheel in the center of the device
    • or by pressing one of the eight available mixer slices' selector button (selects position 1 to 8 in the current track bank)

Expected behavior:

  • solo button should solo the currently selected track

Actual behavior:

  • 🟢 solo button works when track was selected using the scroll wheel
  • 🔴 solo button does nothing when track was selected by pressing a button selector (even though the UI displays the track as selected)

The code:

Observations:

It seems that binding the wheel to the CursorTrack (bullet 2) does something more than what selectChannel() does (bullet 3) when pressing one of the buttons. Because then solo() (bullet 1) works.

API Reference:

The CursorTrack class seems to implement Cursor and CursorChannel. The former offers selectPreviousAction() (and its counterpart) but the latter only offers selectChannel().

  • select(Previous|Next)Action() is implicitely executed on wheel scroll (by layer.bind(), that's my guess)
  • selectChannel() is explicitely executed on button press

I'm guessing in the first case something happens that makes solo() work, and it's missing in selectChannel().
So the issue could as well reside in the Controller Script API, in other words I can't fix it by myself.

What next?

Could you please help me understand this and point me towards the right direction?

Thanks 😄

@juozasg
Copy link

juozasg commented Apr 29, 2024

Just ran into same issue. Using 8 buttons to select track breaks solo, mute and arm buttons. Thinking could be fixable by calling selectNext/Previous multiplte times or by remapping those buttons to scroll the cursor track instead. Or use them for anything else because now they are broken

@juozasg
Copy link

juozasg commented May 5, 2024

Not an API bug, using MidiView I realized that pressing one of the 8 SELECT buttons will change what MIDI mute/solo and arm send out. I will make a pull request for a patch that maps different button note codes correctly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants