User Tools

Site Tools


todo

Currently to do

This is just a scratchpad of what to do next in this wiki - feel free to register and contribute.

Missing articles

# ID Links
1personality:compatibility_attributes4 : Show backlinks
2macros:control_structures:menulink4 : Show backlinks
3personality:attribute_id3 : Show backlinks
4webapi:boolean2 : Show backlinks
5macros:syntax:referingmacros2 : Show backlinks
6macros:type:acwframerate2 : Show backlinks
7macros:function:programmer.editor.fixtures.incrementdimmer2 : Show backlinks
8macros:identifier:macroid2 : Show backlinks
9macros:syntax:codeblocks2 : Show backlinks
10external:midi_feedback2 : Show backlinks
11external:midi_notes_and_cc2 : Show backlinks
12ai:modules:display:video_out2 : Show backlinks
13external:msc_-_midi_show_control2 : Show backlinks
14macros:property:playbacks.editor.times.cuefadeouttime1 : Show backlinks
15personality:attribute_group1 : Show backlinks
16macros:function:programmer.editor.fixtures.setselectedcontrolsfrozen1 : Show backlinks
17webapi:requests:programmer_editor_fixtures_setcontrolvaluebyname1 : Show backlinks
18webapi:requests:playbacks_replaceplaybackcue1 : Show backlinks
19macros:function:programmer.editor.fixtures.setcontrolvaluebyname1 : Show backlinks
20webapi:requests:playbacks_storecue1 : Show backlinks
21macros:property:playbacks.editor.times.cuespeedmultiplier1 : Show backlinks
22webapi:requests:selection_context_programmer_selectfixture1 : Show backlinks
23webapi:requests:timecode.timecodeone.setstarttime1 : Show backlinks
24webapi:requests:playback_x_cue_y1 : Show backlinks
25macros:control_structures.pause1 : Show backlinks
26macros:namespace:timelines1 : Show backlinks
27macros:property:handleoptions.playbacks.priority1 : Show backlinks
28macros:control_structures.start_end1 : Show backlinks
29webapi:requests:playback_x1 : Show backlinks
30macros:function:fixtures.patch.freezefixtures1 : Show backlinks
31macros:type:menuitem1 : Show backlinks
32external:midi_show_control1 : Show backlinks
33macros:property:handles.colours.changepage1 : Show backlinks
34macros:property:handles.colours.page.index1 : Show backlinks
35ai:modules:display:aioutputrenderer1 : Show backlinks
36macros:type:object:selection1 : Show backlinks
37macros:property:handles.playbackwindow.changepage1 : Show backlinks
38macros:converter:math.enumasstringequalityconverter1 : Show backlinks
39macros:function:editor.timelines.setcontexttimeline1 : Show backlinks
40macros:function:lockmode.lockconsole1 : Show backlinks
41macros:property:custom1 : Show backlinks
42webapi:requests:playback1 : Show backlinks
43webapi:requests:actionscript_setproperty_string1 : Show backlinks
44macros:property:palette.numeric.inputvalue1 : Show backlinks
45macros:syntax:start_end1 : Show backlinks
46webapi:requests:handles_playbacks1 : Show backlinks
47webapi:requests:handles_setlegend1 : Show backlinks
48webapi:requests:handles_setsourcehandlefromhandle1 : Show backlinks
49webapi:requests:macros:run1 : Show backlinks
50macros:syntax:customvariables1 : Show backlinks
51personality:attribute_function1 : Show backlinks
52webapi:requests:palette:numeric:inputvalue1 : Show backlinks
53macros:function:chases.play1 : Show backlinks

To Do

complete articles

see above

Identifiers

See below for the planned structure of types, object types, identifiers

Identifiers

  • Elaborate on identifiers.
  • Examples
  • Groups

MaskIds

not yet possible

all the tbd's

questions

debugging macros

sACN triggers

  • trigger a master (e.g. speed) in order to fade it over time
  • trigger macros on single cues
  • invert something (but why…)
  • virtual Capture multipatch
  • size master?

WebAPI

  http://localhost:4431/titan/script/2/Menu/InjectInput?type=OnButtonDown&id=GoBack&group=NoGroup&index=0
  http://localhost:4431/titan/script/2/Macros/Run?macroId=Avolites.Macros.Go
  http://localhost:4430/titan/script/2/Macros/Run?macroId=Avolites.Macros.GoBack
  http://localhost:4430/titan/script/2/CueLists/Play?handle_userNumber=6
  http://localhost:4430/titan/script/2/CueLists/GoBack?handle_userNumber=6
  http://localhost:4431/titan/script/2/Menu/InjectInput?type=OnButtonDown&id=Go&group=NoGroup&index=0

