my idea is a better usage of any hardware that has presets.
Cubase patchscripts has tons of instruments or hardwares. simple google it.
the script is simple:
Root level is 1.
Programs defined at level one can be selected direct from the main popup menu.
Higher levels can only be accessed via submenues.
It is allowed to define program names more than once, for flexible menu architecture.
The defined key names appear, when the drum edit is opened on a midi part, which is set to a program that
has defined key names.
One script could contain different modes, which can be associated to midi channels (for cases like: drumchannel,
FX channel, performance channel, …).
The first defined mode without channel ("[mode]%s") is the default mode for all channels, which does not
have a specific channel mode ("[mode%n]%s").
The script can be changed during runtime and will be updated, when the user wants to select a sound of that script.
only 1 command per line!
%n: means number (unsigned integer beginning with 0)
%L: means group level (unsigned integer beginning with 1)
%s: means string (ends at line end)
[comment]%s //can be inserted anywhere
[cubase parse file] //first command
[parser version %n] //second command. actual %n is 0001
[creators first name]%s //used to identify the script
[creators last name]%s //used to identify the script
[device manufacturer]%s //used to identify the script
[device name]%s //used to identify the script
[script name]%s //used to identify the script and is displayed
[script version]%s //used to identify the script
[bank: do swap value bytes] //swap MSB and LSB (“Roland” style)
[bank: don’t swap value bytes]
[bank: do send msb first]
[bank: don’t send msb first]
[bank: do send only one byte] //send only first byte (interacts with [bank: do send msb first])
[bank: don’t send only one byte]
[bank: do send as program change] //send bank select as several Program changes
[bank: don’t send as program change]
name definition bulk
[define patchnames] //start of name definition bulk
[mode]%s //define topmost grouplevel like “XG Voices” and “XG Drumkits”
// to distinguish different modes of a single device
[mode%n]%s //as above, but mode is associated with midi channel %n [1 - 16]
// eg: [mode 10] XG Drumkits
[g%L]%s //define group: %L level [1 - 9], %s name
[sorted] //following program name entries in that group will be
// shown sorted alphabetically
[p%L,%n,%n,%n]%s //define program name: %L level [1 - 9], %n program change [0 - 127],
// %n bank MSB [0 - 127], %n bank LSB [0 - 127], %s program name
[p%L,%n,%n]%s //define program name: %L level [1 - 9], %n [0 - 127] program change,
// %n bank (14 bit) [0 - 16383], %s program name
[k%n]%s //define key name (for the previously defined program):
// %n key number [0 - 127], %s key name
end of script
[end] //last command
here you can download the script documentation and a GM script
here you can find 331 hardware patchscript file!
The problem is i am not a programmer, so i can not handle this project.
If somebody can do this we are really happy!!!
Or maybe Official implementation would be awesome!!!