Example ====== Masters - BPM Master (snippet) ====== ^ by: | Alex del Bondio | ^ published: | October 2017 | ^ description: | Macros for double, half, tap, reset each of the BPM masters. | ^ remarks: | This is based on the [[macros:identifier:titanid|fixed Titan IDs]] which we found exactly for these macros. | {{tag>BPM master double half speed tap tempo}} ==== functions ==== * [[macros:function:Masters.DoubleOrHalfSpeedMultiplier]] * [[macros:function:Masters.TapTempo]] * [[macros:function:Math.GetCurrentTimeStamp()]] * [[macros:function:Masters.ResetSpeedMultiplier]] {{ :macros:example:adb_masters.xml }} is a newer version with additional macros to set Multiplier on all BPM Masters simultaneously and to reset all multipliers as well as rate and size master macros. The file {{ :macros:example:adb_bpmmaster.xml }} has the macros already written for all 4 BPM masters **(Titan v10)**. Here, we use BPM master 1 to explain it. **The Titan IDs have slightly changed from v10 to v11 see [[macros:identifier:titanid]], and while the mentioned reserved IDs are a good starting point, there is no guarantee they haven't changed in your show. If these macros do not work for you then try to find the Titan IDs of your masters and adjust the macros accordingly.** ===== Code ===== These are examples for BPM Master 1. For other BPM Master please refer to the Titan IDs mentioned above Tap Masters.TapTempo(1607, Math.GetCurrentTimeStamp()) Set to 85bpm (if the BPM Master on the console is set to multiplier on fader this macro will change the multiplier) Masters.SetSpeed(1612, 85.000) Half Multiplier Masters.DoubleOrHalfSpeedMultiplier(1607,false) Double Multiplier Masters.DoubleOrHalfSpeedMultiplier(1607,true) Set Multiplier to a specific value ActionScript.SetProperty("Masters.SelectedMaster", handle:"masterHandleID=1612") ActionScript.SetProperty("Masters.OptionsEditor.SingleSelection.SpeedMultiplier", double:2) Reset Multiplier Masters.ResetSpeedMultiplier(1607) Freeze (temporarily set to 0) Masters.DeadBlackOut(1612) Unfreeze Masters.ClearFlash(1612) ===== 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]] * ''Masters.DoubleOrHalfSpeedMultiplier(1607,false)'' halves the bpm speed of bpm master 1 which is identified by its fixed titan ID * ''Masters.DoubleOrHalfSpeedMultiplier(1607,true)'' doubles the bpm speed of bpm master 1 which is identified by its fixed titan ID * ''Masters.TapTempo(1607, Math.GetCurrentTimeStamp())'' taps the bpm speed of bpm master 1 which is identified by its fixed titan ID. The timestamp is a required parameter for this function to work, see [[macros:function:masters.taptempo]] * ''Masters.ResetSpeedMultiplier(1607)'' resets the bpm speed of bpm master 1 which is identified by its fixed titan ID ===== How to use it ===== - [[macros:deploying|make this macro available]] - apply when needed (you'll see the results when you have BPM masters assigned) ~~DISCUSSION~~