My Mega Script Finishing Touches - Help Request

CSS has been a tremendously useful tool for building out a highly personalized, and simply complex script for my Yaeltex controller. I’m getting close to having my master script complete, but there are a few outstanding features I could use some direction on. They may be more CSS reliant than Kilowhat reliant, but if you have any insight that may help, I alway appreciate your support:

• Button for Send - Using the Track features, I have the Send sub-feature controlled by some knobs and encoders. It works great. There is one particular send that I would like to have a dedicated button for in addition to the knob. So in other words, in addition to my current ability to turn that send up and down using the knob, I would also like to have a button that turns that send up to 127 when on an 0 when off. I tried adding and extra send using the send sub-feature, mapping it to the button, and mapping to the same send as the knob. When I did that it seemed to have corrupted my script and I had to migrate all of the features to a new script. Is there a way to script a button to toggle the send fully on and off and have a knob for the same send?

• Looper Mutli-Transport Script - I would really like to script a button to control Ableton’s Looper Multi-Transport button. I believe it is Parameter 1, but when I try using a standard Device sub-feature of the Track, it does not do anything. Is there a way to script a button control of the Looper Multi-Transport?

• Encoder Switch Mode vs hardware switch - My controller has encoders with switches. I would like for the switch to act as a note trigger on some modes and a second encoder in others, without building a mode for every single encoder for every single mode. Right now I used the hardware editor to select the encoder switch behavior, but that does not allow me to have an encoder act differently in different modes. I have 32 encoders and 6 modes, and trying to build out individual toggles for each encoder the normal way would be a nightmare. Is there a simple way to script how the encoder switch behaves (2nd encoder toggle vs Note Trigger)?

Any tips, guidance, thoughts, etc on these outstanding intentions would be really appreciated! Thank you!

Related question to my final bullet point above… Is there any way to set up my Yaeltex device to both send a Note and Shift Rotary Action when clicking an encoder switch?

This would be very useful in many applications. For example clicking the encoder would turn on device for a Beat Repeater and the secondary encoder function would control the Beat Repeat Grid. Then when I click the encoder again the Beat Repeater turns off and the encoder goes back to its original assigned function.

Hey @Neil!
Deep into the rabbit hole, ah? :slight_smile:

Button for Send - Using the Track features, I have the Send sub-feature controlled by some knobs and encoders. It works great. There is one particular send that I would like to have a dedicated button for in addition to the knob. So in other words, in addition to my current ability to turn that send up and down using the knob, I would also like to have a button that turns that send up to 127 when on an 0 when off. I tried adding an extra send using the send sub-feature, mapping it to the button, and mapping to the same send as the knob. When I did that it seemed to have corrupted my script and I had to migrate all of the features to a new script. Is there a way to script a button to toggle the send fully on and off and have a knob for the same send?

Try giving the knob and the button you want to be Sends, the same midi message in Kilowhat/your controller instead of duplicating the parameter in CSS. Remote scripts don’t like duplicated parameters but they don’t care where the messages are coming from.

In kilowhat you can set Min and Max values for buttons and switches so you could, for example, choose the max to be 100 if you don’t want the Send to be fully open, etc.

• Toggle Modes w/ Single Button - I have three main modes with three dedicated buttons. I also have a shift mode for each of them when I press the mode’s button. This is great, but I would really prefer it toggle, rather than being momentary. I’ve tried changing the Control settings for the mode selector to toggle instead of momentary, but it does not change the behavior and it acts as momentary anyways. Is there a way to have to have a second press of the mode button toggle to the shift mode, instead of me having to hold it down?

I don’t know, but as a general rule, set the buttons to momentary in Kilowhat and manage the behavior in CSS.

• Looper Mutli-Transport Script - I would really like to script a button to control Ableton’s Looper Multi-Transport button. I believe it is Parameter 1, but when I try using a standard Device sub-feature of the Track, it does not do anything. Is there a way to script a button control of the Looper Multi-Transport?

The looper multi-transport button is complicated to work with, it’s not mappable to a macro but its midi mappable, I don’t know if it’s addressable in CSS. In the past, I end up using DDC for a similar problem.

