Example ====== Pages - Toggle to page 1 and back ====== ^ by: | Sebastian Beutel, February 2019 | ^ published: | here | ^ description: | toggle to playback page 1, and back again | ^ remarks: | idea see https://www.facebook.com/groups/Avolites/permalink/1455887577876805 | {{tag>toggle playback page nested condition}} ==== functions ==== * [[:macros:function:ActionScript.SetProperty]] * [[:macros:function:Handles.Playbacks.ChangePage]] ==== affected properties ==== * [[:macros:property:UserMacros.CurrentUserNumber]] * [[:macros:property:Handles.Playbacks.Page.Index]] ==== control structures ==== * nested if conditions, see [[macros:control_structures]] ===== Code ===== { if(UserMacros.CurrentUserNumber == 1000) { ActionScript.SetProperty("UserMacros.CurrentUserNumber", Handles.Playbacks.Page.Index); Handles.Playbacks.ChangePage(0); } else { if (Handles.Playbacks.Page.Index == 0){ Handles.Playbacks.ChangePage(UserMacros.CurrentUserNumber); } ActionScript.SetProperty("UserMacros.CurrentUserNumber", 1000); } } ===== Explanation ===== This explains the functional steps within the sequence. For all the other XML details please refer to [[:macros:formats_and_syntax#xml_format|Formats and syntax]] This macro abuses the property ''UserMacros.CurrentUserNumber'' as temporary cache for the current playback page number. * if the macro is called and ''UserMacros.CurrentUserNumber'' is 1000 then ''UserMacros.CurrentUserNumber'' is set to the current playback page, and playbacks are toggled to page 1 * if the macro is called and ''UserMacros.CurrentUserNumber'' is NOT 1000 then playbacks are toggled to what is cached in ''UserMacros.CurrentUserNumber'', and ''UserMacros.CurrentUserNumber'' is then set to 1000 Side effects: * in a new show, ''UserMacros.CurrentUserNumber'' defaults to 1. At first you have to call the macro twice. * if you change the playback page manually after having toggled to page 1 then you have to call the macro twice. * this interferes with the Macro Usernumber - be aware of this when programming or calling other macros ===== How to use it ===== * [[:macros:deploying|make this macro available]] * call this macro to go to Playback Page 1, and to go back to the previously active page ~~DISCUSSION~~