zsteinkamp / m4l-zs-Knobbler3

An auto-labeling parameter control surface for Ableton Live and TouchOSC.
24 stars 1 forks source link

Feature idea: rename parameter manually #9

Closed rds2024-3004 closed 3 months ago

rds2024-3004 commented 3 months ago

Hello, good day and thanks for this awesome project, I've been using it a lot on my projects.

Is it possible to rename parameters manually? I am using another Max device as a parameter mapper (16 parameters) to control my synths and other instruments. This is my main mapper, and I map some parameters to Knobbler, which serves as a global macro and for everything else for a quick access. The problem is that when I map the parameter from my Max device, it only picks up the generic knob names from Max (e.g., Dial1, Dial2, etc.) instead of the actual mapped parameter names. I would love to have this feature, as I think it will greatly improve the workflow.

zsteinkamp commented 3 months ago

Thanks @rds2024-3004 ! I'll have a look at what that would take. I agree that could be nice.

I'm thinking of making the param name in the device editable. The space is really tight, but I think it can work. Unmapping a parameter would reset the name to nothing.

Any different thoughts on how 'rename' could show up?

rds2024-3004 commented 3 months ago

I think just a simple editable name would be fine. Like a textbox or something.

Btw im using a midi controller that has 16 encoders that are midi mapped manually to ableton, same layout as knobbler (8x2). It's been great and feels like really controlling the instruments/plugins like a hardware ❤️

zsteinkamp commented 3 months ago

Nice :) Before Knobbler I was using a BCR-2000 which was joyfully knobby but remembering which knob was doing what (especially if switching between projects) led me to Knobbler.

Looks like making the param name editable in the device will be fairly straightforward. In the case where you've mapped a param, then given the param a custom name in Knobbler, then renamed the param name on the device itself (i.e. a macro knob on an instrument rack) I'm thinking to keep your custom name that you set in Knobbler. Agreed on that? Or would you prefer where if the actual param name is updated, then your custom name is replaced?

zsteinkamp commented 3 months ago

@rds2024-3004 -- Check out release 1.3.3 and let me know how it works for you. Thanks!

rds2024-3004 commented 3 months ago

@zsteinkamp - I think it works great now. However, I just noticed one thing. I have a MIDI controller that uses a knob to scroll through tracks, and while scrolling, there's a bit of lag in the project when version 1.3.3 is loaded. I noticed this previously as well, but when I used the noBLU version, the lag disappears. I am using Ableton 11.

zsteinkamp commented 3 months ago

Interesting! So you have a knob that lets you zoom around tracks in your set? That's awesome!

I kind of see what you mean if I just hold down the up/down arrow keys on the keyboard to move up and down the tracks in arrangement view. I have my keyboard set to maximum repeat rate and there is a noticeable difference in how quickly I can move through the tracks with and without Knobbler loaded.

By debouncing the track changed event I think I can get the best of all worlds. I'll report back...

rds2024-3004 commented 3 months ago

Correct, I have a knob to scroll through tracks or go to a specific track that I need, especially when using this function in a live set. In previous versions, I also noticed a bit of lag when changing parameters, which somewhat ruins the user experience

Thanks for looking on this

zsteinkamp commented 3 months ago

Sweet. I just published 1.3.4 that debounces Live UI focus changes. I'm hopeful this will work with your setup! LMK

rds2024-3004 commented 3 months ago

That works so much better. Thanks so much!

The only minor thing I noticed, and I'm not sure if this is within your control, is when mapping Knobbler from another Max device. The parameter value is not displayed correctly; it only shows a generic 0.0 - 1.

Here's an example (this max device is mapped to my synth which displayed parameter values correctly) image

Here's touchOSC (I just updated my template to save some space 😄) https://github.com/zsteinkamp/m4l-zs-Knobbler3/assets/146043414/6c701e61-681f-4b48-b635-c98a365cdccc

zsteinkamp commented 3 months ago

Hey @rds2024-3004 -- I put together a little test Max device with four knobs each a different type.

Knobbler handles it correctly as you can see on the iPad here: IMG_1148

I suspect the problem is the Max device you are using for the MIDI mapping (ParaMorpher) is not setting its knob type correctly after you have mapped it. They may be doing something more complicated than they need to by decoupling the knob from the value label, if my suspicions are correct. If they set the knob type and min/max range from the original parameter, then their device would be simpler and then it would work properly with Knobbler and other things. Just a hunch though! :D

zsteinkamp commented 3 months ago

Yeah I just looked at how ParaMorpher is made and this is indeed the case.

Screenshot 2024-06-03 at 9 20 49 PM

rds2024-3004 commented 3 months ago

Got it. Thanks a lot!

rds2024-3004 commented 3 months ago

Do you have an idea what to change in ParaMorpher so the knob is handling the value label instead of separated text label? I had a look but I was not able to figure out

zsteinkamp commented 3 months ago

In looking at the docs, it seems that it may not be possible for ParaMorpher to do it. A live.dial (https://docs.cycling74.com/max8/refpages/live.dial) has a "Unit Style" property, but from what I can tell it cannot be changed after the fact. It may be possible for them to make something that creates live.dial components on the fly and sets their Unit style, min, and max at creation time but I'm not sure.