Table of Contents

Example

Chase - Halve speed

by: Gregory Haynes, Feb 2016
published: http://forum.avolites.com/viewtopic.php?f=20&t=3744#p15848
description: halves currently chase's BPM rate
remarks: The problem with this code is that it requires the chase to be set as the selected playback in the editor (used for the Edit Times menu). This means that the Playback View which could be showing a cue list switches to show the chase instead, to get around this I have stored the previous selected playback and restore that afterwards but this does cause the display to flicker.
In version 10.1, one of the affected variables has changed - you need to use the correct macro for your Titan version.

functions

affected properties

This macro changes the speed which is stored with the chase. If you've set the user setting 'Connected View Sets: Temporary Chase Speed' then when applying this macro, the main chase speed is halved and then overwrites the temp chase speed.

In version 10.1, one of the affected variables has changed - you need to use the correct macro for your Titan version.

Code

until Titan version 10.0

halvechasespeed.xml
<?xml version="1.0" encoding="utf-8"?>
<avolites.macros xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Avolites.Menus.xsd">
  <!-- This macro does not work in versions from 10.1 as the property Playbacks.Editor.Times.ChaseSpeed has been swopped for Playbacks.Editor.Times.PlaybackSpeed. -->
  <macro name="Chase Speed Half" id="Avolites.Macros.ChaseSpeedHalf">
    <description>Halves the speed of the currently connected chase.</description>
    <sequence>
      <step>ActionScript.SetProperty("Handles.SourceHandle", Playbacks.Editor.SelectedPlayback)</step>
      <step>ActionScript.SetProperty("Playbacks.Editor.SelectedPlayback", Chases.ConnectedHandle)</step>
      <step>ActionScript.SetProperty.Float("Playbacks.Editor.Times.ChaseSpeed", Playbacks.Editor.Times.ChaseSpeed / 2)</step>
      <step condition="Math.IsLessThan(Playbacks.Editor.Times.ChaseSpeed, 1.0)">ActionScript.SetProperty.Float("Playbacks.Editor.Times.ChaseSpeed", 0.0)</step>
      <step>ActionScript.SetProperty("Playbacks.Editor.SelectedPlayback", Handles.SourceHandle)</step>
    </sequence>
  </macro>
</avolites.macros>

from Titan version 10.1

halvechasespeed.xml
<?xml version="1.0" encoding="utf-8"?>
<avolites.macros xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Avolites.Menus.xsd">
  <!-- This macro does not work in versions below 10.1 as the property Playbacks.Editor.Times.PlaybackSpeed formerly was  Playbacks.Editor.Times.PlaybackSpeed. --> 
  <macro name="Chase Speed Half" id="Avolites.Macros.ChaseSpeedHalf">
    <description>Halves the speed of the currently connected chase.</description>
    <sequence>
      <step>ActionScript.SetProperty("Handles.SourceHandle", Playbacks.Editor.SelectedPlayback)</step>
      <step>ActionScript.SetProperty("Playbacks.Editor.SelectedPlayback", Chases.ConnectedHandle)</step>
      <step>ActionScript.SetProperty.Float("Playbacks.Editor.Times.PlaybackSpeed", Playbacks.Editor.Times.PlaybackSpeed / 2)</step>
      <step condition="Math.IsLessThan(Playbacks.Editor.Times.PlaybackSpeed, 1.0)">ActionScript.SetProperty.Float("Playbacks.Editor.Times.PlaybackSpeed", 0.0)</step>
      <step>ActionScript.SetProperty("Playbacks.Editor.SelectedPlayback", Handles.SourceHandle)</step>
    </sequence>
  </macro>
</avolites.macros>

Explanation

This explains the functional steps within the sequence. For all the other XML details please refer to Formats and syntax

In version 10.1, the property Playbacks.Editor.Times.ChaseSpeed was swopped for Playbacks.Editor.Times.PlaybackSpeed. Apart from that, the mechanics of the macro are unchanged.

How to use it

Please choose the correct macro for your Titan version.