Anyone tried editing/adding custom controls?


#1

Has anyone tried adding custom controls?
Like:
-other readout modes like a knob showing lfo-rates for even slower rates then is currently possible
-"live" selectors that could use names as indices like the combo attribute (eg. using the "description" box to set the names of the available indices to show the names of waveforms for example)
-smaller knobs/sliders (the sliders the same size as current knobs, the knobs the same size as the switches))
etc etc...

if someone could tell me where to edit these things in the firmware, let me know, as I currently can't find it while I'm going through all the C++ firmware code..


#2

Are you talking about the patcher? That one's in Java.


#3

my apologies, java... anyways, I'ld like to add/change some of the controls, but I can't find where I should do this..
It should be defined sómewhere in the firmware I presume..


#4

The firmware on the axoloti is fixed and expects compiled "machine code" of the patch but carries no information about how the patcher window/C++ code in your objects looked like when you compiled the patch (except taking over the values your controls were representing).

This is also the reason you cannot "disasseble"/re-build a patcher file from the .bin that is saved in your axoloti/sd card.

The patcher source code is probably somewhere here: https://github.com/axoloti/axoloti/tree/master/src/main/java


#5

If I am not mistaken it utilizes the Java Swing library to create the GUI, in other words you should be able to change some aspects of it looking at the swing classes being created.

However I remember there was discussion about the patcher and for example it apparently is not that easy to change simple aspects like the UI font size.

To tackle this, (I believe) axoloti 2.0 uses a different UI library than Swing, one that promised to be more flexible, e.g. zoomable and color-customizable, this did not work out well and created new bugs.


#6

I want to change the firmware itself to do this. I once managed to fix the mouse-response over USB, so I could use a XY-screen, so I was hoping to be able to alter some more things.

If people can point me in the right direction, like which folders/files to check out, that would be great already.


#7

ah, "the quarter falls" (dutch saying for finally getting it..)..
the axoloti patcher is that java executable, so to alter the controls, I'ld need to alter the build-code for the java executable and rebuild it.
uhm, was there any documentation about this somewhere (of how to build the firmware from the source code)?


#8

If by controls you mean the way the knobs, switches etc. are represented graphically, then yes.

Looks like the build.sh (on Linux at least) includes the (re-)build of the java patcher code. I believe If you see any command named 'ant' then that is the Java-based build tool that builds the patcher.

For s***s and giggles I opened the "PLATFORM_ROOT" directory which is just the axoloti directory (it must contain a file named build.xml) and typed ant and voila ... after some cryptic build info it said BUILD SUCCESSFUL. Now I haven't checked if this actually rebuilds the patcher but this would be my bet.