macros:example:pagenamestolegends
This is an old revision of the document!
Table of Contents
Example
Store cues with current page names as legends
by: | Sebastian Beutel |
---|---|
published: | May 2024 |
description: | store cues with current pagenames as legends |
remarks: | This records some cues into the Macros window and sets their legends to the current pages legends of some windows. Page legends are not available through WebAPI. In order to get these legends: - deploy this macro - recall it from WebAPI http://localhost:4431/titan/script/2/UserMacros/RecallMacroById?macroId=Wiki.Macros.Test.PageName - get handles JSON http://localhost:4431/titan/handles/Macros - parse the answer for the numbers/legends you are after |
functions
affected properties
File with some more windows' pages here: pagename.xml
Code
- filename.xml
- <?xml version="1.0" encoding="utf-8"?>
- <avolites.macros>
- <macro id="Wiki.Macros.Test.PageName" name="PageName">
- <sequence>
- <step>ActionScript.SetProperty("UserMacros.CurrentUserNumber", Handles.Macros.Page.Index)</step>
- <step>Handles.Macros.ChangePage(1)</step>
- <step>Handles.SetSourceHandleFromHandle("cueHandleUN=1001")</step>
- <step>Handles.ConfirmDelete()</step>
- <step>ActionScript.SetProperty("Playbacks.PendingLegend", Handles.Playbacks.Page.DisplayName)</step>
- <step>Playbacks.StoreCue("Macros", 0, false)</step>
- <step>Handles.SetSourceHandle("Macros", 0)</step>
- <step>ActionScript.SetProperty("Handles.CurrentUserNumber", userNumber:1001)</step>
- <step>Handles.SetUserNumber()</step>
- <step>Handles.SetSourceHandleFromHandle("cueHandleUN=1002")</step>
- <step>Handles.ConfirmDelete()</step>
- <step>ActionScript.SetProperty("Playbacks.PendingLegend", Math.ToString(Handles.Playbacks.Page.DisplayIndex))</step>
- <step>Playbacks.StoreCue("Macros", 1, false)</step>
- <step>Handles.SetSourceHandle("Macros", 1)</step>
- <step>ActionScript.SetProperty("Handles.CurrentUserNumber", userNumber:1002)</step>
- <step>Handles.SetUserNumber()</step>
- <step>Handles.ClearSelection()</step>
- <step>Handles.Macros.ChangePage(UserMacros.CurrentUserNumber)</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
- the first two lines cache the current page of the Macros window into a variable and toggle to another page. This is to make sure all created dummy playbacks are not in the way for other things.
- then, per item (window pagename and window page number), a designated playback is stored with that value as legend, like this:
Handles.SetSourceHandleFromHandle(..)
selects the handle for the following delete actionHandles.ConfirmDelete()
deletes this handleActionScript.SetProperty(“Playbacks.PendingLegend”, Handles.Playbacks.Page.DisplayName)
loads the current pagename of a window into the variable Playbacks.PendingLegendPlaybacks.StoreCue(“Macros”, 0, false)
stores a dummy cue on the current Macros page's first button and sets its legendHandles.SetSourceHandle(“Macros”, 0)
selects this handle to set its usernumberActionScript.SetProperty(“Handles.CurrentUserNumber”, userNumber:1001)
prepares the usernumber to be set for the specific handleHandles.SetUserNumber()
sets the usernumber
- the last two lines toggle the Macros window back to the page it was previously on
How to use it
- get handles JSON http://localhost:4431/titan/handles/Macros
- parse the answer for the numbers/legends you are after
You could leave a comment if you were logged in.
macros/example/pagenamestolegends.1723227795.txt.gz · Last modified: 2024/08/09 18:23 (external edit)