What defines if a button/knob is capable of being controlled by midi CC?


#1

Hey!

I am trying to control the ctrl/i with midi CC and that is not possible. But for example ctrl/toggle is capable of being controlled by midi.

And then I was wondering what actually defines if a button/knob is capable of being controlled by midi CC?

I looked at the code for those 2 object and don't seem to find any code that refers to midi capabability(I could easily be wrong since this is new teritory to me).

Any ideas? :smile:


#2

only parameters are controllable by CC not attributes

not sure about ctrl/i ... if you cannot change it at run time then its an attribute not a parameter.

(attributes are used for code efficiency, since they are compiled into the patch rather than being modifiable variables held in RAM)


#3

That makes sense :smile: Maybe it is possible to move the attributes to parameter? Anyway, will try and see what happens. Thanks.


#4

the main issue ( I think ) is the whole 'range' issue in axoloti.
doing an integer 0-127 is not an issue, but not really gaining anything over using midi/cc or using a float (and doing int conversion).

but scaling/limiting range is not really covered by any axoloti UI objects, its a little too focused on being midi compatible ( like the nord modular) ... as lots of controllers are not limited by 7 bit CC these days, (e.g have 14bit or relative encoding schemes), Id guess this was much less common when the nord modular was created, 17 years ago :smile:
its not a fundamental problem, just that all the UI objects are 'scaled' this way and changing would make all patches incompatible. so id guess we need to have a 'midi' mode/scale for backwards compatibility....
anyway, something for Johannes to ponder on in the future.


#5

I Will of course make a new copy of the ctrl/i and make it into a new object like ctrl/i cc ..... So i still have old version... This could be a temporarily solution.

.... If it is possible at all. Will try it out later tonight if it is possible to move The code from attributes to parameter.


#6

This needs to be addressed in the java code, not in the object XML.


#7

Ahh ok. Don't think I am capable of that yet..... My plan is not really to use a midi controller for controlling the ctrl/i. I jusrt want a visual on what is going on in the patch. I wantr to be able to see which value is current in a ctrl/i. When having really complex patches, it is really nice to set it up like that. It gives a little bit of overview. I use that a lot on G2.

Something like this:


#8

Hi!
Did anyone find a solution for this?
I have a patch in which I use a ctrl/i object to switch between lpf, bpf and hpf, and when I assign it to a midi CC I get an error when uploading it to Axoloti.
¿Is there a workaround maybe?


#9

Yes some of the ctrl objects allows you to assign a midi cc but when you try to make the patch live, it wont work. I havent found out how to work around it yet. Johannes says it needs to be adressed in java code not in XML. I just started on XML and dunno much about programming java... yet :wink: .... Anyway,,,, I will test it tommorow if it might work by editing in XML. I havent given up on this. I need the ctrl object to be midi assignable in my setup. If I could watch a video of someone adding midi cc to one obejct, i could do it myself and not "waste" developers time om stuff like this. I just need an example and I can do it on my own and of course share with everyone in here :smile:

BUT..... This is kind of a workaround:
Assign the filter selection to 4 presets and use preset system to change filter type. Presets should work for the ctrl/i. But this is not really a good solution, cause it takes up ALL presets features.. but it should be possible.

But in general I think the ctrl objects should all be midi assignable, but I dont know how big a programming task it is to do that. But I would gladly help make it happen so everyone can enjoy that feature :smile: I managed to make new versions of the ctrl/i with only 1-16 instead of 0-64000. That makes more sense in my set up... Especially the ctrl/i object would be REALLY nice to have a dynamic version of... SO you can set minimum and maximum value manually( maybe from Axolotis own object editor, so we dont have leave Axoloti editor to do this) :smile:

@johannes Is this something you have thought about? :smile:


#10

what i do is instead of having a ctrl/i object, i use a muxer or demuxer and a button acting as a trigger for a counter, selecting the muxer or demuxers input or output to create modulation matrixes for things like filter type selection, or lfo/envelope destination, etc.


#11

Good idea :smile:

Going to test that for sure. But it would much nicer with the ctrl/i with midi, cause then you also would be able to actually see which filter, lfo , etc, that is actually selected(by looking at the number of the ctrl/i).


#12

that is true, maybe there could be a mux type thing that has a little light up indictator on its output, or a similar module added that simple passes a signal through, but indicates when a signal is flowing through it


#13

Still not sold on The muxer idea. If using a Logic counter you Can only select 1, 2, 3, etc. Not 2,4,3,1 for example.

I dont believe it is hard to implement MIDI cc in all The control objects. It Would probably be a copy/paste job. And it seems like it Might have been intendede to have MIDI cc for the controller objects...... But it just doesnt work yet.


#14

Hummmm the button idea is not bad at all, it is at least something :smiley:
Still, it would be good to be able to jump wherever you want without having to push the button more than once.
But by now the button thing is going to be what I do.
I wish I could help with the java code but I don´t know the first thing about that :S
I´m pretty sure now that Axolotis are open to buy things like these are going to get fixed fast


#15

Well, I am aiming for automation of everything I do in a patch(using cc to automate whatever). The control objects must be cc assignable... Or else you could might as well just use a constant. To me the point of calling it a control object.... is that you can actually control it?

I know there might be something about midi cc only goes from 0-127. and some parameters goes way beyond that... But that side works in other programs, so it is also possible to program in Axoloti.

Anyway. I am stuck with almost all my patches ATM.... Cause they are all based on ctrl/i objects.. And I cant get further before I figure out how to control it with midi.


#16

you can assign the button to a midi button


#17

ctrl/button is not midi assignable. WHich one you use?


#18

I apologize, i didnt use a button, i used something a bit more complex that i think of as a "button" as it is a trigger from a button on my midi controller. Heres the LFO mod matrix from one of my patches:

Erm i was a bit misleading also with the second portion, the second portion determines in this case whether an ADSR, or the LFO's are modulating the cutoff of a filter

This is a part of a virtual analog polysynth patch i made, i can post the full patch if you want, but its very CPU heavy and can only be ran in four voices to my memory. I have a paired down one with only two lfo wave forms and two osc wave forms that can be ran in 6 voice poly as well. There is another mod matrix which selects OSC wave forms, but it is essentially the same concept.


#19

Smart set up :wink:

For just controlling from an external midi device and change simple things like for example selecting 1 of 3 lfos or 1 of 3 filters..... your set up, will work fine.

But I am aiming for using midi cc to control parametes internally in Axoloti(to show visually what is going on in the patch.. Youll see when the parameters move if they are controlled my midi cc) as well as controlling from external device.

Anyway, will see what happens down the road. I have a friend who studies at the University where Miller Puckette is associate director and he is learning to program java as we speak. I hope he might be able to help us out(if developers are looking in other directions than what I am thinking of).

Anyway, Axoloti is still really killer.. Just a small bump in the road. When I started building bigger patches I didnt check which buttons/knobs/etc. were cc controlable. Should have checked it befor I went to deep. Coming from Nord G2 I just assumed all parameters were assignable.


#20

BTW

What does the LP K-filter do after the lfo? dont understand their function yet.