ExpressionList.tpk can definitely be used to define new techniques. The seemingly arcane 4-character values under "Expression ident" and "Start technique" are not references to something already defined elsewhere. They are actually being defined right here in this file.
I just ran an experiment. Chris Hein Horns Compact has two main "velocity modes", velo. fade and velo. key. Without getting into too much detail, let's say I have an instrument that uses "Velo. Fade" on MIDI Channel 1 in Kontakt, and an instrument that uses "Velo. Key" on MIDI Channel 2.
I wanted to add a new technique, called "v-fade", to tell Notion to send notes to the Velo. Fade instrument. I also wanted a technique to cancel it, called "v-key". By default, with no techniques, I want Velo. Key to be used.
I added the following to the ExpressionList.tpk file, just before the </expressions> line:
- Code: Select all
<packet type="EXPD" name="Expression define">
<property key="exid" name="Expression ident">vfad</property>
<property key="exor" name="Expression level">422</property>
<property key="excf" name="Expression conflict">vfad vkey</property>
<property key="sttc" name="Start technique">vfad</property>
<property key="syid" name="Style ID">expr</property>
<property key="extx" name="Expression text">v-fade</property>
<property key="exbh" name="Expression both sides">False</property>
<property key="atps" name="Staff side">abov</property>
</packet>
<packet type="EXPD" name="Expression define">
<property key="exid" name="Expression ident">vkey</property>
<property key="exor" name="Expression level">422</property>
<property key="excf" name="Expression conflict">vfad vkey</property>
<property key="entc" name="End techniques">vfad</property>
<property key="syid" name="Style ID">expr</property>
<property key="extx" name="Expression text">v-key</property>
<property key="exbh" name="Expression both sides">False</property>
<property key="atps" name="Staff side">abov</property>
</packet>
A few things to note:
"Expression ident" is the name of the technique. I believe this is used by other techniques to refer to it for conflicts and such.
"Start technique" is what identifies the 4-character technique name that you will use in your custom rules. "End technique" is used to end a technique that cannot co-exist with the expression you are defining. In this case, I did not do a new "Start technique" for "vkey", because I don't want it to be a real technique that can be checked in custom rules, I just want it to cancel the v-fade technique.
"Expression text" is the text that will appear in your Notion score.
"Expression conflict" identifies the techniques that cannot co-exist with this one.
The other stuff you can experiment with, but does not seem to be critical.
Then, I created a custom rules file, as follows:
- Code: Select all
<?xml version="1.0" ?>
<rule-set version="1">
<dynamic-map id="velo">
<dynamic dynamic="ppppp" value="1" />
<dynamic dynamic="pppp" value="1" />
<dynamic dynamic="ppp" value="1" />
<dynamic dynamic="pp" value="19" />
<dynamic dynamic="p" value="37" />
<dynamic dynamic="mp" value="55" />
<dynamic dynamic="mf" value="73" />
<dynamic dynamic="f" value="91" />
<dynamic dynamic="ff" value="109" />
<dynamic dynamic="fff" value="127" />
<dynamic dynamic="ffff" value="127" />
<dynamic dynamic="fffff" value="127" />
</dynamic-map>
<group id="test">
<setup>
<velocity-map id="velo" />
<hairpin-map id="velo" />
<hairpin-cc value="11" />
</setup>
<rule name="default">
<channel-change channel="2" />
</rule>
<rule name="vfade">
<if technique="vfad" />
<channel-change channel="1" />
</rule>
</group>
</rule-set>
This sets the default MIDI channel as Channel 2, and only uses Channel 1 as long as the "v-fade" technique has been applied.
In my Notion score, which has the above Rules file sitting in a Rules subfolder at the same level as the Notion score, I pressed "Shift-Y" and applied it to the first note of the score. I entered "test", because this is the group ID identified in my rules file.
I then pressed apostrophe and started typing "vfad". The text "v-fade" appeared, and I applied that to a note in the middle of the score. Then I pressed apostrophe and started typing "vkey". The text "v-key" appeared, and I applied that to a later note.
I played the score, and it worked as expected: the notes at the beginning of the score played on MIDI Channel 2, then switched to MIDI Channel 1 upon reaching "v-fade", then switched back to Channel 2 upon reaching "v-key".
edited to remove unfinished thought from one of the paragraphs.