• Encoder Switch Mode vs hardware switch - My controller has encoders with switches. I would like for the switch to act as a note trigger on some modes and a second encoder in others, without building a mode for every single encoder for every single mode. Right now I used the hardware editor to select the encoder switch behavior, but that does not allow me to have an encoder act differently in different modes. I have 32 encoders and 6 modes, and trying to build out individual toggles for each encoder the normal way would be a nightmare. Is there a simple way to script how the encoder switch behaves (2nd encoder toggle vs Note Trigger)?

The only way I see to make this is to set x banks in your controller/kilowhat, and have different configs for the encoders in different banks. If you want to change the config of some of the components in your controller, but the rest to stay consistent, keep the messages you don’t want to change equal among banks. The con is that it will require a button/switch for each new bank you add.
In your case you will end up with a combination of banks on the hardware + “modes and shifters” on the script witch is totally fine.

Related question to my final bullet point above… Is there any way to set up my Yaeltex device to both send a Note and Shift Rotary Action when clicking an encoder switch?

This would be very useful in many applications. For example clicking the encoder would turn on device for a Beat Repeater and the secondary encoder function would control the Beat Repeat Grid. Then when I click the encoder again the Beat Repeater turns off and the encoder goes back to its original assigned function.

Interesting, exactly like that is it’s not possible atm. I will add your idea to the “nice to have list”.

We thought of something like that with the “quick shift to bank + note” feature, it may be a workaround for you.
The idea is: when you click on the quick shift to bank it will jump to bank x and triggers a note. On the new bank you can have a new set of CC to control an instrument or device or else.
You need to have at least 2 banks to see the quick shift to bank 1+note option in the section Encoder Switch -> Switch mode in kilowhat.

Some are kind of wild guesses but I hope it helps.

This issue with this approach is that my encoder and its switch will always have the same CC number, which prevents me from using them for different purposes in different script modes.

I figured this one out.

Thanks for the tip on DDC. I will give it a look to see if it might be a good solution. If all else fails, I will just need to dedicate that encoder switch to a single function across all modes and MIDI map it.

Initially I had this thought too, but if I correctly understand how the Yaeltex firmware/Kilowhat works, once I assign a button as a bank selector in Kilowhat, I lose the ability to send note or CC messages with it. Is that correct? My thinking was that the same button I use to select a mode in CSS could also change the bank on my controller and that I would be able to configure different encoder settings for the different modes that way, but since using the button as a bank selector disables any other function for the button, this will not work. Is that correct?

Ahh! That’s it. I remembered that you had a function that sent a note, but I could not remember exactly what it was and could not find it in the configuration pane. Now I know why. Yes, having a + note feature for shift rotary action would be very useful too.

As always, thanks for your help thinking through these scenarios and how to achieve the functionality I have in mind.

2 Likes

Yes, true.

Yes, that’s correct.

Hey @Ale,

I’ve run into another challenge that I’m hoping you may have some insight on…

For my top row of "channel’ encoders I’ve changed the switch function from Shift Rotary Action to Message. I set the Message type to Note and then Momentary. From there I set up the switches in Control Surface Studio like any other button. Then used the Device function in each track to map the perimeter I want them to control.

The issue I’m running into is that clicking the encoder is only setting the value to 100, instead of 127.

I’ve check all of the settings in Kilowhat and the range is correctly set to 0-127. I’ve tried changing message type from Note to CC, but that did not make a difference. I’ve double checked that the range is 0-127 in CSS. I’ve tried changing settings in CSS from Absolute to On/Off. I tried changing Momentary to Toggle. None of these seem to resolve the issue. I was a able to do a workaround for one parameter where I mapped the on and off function to a macro knob, which accepts anything above 64 as “on,” but I can’t do this workaround for everything I want to map.

Any other ideas on what the issue may be or a setting I can make to resolve it?

FYI, I shared some details about encoder switch behavior with Mateo, but I don’t think that topic has anything to do with this topic.

Thanks, as always!

Hey @Neil
This one is strange, it should be posible and easy to configure. I can’t reproduce it on my end.
Can you confirm that if you look at the controllers output the max Note velocity is 100 even when you set it to 127?
If thats the case, can you start a new clean config (save the one you are working in to the desktop) and see if the problem persist?

It looks like this could possibly be a CSS bug: https://remotify.io/community/question/unable-map-button-absolute-value

the Yaeltex device is sending 127. The script is sending 100.

1 Like