ASCII

external control

examples

Forum done until 01.03.19

setting timecode via WebAPI doesn't need a TimecodeTime object:

http://localhost:4430/titan/script/2/Timecode/TimecodeOne/SetStartTime?time=05:04:03:02

see https://www.facebook.com/groups/1811437589141428/posts/3157429167875590/

Timecode.TimecodeOne.SetStartTime and TimecodeTime object, see http://forum.avolites.com/viewtopic.php?f=20&t=6298

(Gregory, 27.08.2018)
Unfortunately no I don’t think there is any way to tell for sure. However generally older parts of the software such as Handles and Palettes will require function calls whereas newer or rewritten code such as Edit Times, Playback Options, Timecode and Capture settings will normally respond directly to the property changes. This is mainly because the latter was not always possible and we don’t generally rewrite working code unless there is a need to as this runs the risk of introducing bugs.

is there a way to tell whether setting a property is enough (like in ActionScript.SetProperty(“Playbacks.Editor.Times.PlaybackReleaseTime”, time:0) ) or both must be done (property set AND function applied, like with lockState)?

Gregory, Email 11.12.19 re. new variables: automatic definition of variables: gregory_variables.pdf

Toggle Trigger Mappings in v12, see https://www.facebook.com/groups/Avolites/permalink/1766567636808796/ and http://forum.avolites.com/viewtopic.php?f=3&t=6337, and toggletriggermappings.xml

However this start/end thing prevents macros to load in versions pre 14

Example for version checking, syntax of nested quotes etc.

  <macro name="Set PB 903 legend" id="Macros.SetPB903Legend">
    <description></description>
    <sequence>
      <step>Handles.SetSourceHandleFromHandle("playbackHandleUN=903")</step>
      <step condition="Math.String.StartsWith(System.SoftwareVersion, '13')">{
        ActionScript.SetProperty("Handles.PendingLegend", "This is v13");
        Handles.SetLegend();
        Handles.ClearSelection();
      }</step>
    </sequence>
  </macro>

Example for reversing, offsetting and restarting shapes (Matias Muccillo), see https://www.facebook.com/groups/Avolites/permalink/1799612296837663/

mm-symmetrical-shape.xml

Elaborate on trigger software usage on Software List, e.g. Show Cockpit from https://www.facebook.com/groups/Avolites/?post_id=1830168723782020&comment_id=1830316103767282

matias Mucillos setup macro: mm_store_playback_test.xml

