User Tools

Site Tools


todo

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
todo [2020/07/08 10:58] – [examples] icke_siegentodo [2025/03/05 07:41] (current) – [20240709] icke_siegen
Line 6: Line 6:
 ===== Missing articles ===== ===== Missing articles =====
  
- ~~ORPHANSWANTED:wanted~~+ ~~ORPHANSWANTED:wanted!tag~~
 ===== To Do ===== ===== To Do =====
  
-  * elaborate on wishlist+  * elaborate on [[macros:hidden:wishlist|wishlist]]
   * Write a little howto on the namespace structure in Ai   * Write a little howto on the namespace structure in Ai
   * Ai templates   * Ai templates
   * handle notation: chaseHandleUN, paletteHandleUN, cueHandleUN, playbackHandleUN, masterHandleID, trackHandleID, groupHandleUN, see also http://forum.avolites.com/viewtopic.php?f=20&t=6196&p=22250#p22250   * handle notation: chaseHandleUN, paletteHandleUN, cueHandleUN, playbackHandleUN, masterHandleID, trackHandleID, groupHandleUN, see also http://forum.avolites.com/viewtopic.php?f=20&t=6196&p=22250#p22250
   * list more FixtureControlIDs ([[macros:identifier:fixturecontrolid|]]), e.g. Shutter or Prism. They are in the show only if such a fixture is patched   * list more FixtureControlIDs ([[macros:identifier:fixturecontrolid|]]), e.g. Shutter or Prism. They are in the show only if such a fixture is patched
 +  * Gregory on casts inside code blocks and custom variables: {{ ::gregory_codeblocks_cast.pdf |}}
 +  * Gregory on filters/casts: {{ ::20211222_gregory_filters.pdf |}}
  
  
Line 65: Line 67:
   * Olie's templates: https://github.com/owaits/avolites-webcomponents   * Olie's templates: https://github.com/owaits/avolites-webcomponents
   * elaborate on webassembly; Reaper Reader etc.   * elaborate on webassembly; Reaper Reader etc.
 +  * WebAPI tied to UI on different port: {{ ::api_ui_port.pdf |}}
 +  * creating palettes and set legend: {{ ::webapi_palette.txt |}}
 +  * Gordon Clarke controlling Cuelists (Messenger 16.09.21)
  
 +    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
 +
 +  * https://bitbucket.org/mdengineering/titan-usittascii/src/master/
 +  * https://github.com/owaits/avolites-patchImport
 +  * Gregory (28.02.24): set User Numer, incl. casting and syntax: {{ ::20240228_gregory_webapi_setusernumber.pdf |}}
 +  * Gregory (15.04.24): set property, with more casting: {{ ::webapi_currentpalette.pdf |}}
 +  * get attribute value: {{ ::api_getvalue.txt |}}
 +  * create new palette (with explanation about 4430 and 4431): http://forum.avolites.com/viewtopic.php?f=21&p=24858, see {{ ::apicreatenewpalette.txt |}}
 +  * select group: http://localhost:4431/titan/script/2/Group/RecallGroup?handle_userNumber=1
 +  * create shape: http://localhost:4431/titan/script/2/Editor/Shapes/CreateShape?shapeId=1&runOnCells=0&absolute=true
 +  * set shape size: POST http://localhost:4431/titan/set/2/Editor/Shapes/Size (use an extension like RestMan and put 0.05 in the body as raw data, to set the shape size to 5%). See {{::api_post.png?200|}}
 +
 +  
 ==== ASCII ==== ==== ASCII ====
  
Line 74: Line 97:
  
   * external control, example of rtpMidi: https://www.facebook.com/groups/Avolites/permalink/1784457491686477/   * external control, example of rtpMidi: https://www.facebook.com/groups/Avolites/permalink/1784457491686477/
-  * vVIMTC plugin for Reaper, see AdB, https://forum.cockos.com/showthread.php?t=43606+  * vVIMTC plugin for Reaper, see AdB, https://forum.cockos.com/showthread.php?t=43606, {{ ::vvimtc_generator.txt |}}\\ this is supposedly also possible without a timecode track 
 +  * need to call ClearSelectionHighlights when moving, see {{ ::gregory_move_clearhighlights.pdf |}}
 ==== examples ==== ==== examples ====
  
