I added 2 presets at the beginning
Preset 0 (Init) handles all startup operations including setting (and documenting) global variables used and selecting the initial song at startup
Preset 1(Song Select) handles song selection
Both of the above presets are set to ‘always enabled’
The songs begin at preset 2 and are called by PC number.
Use the following global variables in rules of preset 0 translator 1 (translator 0.1)
// Initialize and document global variables used here
// Song Number - First song
ga=0
// Preset offset for first song
gb=2
// current prest
gc=ga+gb
// midi Channel for song Control
gd=0
rr=gd+1
Log "Log Listening for Program Changes on MIDI CH %rr%"
// last preset number of songs
ge=6
Presets are selected by PC number on MIDI channel gd. When a preset is enabled, all others are disabled (except for the always on preset). So each song will have it’s own translators within that preset.
When selecting songs I use PC number and then offset value to determine the correct preset. I have the max presets set so that nothing happens if you try to go over the number of songs that you have.
If you need to send PC’s within a preset, then either pick a different MIDI channel than MIDI channel 1 (gd=1) or change the MIDI channel that you want to use to control the Bome Project song selector. You could actually set up a different MIDI port on the same channel if you want to use a different controller. In that case, you will need to setup prest 2 to listen to that controller (device).
For more information about device selection, see this tutorial.
I set up my aliases as follows:
You can learn more about aliases from this tutorial.
Song-Select-2024-11-21.bmtp (2.8 KB)
Oh, and if you want to select song with CC instead of PC, Simply change the incoming trigger on Translator 1.1
Steve Caldwell
Bome Customer Care
Also available for paid consulting services: bome@sniz.biz