Example ====== Trigger - Add MIDi trigger ====== ^ by: | Gregory Haynes, Sebastian Beutel June/August 2018 | ^ published: | http://forum.avolites.com/viewtopic.php?f=20&t=5726 | ^ description: | add midi triggers | ^ remarks: | interesting to predefine some triggers in setup macros | {{tag>add midi trigger}} ==== functions ==== * [[:macros:function:Triggers.SelectMappingByName]] * [[:macros:function:Triggers.SetPendingTargetHardware]] * [[:macros:function:Triggers.AddMidiTrigger]] * [[:macros:function:Math.ToEnum]] * [[:macros:function:Triggers.SetPendingTargetAction]] * [[:macros:function:Triggers.SetPendingTargetHandle]] ==== affected properties ==== * [[:macros:property:Triggers.SelectedMappingId]] * [[:macros:property:Triggers.PendingTriggerTarget]] ==== identifiers (other than standard) ==== * [[macros:identifier:menueventtypes|]] ===== Code ===== **Long lines wrapped for readability - you can as well delete all line wraps.** Triggers.SelectMappingByName("Your Mapping Name") Triggers.SetPendingTargetHardware( "PlaybackSelect", Math.ToEnum( "", "Avolites.Menus.MenuEventTypes", "OnSelect"), "Playbacks", 0, "Swop") Triggers.AddMidiTrigger( Triggers.SelectedMappingId, Triggers.PendingTriggerTarget, 0, Math.ToEnum( "Avolites.Titan.Controllers.Console", "Avolites.Titan.Controllers.Console.PanelMidiCommands", "Note"), 11, 0, 127, 0, false) Triggers.SelectMappingByName("Your Mapping Name") Triggers.SetPendingTargetHardware( "PresetFader", Math.ToEnum( "", "Avolites.Menus.MenuEventTypes", "OnValueChanged"), "Presets", 0, "") Triggers.AddMidiTrigger( Triggers.SelectedMappingId, Triggers.PendingTriggerTarget, 1, Math.ToEnum( "Avolites.Titan.Controllers.Console", "Avolites.Titan.Controllers.Console.PanelMidiCommands", "Continuous"), 1, 0, 127, 0, false) Triggers.SelectMappingByName("4") Triggers.SetPendingTargetHardware("PlaybackSelect", OnButtonDown, "Playbacks", 1, "") Triggers.AddMidiTrigger( Triggers.SelectedMappingId, Triggers.PendingTriggerTarget, 1, Math.ToEnum( "Avolites.Titan.Controllers.Console", "Avolites.Titan.Controllers.Console.PanelMidiCommands", "Continuous"), 17, 0, 127, 0, false) Triggers.SelectMappingByName("4") Triggers.SetPendingTargetHandle("Location=Playbacks,1,1") Triggers.SetPendingTargetAction("Flash") Triggers.AddMidiTrigger( Triggers.SelectedMappingId, Triggers.PendingTriggerTarget, 1, Math.ToEnum( "Avolites.Titan.Controllers.Console", "Avolites.Titan.Controllers.Console.PanelMidiCommands", "Continuous"), 12, 0, 127, 0, false) ===== Explanation ===== This explains the functional steps within the sequence. For all the other XML details please refer to [[:macros:formats_and_syntax#xml_format|Formats and syntax]] Here, various triggers are created, simply by the same commands, with different parameters. * ''Triggers.SelectMappingByName()'' defines the trigger mapping where the trigger is to be added * for trigger type=hardware, the triggered hardware is set with ''Triggers.SetPendingTargetHardware()'' * for trigger type=item, the triggered item handle is defined with ''Triggers.SetPendingTargetHandle()'' and the trigger action is defined with ''Triggers.SetPendingTargetAction()'' * the actual trigger is then created with ''Triggers.AddMidiTrigger'' with all the little details (e.g. MIDi channel etc.) as parameter ===== How to use it ===== - [[:macros:deploying|make this macro available]] This is best used to prepare some triggers which you always use, in some setup macros. ~~DISCUSSION~~