Line 90: Line 114:
   * is SetLevel limited to already fired playbacks like Fraser thinks? https://www.facebook.com/groups/1811437589141428/permalink/2695092050775973/?comment_id=2695129944105517&reply_comment_id=2695143527437492   * is SetLevel limited to already fired playbacks like Fraser thinks? https://www.facebook.com/groups/1811437589141428/permalink/2695092050775973/?comment_id=2695129944105517&reply_comment_id=2695143527437492
   * flash Pb and Groups, see email Andreas Buhr 08.07.20   * flash Pb and Groups, see email Andreas Buhr 08.07.20
 +  * MIDI feedback, see http://forum.avolites.com/viewtopic.php?f=3&p=22925#p22925
  
 Forum done until 01.03.19 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 Timecode.TimecodeOne.SetStartTime and TimecodeTime object, see http://forum.avolites.com/viewtopic.php?f=20&t=6298
Line 101: Line 133:
 >>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)? >>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, 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 |}} 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 |}}
Line 132: Line 164:
  
 matias Mucillos setup macro: {{ ::mm_store_playback_test.xml |}} 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 [[macros:example:setplaybackfadeintime|]]
 +
 +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 [[macros:example:quickcreategroups|]]
 +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:
 +
 +<code xml>
 +<?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>
 +</code>
 +
 +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:
 +
 +<code xml>
 +<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>
 +</code>
 +
 +timeline macros, see {{ ::timelinemacros.xml |}} (14.02.24)
 +==== 20240407 ====
 +
 +from facebook: create cuelist and write timecode
 +
 +<code xml 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>
 +</code>
 +
 +A similar question answered by Gregory, with further details: {{ ::createcuelist.pdf |}}
 +
 +
 +==== 20240707 ====
 +
 +from FB, https://www.facebook.com/groups/Avolites/posts/3137723979693148/
 +
 +Macro to set a playback's level and move the fader.
 +
 +See also GH's email (SB private).
 +
 +<code xml enableCue.xml>
 +
 +<?xml version="1.0" encoding="utf-8"?>
 +
 +<!-- enable/disable a cuelists cue -->  
 +
 +<!-- see http://forum.avolites.com/viewtopic.php?f=20&t=7217&p=24856 -->
 +
 +<avolites.macros>
 +  <macro id="UserMacro.testFirePB16.Page">
 +    <name>_Test FPB 16 w. Page</name>
 +    <sequence>
 +      <step pause="0.05">Handles.Playbacks.ChangePage(99)</step>
 +      <step pause="0.05">Playbacks.FirePlaybackAtLevel("Location=Playbacks,1,1", level:0.6, true)</step>
 +      <step pause="0.05">Handles.Playbacks.ChangePage(0)</step>
 +    </sequence>
 +  </macro>
 +</avolites.macros>
 +</code>
 +
 +==== 20240709 ====
 +
 +from forum: enable/disable a cuelist's cue
 +see http://forum.avolites.com/viewtopic.php?f=20&t=7217&p=24856
 +
 +<code xml enableCue.xml>
 +
 +<?xml version="1.0" encoding="utf-8"?>
 +
 +<!-- enable/disable a cuelists cue -->  
 +
 +<!-- see http://forum.avolites.com/viewtopic.php?f=20&t=7217&p=24856 -->
 +
 +<avolites.macros>
 + <macro name="__PB 100 enable cue 10" id="Wiki.Macros.PB100.Cue10On">
 +    <sequence>   
 +      <step>ActionScript.SetProperty("Playbacks.Editor.SelectedPlayback", handle:"playbackHandleUN=100")</step>
 +      <step>Playbacks.Editor.CueSelection.SelectCueByNumber(handle:"playbackHandleUN=100", 10)</step>
 +      <step>ActionScript.SetProperty.Boolean("Playbacks.Editor.Times.Disabled", false)</step>
 +    </sequence>
 +  </macro>
 + <macro name="__PB 100 disable cue 10" id="Wiki.Macros.PB100.Cue10Off">
 +    <sequence>   
 +      <step>ActionScript.SetProperty("Playbacks.Editor.SelectedPlayback", handle:"playbackHandleUN=100")</step>
 +      <step>Playbacks.Editor.CueSelection.SelectCueByNumber(handle:"playbackHandleUN=100", 10)</step>
 +      <step>ActionScript.SetProperty.Boolean("Playbacks.Editor.Times.Disabled", true)</step>
 +    </sequence>
 +  </macro>
 +</avolites.macros>
 +</code>
 +
 +Update SetCurrentShapesDirection for v17, see {{ ::allshapesdirection.xml |}}
 +
 +Nudge Timecode, Daniel Dai/Messenger/20250226
 +
 +{{::timecode_offset.jpeg?600|}}
  
 ==== Titan Tricks ==== ==== Titan Tricks ====
Line 155: Line 410:
 </code> </code>
  
 +  * usage of task Scheduler to start other things automatically, see {{ ::tnp_task_scheduler.zip }}
  
 ==== MIDI ==== ==== MIDI ====
todo.1594205932.txt.gz · Last modified: 2020/07/08 10:58 by icke_siegen

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki