[Idea] Patchname


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.

--------- commands

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

optional settings

[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!!!

Well I have been working on a cakewalk instrument definition parser for renoise. It’s mostly done and you can find some old snippet that is not 100% in the Tec forum.

I’m planning a tool (“Hardware instruments”) making the user able to quickly choose what synth you want to use (nifty prefs with picture and all if possible), automatically inserting the following in accordance to your options:

  1. Proper midi out device/channel
  2. line-in device with the correct input
  3. Instr MIDI device(s) matching the controllers defined in the instrument definition file.

With a fast and good bank/patch browser of course. I got inspired by the prefs in presonus studio one.

If someone else is working on something similar i’d be grateful if you told me, as this is a semi big project getting it to work fully reliable.

i dont know someone else… with this idea…
really hard to find bank changes on some hardware… my command station hase lots of rom, that has different bank ids. it means Composer rom start BANK:513.514.515… and so on
Terrible in renoise. easy in cubase :D


you have any progress?

Sorry, I have been working on other projects but I might dig into this soon (ish).

mybe somebody can help about this…