new way of writing conditions, use of variable, cast doesn't work inside clock - see Gregory's mail of 21.04.2021 and setfadein.zip (this is a further development from Playback - Set fade-in time

set halo colour, see Gregory's email 07.01.19:

<sequence>
  <step>Handles.SetSourceHandleFromHandle("chaseHandleUN=22")</step>
  <step>ActionScript.SetProperty("Handles.PendingHalo", colour:"#ffff0000")</step>
  <step>Handles.SetHalo()</step>
  <step>Handles.ClearSelection()</step>
</sequence> 

link macro to cuelist cue, Sebastiaan Groen (Messenger 02.06.21)

<sequence>
  <step>ActionScript.SetProperty("Playbacks.Editor.SelectedPlayback", handle:"Location=Playbacks,1,1")</step>
  <step>Playbacks.Editor.CueSelection.SelectCueByNumber(handle:"Location=Playbacks,1,1", 1)</step>
  <step>Playbacks.Editor.Macros.AddLinkFromId("Avolites.Macros.OpenWorkspaceWindow")</step> <!--example Macro-->
</sequence>

additionally add/remove macros as per Roger Piqué (messenger 14.04.22): roger_addmacro.xml

selection by pattern which is always done through RunCommand, see Quick-Create groups additionally Gregory's comment, email 10.06.21:

It won’t make much difference but in principle you could select the group and set the pattern in one command e.g. Command.RunCommand(“GROUP 1 PATTERN 1.1”). The function used when holding down a group is slightly different Command.RunGroupCommand(Group.CurrentGroupUserNumber, “PATTERN 1.1”) which ends up running the same command string as above but changes an option for how the group is toggled. From what I can tell the difference is that RunGroupCommand will deselect fixtures it they are already selected but the normal command will always add to the select and never remove. Even though the factory macro sets the Selection.Context.Global.RepeatPattern property it does not look like the software normally does this and will therefore leave it as the user has last set it.

select handle to set opions: select_handle_for_setting_options.pdf

all user settings: missing_settings.xml, settings_neu.xml

set timeline cursor position:

ActionScript.SetProperty("Editor.Timelines.ContextTimeline.CursorPosition", Timecode.AsObservable(Timecode.MakeTimecodeTime(1, 00, 00, 00, false, 100))) 

(messenger Roger Pique 06.04.22)

Gregory Haynes on time objects and timeline functions: gregory_timeline.pdf

first timeline examples:

<?xml version="1.0" encoding="utf-8"?>
<avolites.macros>
 
  <!-- play/pause by usernumber 1 -->
  <macro id="Avolites.Macros.Timeline1.Play" name="Play Timeline 1">
    <sequence>
      <step>Timelines.PlayTimeline(userNumber:1)</step>
    </sequence>
  </macro>
  <macro id="Avolites.Macros.Timeline1.Pause" name="Pause Timeline 1">
    <sequence>
      <step>Timelines.PauseTimeline(userNumber:1)</step>
    </sequence>
  </macro>
 
  <!-- play/pause by location - playbacks page 1 slot 1 -->
  <macro id="Avolites.Macros.TimelinePB1.1.Play" name="Play Timeline PB 1.1">
    <sequence>
      <step>Timelines.PlayTimeline("Location=Playbacks,1,1")</step>
    </sequence>
  </macro>
  <macro id="Avolites.Macros.TimelinePB1.1.Pause" name="Pause Timeline PB 1.1">
    <sequence>
      <step>Timelines.PauseTimeline("Location=Playbacks,1,1")</step>
    </sequence>
  </macro>
 
</avolites.macros>

Gregory (21.07.22): Off Palette Groups: offpalettegroup.xml

Gregory (15.08.22): no numbers in property names gregory_no_numbers_in_property_names.pdf

Gregory (13.01.23): invert selected fixtures gregory_toggleinvert.pdf

http://forum.avolites.com/viewtopic.php?f=20&p=24490:

I didn't find a way to retrieve the usernumber of the current layout. But if you can live with using the legends (Layout 1, Layout 2 etc. - or you change the coverterParameter accordingly) then this would work:
<macro id="Avolites.Macros.SelectLayout_2" name="Select layout UN 2">   
  <active binding="{propertyLink id='Editor.Layouts.ContextLayout.Legend' converter='Math.EqualityConverter' converterParameter='Layout 2'}"/>
  <sequence>
    <step>Editor.Layouts.SetContextLayoutFromUserNumber(2)</step>
  </sequence>   
</macro>

timeline macros, see timelinemacros.xml (14.02.24)

20240407

from facebook: create cuelist and write timecode

createCuelistWithTc.xml
<?xml version="1.0" encoding="utf-8"?>
 
<!-- see https://www.facebook.com/groups/Avolites/posts/3064252807040266/ -->
 
<avolites.macros>
  <macro id="UserMacro.CreateCueList4">
    <name>A14Create Cuelist</name>
    <sequence>
      <step>Playbacks.CueList.CreateCueList("Playbacks", 0)</step>
      <step>Playbacks.Select.EditHandle("Location=Playbacks,1,0")</step>
      <step>Handles.SetSourceHandle("Playbacks", 0)</step>
      <step>Playbacks.Timecode.ToggleEnabled.Handle(Handles.SourceHandle)</step>
      <step>Handles.SetSourceHandleFromHandle(null)</step>
      <step>Playbacks.AppendOrInsertPlaybackCue(Playbacks.PlaybackEdit.Handle,1)</step>
      <step>Playbacks.SetCueLegend(Playbacks.PlaybackEdit.Handle,1, "Song Start")</step>
      <!-- Fails
      <step>ActionScript.SetProperty("Playbacks.Editor.Timecode.CueTimecodeDisabled",Disabled)</step> -->
      <step>Timecode.SetCueTimecodeWithCueNumber(
        Playbacks.PlaybackEdit.Handle,1.0,Timecode.MakeTimecodeTime(1, 00, 00, 00, false, 100)
        )</step>
      <step>Playbacks.PlaybackEdit.Exit()</step>
    </sequence>
  </macro>
 
  <!-- added set timecode source -->
  <!-- explanation:
    (1) In order to set a playback's options you still need to have it set as SourceHandle, 
        hence I commented the line where you nullify this (you may want to do this later...)
    (2) In order to set a playback's options you need to call FilterHandleOptions()
    (3) My favourite errors in the API documentation: this is an Enum, and valid options are 
        Timecode1Id, Timecode2Id etc., and to set such enums you need to apply some doublequotes: 
        the correct line reads
        <step>ActionScript.SetProperty.Enum("HandleOptions.CueLists.TimecodeSource","Timecode3Id")</step>
      --> 
 
  <macro id="UserMacro.CreateCueListSetSource">
    <name>Create Cuelist and Set TC Source</name>
    <sequence>
      <step>Playbacks.CueList.CreateCueList("Playbacks", 0)</step>
      <step>Playbacks.Select.EditHandle("Location=Playbacks,1,0")</step>
      <step>Handles.SetSourceHandle("Playbacks", 0)</step>
      <step>Playbacks.Timecode.ToggleEnabled.Handle(Handles.SourceHandle)</step>
      <!-- <step>Handles.SetSourceHandleFromHandle(null)</step> -->
      <step>Playbacks.AppendOrInsertPlaybackCue(Playbacks.PlaybackEdit.Handle,1)</step>
      <step>Playbacks.SetCueLegend(Playbacks.PlaybackEdit.Handle,1, "Song Start")</step>
      <!-- Fails
      <step>ActionScript.SetProperty("Playbacks.Editor.Timecode.CueTimecodeDisabled",Disabled)</step> -->
      <step>Timecode.SetCueTimecodeWithCueNumber(
        Playbacks.PlaybackEdit.Handle,1.0,Timecode.MakeTimecodeTime(1, 00, 00, 20, false, 100)
        )</step>
      <step>Handles.FilterHandleOptions()</step>
      <step>ActionScript.SetProperty.Enum("HandleOptions.CueLists.TimecodeSource","Timecode3Id")</step>
      <step>Playbacks.PlaybackEdit.Exit()</step>
    </sequence>
  </macro>
 
</avolites.macros>

A similar question answered by Gregory, with further details: createcuelist.pdf

Titan Tricks

Windows Registry Editor Version 5.00
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Avolites\Titan\Libraries]
"VersionDateTime"="2028-08-14 05:49:32"

