Draw table object like pd table


#1

Hey there,
is it possible to create an object like pd table for axoloti? I really would like to draw granulars and envelopes for synthesis by mouse.
LIke people did with CMI Fairlight in the past.

best wishes,
Flub


#2

the drawing could not be done within the Axoloti UI without a change to the Axoloti UI code, as it would need some kind of canvas object and mouse interaction. (reaktor has a good model for this, in a flexible way.

but its probably low priority for core dev... as it only works with Axoloti when its connected to a computer, which is not something everybody is doing.

of course, its open source, so someone might want to do this, or 'other developments' might mean something similar might happen in a different way :wink:

of course though, as with all programming, where these is the will, there is usually a way!
you could write something in PD (or anything else) and then communicate that realtime with the axoloti via a midi connection e.g. via NRPNs.
(it would be nice to have another transport other than midi, but this is good enough for many cases)
this is some ways is preferable, as it means the user is able to write whatever computer controller they want in any language/tool they are familiar with.


#3

The fundamental problem is this: tables can be arbitrary large (well, within memory limitations), and modified at any moment at any location by a patch.
If the table needs to be visualized in the GUI, it also needs to be up to date with modifications made by a patch, otherwise it would not be coherent. Essentially it can be modified faster than it can be made coherent.
Unless it is assumed that a table is not modified by a patch after initialization. In that scenario it 'd be possible to download the contents slice by slice to the GUI, and then submit modified (when modifications are made in the GUI) slices to the firmware. It will not be strictly coherent - can't transfer 8MB of fresh data in between computing sound buffers in real time - but could appear to be coherent when given time to catch up. This requires substantial development, affecting both firmware and GUI.
In my experience PD collapses when you open a large table that is constantly updated, or try to paint in a large table.

For small tables, you can direct them to parameters, like "table/allocate 32b 16sliders".


#4

Okay.
lets say for granular synthesis there is only need for a table with 1024byte values or 2048byte that can be fixed only be changed by mouse. Then it could be more easy to do it.
And for envelopes it would also be possible to make a line which you can put dots in to move around as you do with automation curves in music softwares. so the data is reduced to this dots which are linearily connected.
that would be cool for creating envelopes = )
Do you think it is very hard to add something like this to the axoloti gui?
if not i think about to try it. but im not really advanced in this kind of stuff.


#5

Still requires a different model than is currently used for parameters.

That's a different thing, and another use case for "compound parameters". Currently one parameter has one control in the GUI, and they don't know about each other. Other use cases for compound parameters are combined cutoff/resonance controls for filters, xy pad control, and coarse/fine pitch control. This requires complex changes, I intend to address this in the future.