PRESETS/ BANKS buttons
=====================
Neodyne has buttons that can be assigned to MidiCC/controller, and which allow to browse presets and banks in "previous/next" fashion. more than trying to mimic features found by default on Arturia's synths (and which are included in SDK since the Scope DP 3 or before, ie, early 2000) it allows to workaround limitations of some DAW that make it difficult to work wih program changes, or hardware controllers that do not allow to set "prog change" to buttons. Working with Midi CC allows to bypass those limitations from 3rd parties software/hardware.
Near the buttons, you will also see a number which tooltip shows "last received program change number". This post explained why the tooltip shows "prog.change" and why it is not simply labelled "next/previous preset".
This number shows "-1" when you load Neodyne, because at this point, not program change has been sent to the preset list, and so it shows -1 which means "not applicable" in this case.

- presets.jpg (18.95 KiB) Viewed 8671 times
The buttons are controlled by simple Midi CC numbers, but internally they send "program changes" values to the preset list, which correspond to the number of the preset in the preset list (when the preset list is 'autoindexed", the -1 that is placed in front of any new preset, becomes a number (0, 1,2,3,4....127) and this number is adressable through a program change (or an integer value that is treated internally as if it was a program change).
However, when you change a preset manually with the mouse, by clicking on a preset, it does not use program changes, and does not send program change "internally".
This means that the selected preset is not necessarily the number that is shown near the buttons (the "last received program change number" ) , because the two functions (ie "sending a program change" and selecting any preste with the mouse) are not linked or are not "bi-directional".
WHAT DOES IT MEAN IN PRACTICE ?
Imagine that you use the buttons to browse until preset 5. The registered Program change is now 5.
Now, select manually a preset that is far away in the list, for example, preset 48. The preset is 48 but the "last received program change number" is still 5..
So if you use the button again and select "next preset" it will jump to preset 6, and not to preset 49.
BANKS
======
Browsing banks should see a similar behaviour, but may sometime seem erratic because, internally, Banks are not numbered the same as program change and seem to work with cycles of 5 (or 6 - allow me some unprecision here as I cannot check exactly right now) (for example, bank number 6 could be seen as the first number of the second cycle of 5).
So, if you alternate between buttons and manual selction of preset, it is not certain that you will jump back to the "'last received bank number".... mainly because I haven't yet found a way to adress those groups of 5 or 6. I did not have enough banks to try going from bank 1 to 12 for example, and according to my test it would be difficult to do so, and would need deeper "r&d" . This also seems unecessary as a function, because in practice, you don't necessarily want to browse banks sequentially (or browse banks at all). So the way it is now is the way it can be done without going too crazy and loosing many hair.
MIN/MAX VALUE OF PROG.CHANGE AND BANK.CHANGES
================================================
You can access the functions below by pressing the "EDIT" button.

- presets.jpg (18.95 KiB) Viewed 8671 times
Min/Max values of prests and banks allow to limit the range of you preset browsing. You could prefectly
cycle between preset 1 and 2 by setting the min preset value to 1 and the max to 2. The max value is 127 because by default, the program changes will not go beyond a value of 127, and will jump back to 0 (or to whatever "min value" you have selected).
EDIT: the minimum value of presets is either "0" or "1" for the moment, in order to simplify the internal design. .
if you need to cycle through a particular group of presets, it is better to copy/paste those presets in a new bank for that particular song or project. It will be better for future reference.
BANKS: min value is either 0 or 1. Setting the min value to 1 allows to set your "Midi Controller" Bank as Bank 0, and exclude it from the banks selectable with buttons (as the minimum is 1, it will never select bank 0). That's why "1" is the default value when you load NeoDyne (because Midi Controller presets have no sound and is not meant to be browsed like actual sound preset).
PRESET/PROG.CHANGES : you can limit the range of presets by changing the min/max preset. Pressing "next" while you are on the last program change (max value) should jump back to the "min value" of your selected range.
Those buttons allowing to browse presets with a midi controller, is typical of these functions that look easy to implement but open a lot of questions and can cause confusion when not informed of how it works or its limitations. But it works very fine and allow what it is made for.
Have fun !
Notes:
This should be known info but if you did not know:
Banks and preset can be numbered by right clicking on the "-1" number in front of a bank/preset, and select "autoindex". The numbering will usually follow the alphabetical order. if you find that the numbering is not correct, you can click on "name" above the preset names, and re-do the "autoindex" process.
If banks and presets are not autoindexed, they cannot be selected (as they have "-1" value which is not "possible" and so will not react to prog.change or bank values).