THERE IT IS: the ultimate custom module for cubase users (at least for me)


I've been working on this for hours, now. I've set the whole thing for my SwingMore! library, and i've noticed a few things...

At first, some articulations names were'nt in the good order.. so, i looked deeper, and understood that we were picking the - see below - blue names, "instead" of the green ones. Green ones being those shown in the Cubase Inspector.

EDIT : looking closer at the xlm, trying to understand the whole thing, i found out how to get to those "green" values...

With this :

var art_swingmore_clar_longs = [swingmore_clar_longs.InstrumentMap.member[1]?.list.obj[0]?.member[1]?.string.value,
    ... ... ... ...

instead of that

var art_swingmore_clar_longs = [swingmore_clar_longs.InstrumentMap.member[1]?.list.obj[0]?.string[1].value,
    ... ... ... ...

At least, now, i have a better understanding of how an xml works... and i finally understood those [ ]?. too ! Gosh... i'm exhausted :crazy_face: :slightly_smiling_face: I just hope i'm not totally wrong with "how to use well the expression maps" :smiley:

Second thing, still no solution : sometimes track names are truncated, or buttons won't update... i don't see any reason for this... weird...

Am i missing something ?

Well, despite of things, i'm re-discovering my sounds... and that's so cooool... :+1:

this is great. i must have overlooked these entries...sorry for that :man_facepalming:

if (trackname.includes('Bassoon - NISS')) {
				articulation = art_niss_bassoon

			if (trackname.includes('Contrabassoon - NIS')) { // only 19 chars...i had to delete the last "S"
				articulation = art_niss_contrabassoon

in this part of the custom module be sure you only use the first 18 (EDIT actually 19) chars of cubase channel name. other wise the buttons won't update.

the truncated tracks happen when track names (only if they are next to each other in cubase ) have equal amount of chars before fist space and then "wrong track name" gets send to OSC and buttons wont update.
i have no plan why it behaves like this. :tired_face:

hope this helps

Thanks for your answer.

Well, i just had 11 / 13 characters and it was going crazy sometimes.

I've just tried to reduce both track names, expression maps names, xml names... I got rid of ".", "-" and others too.

Well, with two tracks, for now, it may have helped. I can switch from my "TTrb LegVers" to my "TTrb LegMD" without any problem...

So less spaces, less punctuation marks.... maybe it is the solution ?... I hope it will last... I'll try with more tracks ASAP, and hopefully we're gonna make it !

EDIT : I made i few test....

Expression maps :

Track names:

Seems to be better... Je touche du bois !

it does it not always. i can't not always reproduce it.

something else i just discovered after editing my buttons, the unused buttons wont hide anymore. no matter what i do now they just wont hide anymore. if i do the buttons from scratch it works but as soon i edit them they don't hide anymore.

very weird.

i guess
"the ultimate custom module" was a little bit overkill. :innocent: :innocent: :innocent:

So I’ve been investigating this further and wondered if it would not be better to add or populate the js objects into the custom module by using xml2js instead of creating a json.

If I can get the custom module to access the file structure and parse the xml when it initialises or when triggered that would cut out the errors.

This probably needs a separate thread…

this would definitely be the better solution.

did you see that 1.14.0 is out. there is something interesting but i don't know yet how to use it.

1.14.0 Changelog

  • added IMPORT{file} syntax to allow loading external files in properties

I'm just starting to look at everything and follow your thread with enthusiasm.
I need to get an overview of how I want to approach it. I don't need much on my iPad, but articulations and microphones are important to be able to control my instruments on VEP.

The title with only 15 characters is very short for an instrument.
How would be the approach with a unique number per instrument e.g. the first 4 characters, so up to 9999 instruments can exist in a default configuration. (Is of course exaggerated but over 1000 are already)
Like "0042 (OTBS) Violins 2 Octave Scale Runs"
The first 4 characters are read by Cubase (0042) and points to a database or more simply into a combined module that then writes the whole name to the touchscreen.
Or has this approach already been discussed?


your name sounds very swisslike. are you from switzerland?

i started wirh exatcly this approach. then i took it one step further to have instrument groups "ww0001", "ww0002", ... for woodwinds. this works perfectly fine. but if you add new tracks in a session, the thing gets screwed up visually. another thing that annoyed me was the mixer having all these prefixes in the channel names. but if this is ok for you this works great.

Yes I am from Switzerland... are you near?
My structure at the moment looks more like this... Here I can normally start different queries like (w) for Woodwinds, (OT) for Orchestral Tools. Then it would be only 5 characters (4 digits and 1 space) before the instrument name starts.
Bildschirmfoto 2022-01-18 um 13.52.08

great! i'm from St. Gallen... :innocent:

this totally works.

I wonder if there is Project Logical Edotor function that could re number all the tracks for you when you add a new one?

i'm afraid this is not possible

This is my basic configuration.I always enter an instrument set as a whole, of course.
Berlin Woodwinds from 0001-0012
Berlin Brass from 0013-0029 etc.
This is no longer changed. "0022 Horn 4" will always remain the Horn 4. Additional instrument will then simply be added.
I currently manage my instruments in an Excel file to not lose track of them.
An entry in my Excel file contains VEP Instance, Vendor name, name of set, Instrument name, Instrument number, Midi Port, Midi Channel, Audio Left, Audio Right etc.

Check this little utility out...

Nice one :slightly_smiling_face: I use a similar approach.
Instead of decimal numbers I prefix the track name with a hex number #aabbcc to get the correct index to the articulation map.

this is how far i come in OSC:

now i try to modify the source code than we can use all 112 chars for one track. i have no idea where to start but anyway i'm just trying to figure things out.

but at the end of the day it's still MACKIE that goes out of cubase.

Is that where the character limitation comes from then - at what point does it get truncated? Before it leaves cubase?

cubase truncates it and sends it out

f0 00 00 66 05 00 12 01 20 54 72 75 6d 70 65 74 73 20 02 61 33 20 2d 20 53 46 42 42 43 f7

this leaves cubase. and this "02" made also problems at the beginning. i had to cut it out in the custom module. hence why we have only 19 and not 20 chars.

i tried with bome midi translator pro trial version. this would work but it's a very tedious work. you can out put whatever you want here.
we could do the same in the custom module but also a lot of code. we have to do it for every track but we would have the same track name as in cubase. if you just do it once it's ok. but adding new tracks in a session with new expression maps is a nightmare. you always loose focus on the musical work you should do.

we could just do it like this in the custom module:

if (trackname.includes('Tenor Trombones a3')) {
                trackname = 'Tenor Trombones a3 - SFBBC add what ever you want'
                articulation = art_sfbbc_tenor_trombones_a3

i know this is not perfect. especially when you have to add tracks during a session.
just ideas