MIDI

AI knowledge base

  • d4mance/BC 2014
  • d4mance/BC 2016
  • patches from forum
  • pictures on welcome pages/section headers
  • how to make use of a patch on the performance page (Patch IO, texture port), and how to set its thumbnail
  • Pip and Multi Screen projects
  • Multiviewer (TH):
    • AI OUTPUTS
    • RenderToTexture
    • Sample Texture Region
    • Clear
    • Render Merge
    • output/Window (off/on by Artnet)
  • clock/countdown (SB/Arran)
  • controlling from Q-Sys via UDP, text scroller (project A. Keil June 2020, with help from TH and CA)

Ai tricks and pitfalls

  • renumbering fixtures
  • no audio files on the performance page!
  • how to enable tap tempo (tap widget, system settings, Beat settings per tile)
  • antialiasing (double resolution, see movingscreens/email)
  • what is saved where
  • how to save and use clip collections
  • how to create a project thumbnail
  • wrong codec may even disturb playmodes
  • MPEG Streamclip for transcoding
  • MIDI trigger on the performance page requires MIDI notes - ControlChange doesn't work here

Is there a wiki plugin to show a number of random pages from the namespace, e.g. in Ai/Examples?

Types/Identifiers Hierarchy

identifiers (essentially this is the most common ways to idetify particular items)
  Clear mask: Intensity=1, Positions=2, Colours=4, Gobos=8, Beam=16, 
    Effect = 32, Special = 64, FX = 128, Time = 256  also see AcwRecordMask?!?
    

See http://api.avolites.com/11.0/Avolites.Acw.Titan.AcwRecordMask.html

Discussion threads

Change Pages with Timecode 2023/10/16 17:20 Sebastian Beutel 2 Comments
Inhibit selected fixtures dimmer 2023/02/28 12:25 Sebastian Beutel 1 Comment
Set a Handle's Halo 2021/05/29 18:08 Sebastian Beutel 2 Comments
Delete Workspace X 2018/06/12 13:05 Sebastian Beutel 1 Comment
Timecode - Toggle On/Off for particular playback 2017/11/20 16:39 Sebastian Beutel 1 Comment
Playback - Set Paging to Never Hold 2017/11/20 15:52 Sebastian Beutel 1 Comment
MIDI Note On/Off 2017/11/20 15:15   1 Comment
Macro - Export Macro 2017/10/29 15:42   1 Comment
todo.txt · Last modified: 2024/04/24 09:20 by icke_siegen