You can have an expression map send CC, PC, and note events. It can also handle absolute or relative MIDI Channel bounces.
The base switches of expression maps are triggered via playing techniques in the score. Note that there are also an assortment of ‘articulation marks’ that can trigger base switches in an expression map if present. Examples are slurs/legato, staccato markings, up/down bows, accents, house tops, falls, doits, and more.
To find out what these are, check out the “Playing Techniques” status bar in the lower panel of the Play Tab. Typically articulations and such will first go through Dorico’s interpretation system and do simple things like add velocity/cc, change the length of notes, etc. If you assign a base switch in an expression map for the technique, it will ignore the default interpretive engine, and use your expression map’s interpretation instead. Note, it’s also possible to make expression map entries that don’t send any extra events at all, but rather override whatever Dorico’s default interpretive engine is set for (I.E. Add velocity to accents only to notes shorter than 1/16 of a beat and make them a little longer.)
Screenshot Showing Dorico’s Play Tab/Lower Pane
Of course the instrument needs to understand them.
Dorico also offers controller lanes in the Play tab that can be used to send CC events. I don’t think it supports PC events at this time.
HALion Sonic does provide two different modes that can accept program changes, but these are not active by default when Dorico starts instances automatically.
Sonic Modes
GM Mode: When in GM mode, all channels but 10 will respond to PC changes, and Sonic ships by default with a base GM set of instruments mapped out. You can change them in the media browser by assigning a program number (GM Sound Column) and rating with stars. I.E. If you have 6 pianos tagged as GM Sound 1, the one with the highest rating (most stars) gets picked. Channel 10 gets hard set to the highest rated HALion program with the GM Sound number 129.
Remember that Yamaha and Steinberg likes to number instruments from 1 - 128 rather than 0 - 127 in their manuals and databases. In Dorico expression maps, you should subtract 1 from what is listed in Sonic or full HALion from the displayed GM Sound (PC) number, as Dorico’s expression maps expect values from 0 - 127 instead.
Showing the Assigned GM Sound (PC) assignments in Sonic’s Media Bay
I recommend popping the media bay window so it is stand alone by clicking here:
Now that you have a nice big area to display the media browser, you can activate the column that shows GM PC assignments and manipulate them.
Click the settings cog here, and activate the column so display GM Sound assignments. You might have to do a horizontal scroll to see it.
You can drag columns in media bay to show in the order you like. I.E. Here, I’ve dragged it to the 3rd column so it’s easy to see. I can double click a GM Sound field in the table and type in changes (1-128, Subtract one when entering calls into an Expression Map, which does 0-127 instead of 1-128).
Multi Mode: In Multi Mode, the user can manage a template of multi-program presets, and thus call up complete plugin states via PC events.
Sidenote: When doing custom configurations of HALion/Sonic, do it in a fresh unique instance. The reason for this is if you mess with one of the instances automatically created via Dorico auto template, adding a new instrument/stave/player/section to a score (Setup Tab) might overwrite your custom slots. It just remembers the last instance and slot it set up automatically; hence, adding new staves will simply fill the next available slot in the last Sonic instance Dorico set up (or start a new one once the count hits 16), and might take over what you’d tried to set up. Starting a fresh instance avoids this.
Remember to save your custom Sonic stuff in sonic, or as a general VSTpreset at the very top of your plugin’s UI/window. Of course you can save individual program slots, or complete muli-program (complete state of a Sonic Plugin) presets in Sonic itself. You can also save the complete state of ANY VST/VSTi plugin through Dorico itself.
Saving/loading a Complete VSTpreset from Dorico
Notice that this is available for third party plugins too! In this example I have an instance of Bidule, which is hosting Garritan JABB3 instruments, and Dorico allows me to save/load snapshots/VSTpresets of the Bidule instance’s full state just as I could with HALion Sonic.
So, for custom endpoints involving HALion/Sonic…make fresh new instances!
Instrument End Points: You can save your stave endpoints for future use. You can add them to custom playback templates if you want them automatically chosen by Dorico from then forward. You can also manage multiple playback templates, mix and match them, and set priorities on them.
Don’t forget that Sonic, and Dorico both allow you to save VSTpresets of your custom plugin instances. You can also export/import your custom expression maps.