The trigger on a macro attached to a MIDI In port consist of two parts - the data and the mask. The mask defines which parts of an incoming MIDI packet need to match the data for the trigger to fire. The mask is derived automatically from the data given for the trigger - the more data, the more specific the mask.
There are between 1 and 4 fields in the trigger, separated by a space. They are only optional in sequence - so, for example, if you include the 3rd field, you must include the 2nd.
cc
for control changespgm
for program changeson
for note on messagesoff
for note off messagesNote that program changes only have one data byte
Thus:
pgm 3
will fire on all program changes on channel 3on 1 54
will only fire on Note On, channel 1, note 54 - but the velocity is ignored.cc 8 1 127
will only fire when the modwheel on channel 8 goes to maximum