User Tools

Site Tools


macros:example:setplaybackfadeintimemodular

This is an old revision of the document!


Example

Playback - Set fade-in time - modular

by: Sebastian Beutel, April 2021
published: here
description: set some playbacks' fade-in time, modular macros
remarks: these macros incorporate some newer syntax details: instruction blocks, custom variables, macros refered in other macros

The basic functions are best understood when comparing with Playback - Set fade-in time. When using Handles.SetSourceHandle() which always refers to the handle index on the current page you need to make sure that there is actually something suitable present in this location - hence, some steps need to be conditional. Additionally when you want to make such macros for n different times and m different playbacks you need to repeat many lines of code.

Using newer syntax with code blocks and custom variables this is way easier: here we create only one macro to set all relevant playbacks' fade time to a variable value (using the block syntax to put a few instructions under one condition). Additionally a number of rather short macros simply sets the time variable to a certain value and then calls the 'apply' macro:

functions

affected properties

control structures

specials

Code

SetFadeInNew.xml
<?xml version="1.0" encoding="utf-8"?>
<avolites.macros>
  <macro id="Wiki.Macros.SetFadeIn" name="Set Fade In (2)">
    <variables>
      <object id="Time" type="Avolites.Acw.Titan.AcwTimeSpan" assembly="Avolites.Acw.Titan" value="2" />
    </variables>
    <sequence>
      <step>
        {
          Handles.SetSourceHandle("PlaybackWindow", 0);
          if (Playbacks.IsCueHandle(Handles.SourceHandle) == true)
          {
            ActionScript.SetProperty("Playbacks.Editor.SelectedPlayback", Handles.SourceHandle);
            Playbacks.Editor.SelectLiveCue();
            ActionScript.SetProperty("Playbacks.Editor.Times.CueFadeInTime", Wiki.Macros.SetFadeIn.Time);
          }
          Handles.ClearSelection();
        }
      </step>
      <step>
        {
          Handles.SetSourceHandle("PlaybackWindow", 1);
          if (Playbacks.IsCueHandle(Handles.SourceHandle) == true)
          {
            ActionScript.SetProperty("Playbacks.Editor.SelectedPlayback", Handles.SourceHandle);
            Playbacks.Editor.SelectLiveCue();
            ActionScript.SetProperty("Playbacks.Editor.Times.CueFadeInTime", Wiki.Macros.SetFadeIn.Time);
          }
          Handles.ClearSelection();
        }
      </step>
      <step>
        {
          Handles.SetSourceHandle("PlaybackWindow", 2);
          if (Playbacks.IsCueHandle(Handles.SourceHandle) == true)
          {
            ActionScript.SetProperty("Playbacks.Editor.SelectedPlayback", Handles.SourceHandle);
            Playbacks.Editor.SelectLiveCue();
            ActionScript.SetProperty("Playbacks.Editor.Times.CueFadeInTime", Wiki.Macros.SetFadeIn.Time);
          }
          Handles.ClearSelection();
        }
      </step>
    </sequence>
  </macro>
  <macro id="Wiki.Macros.SetFadeIn0" name="Set Fade In 0">
    <sequence>
      <step>ActionScript.SetProperty("Wiki.Macros.SetFadeIn.Time", time:0)</step>
      <step>UserMacros.RecallMacroById("Wiki.Macros.SetFadeIn")</step>
    </sequence>
  </macro>
  <macro id="Wiki.Macros.SetFadeIn1" name="Set Fade In 1">
    <sequence>
      <step>ActionScript.SetProperty("Wiki.Macros.SetFadeIn.Time", time:1)</step>
      <step>UserMacros.RecallMacroById("Wiki.Macros.SetFadeIn")</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

tbd

How to use it

You could leave a comment if you were logged in.
macros/example/setplaybackfadeintimemodular.1626874482.txt.gz · Last modified: 2021/07/21 13:34 by icke_siegen

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki