Introduction
In this article, we will show you how to create, use and edit playlists
The Playlist feature allows the time-based automation of studio operator-level scene manipulation, like triggering actions, pushing buttons, and setting values.
For our examples, we will use our pre-made newsroom scene [Studio]:News Room\News Room - VirtualCam_3-Cam.xcomp available in our Studio: Demo Sets content package.
Playlist Module
In order to add any action to a playlist, first you have to add a Playlist module to the FLOW editor of your project from the module list. You can add the module to the root or any sub-compound in your project.
In order to create more playlists, add another Playlist module.
They will later appear in all playlist-related menus.
Of course, if you rename the module, then the new name will appear in the menus (in the above example, 'My Playlist').
Adding Actions to a Playlist
There are three types of actions you can add to a playlist:
Will will show each in our examples.
Press the Control Board Button
Right-click on the button you would like to add an action to the playlist for.
In the above example, we right-clicked on the CAM 2 button.
In the context menu, the Add To Playlist option appears. Next to it, you will find all the playlists you have added in the Flow Editor.
Select the playlist you would like to add the action to.
Two windows have appeared, namely the Edit Playlist Event and the Playlist Editor.
Edit Playlist Event
Time
This is the time when the event is triggered. The format is HH:MM:SS (Hour:Minute:Seconds).
Description
The name of the action. Automatically added, but you can change it.
Should be short and descriptive in order to easily find it later.
Action Type
Type of action triggered by the event.
Automatically selected by Aximmetry.
Normally, we do not recommend changing it. If you select an invalid action, you will get the following warning box:
Module
Path to the compound with the Control Board name at the end.
Automatically selected by Aximmetry.
Normally, we do not recommend changing it, but you can. If you manually change the Module path, and Aximmetry cannot find it, the warning box will appear.
Button
Name of the Button to be pressed.
Automatically selected by Aximmetry.
Normally, we do not recommend changing it. If you manually change the Button name, and Aximmetry cannot find it, the warning box will appear.
Keep Duration & Initializer
More on these later.
To add the action to the playlist, click OK.
Playlist Editor
The window can be docked, like other Aximmetry Composer elements. You can find more info on docking windows here.
You can also find the Playlist Editor in the View menu. The shortcut is Ctrl+J.
Alternatively, you can double-click the Playlist module in the Flow Editor to open the Playlist Editor.
Playback buttons
Play, Pause & Stop the playlist.
Stopping the playlist will set the current time to 0, jumping to the beginning of the playlist.
Loop
If Loop is enabled, when the playlist finishes, it will restart from the beginning.
Displayed Playlist
Here you can select which playlist you would like to see in the Playlist Editor.
Next to their names, you can also find the location of the playlist module in the compound hierarchy.
In order to show an empty Playlist Editor, select <none>.
Sel
Click Sel to select and show the Playlist module in the Flow Editor. This will also snap the module to the middle of the screen.
Flw
Enable the Follow button in order the keep the currently playing event in the Playlist Editor screen. This is useful if you have a long list of events and you don't want to keep scrolling in the editor. Enabled by default.
Current Time
This is the time where the play header is currently at. (in this example it is at 0 since the playlist is stopped).
Below, in the grey area, you can see the list of events that this playlist contains.
Set Control Board Button State
Right-click on the power icon of the STREAMING panel of the same control board and add the action to the playlist.
Here we have a new parameter:
State
For this type of action, select the state you want to set your button to.
Click OK.
Time
Time is counted from when the playlist starts to play.
At the moment, both of the events will take place at the same time (at time 0)
Let's turn On streaming a bit later, for example, at 2 seconds.
Double-click on the time of the second event.
This will open the same Edit Playlist Event window when you add a new event to the playlist, but the Time field is conveniently highlighted for ease of use.
Let's set the time to 2 seconds (00:00:02) and click Ok.
Two things have changed:
- time of the event is 00:00:02, this is when the action will take place
- the duration of the previous event has changed to 2 seconds
Duration
The Duration of an event is always the difference between the starting time of the event and the starting time of the next event.
Let's change the duration of the first event to 4 sec.
Double-click on the Duration of the first event.
This will open the Edit Playlist Event window with the Duration field highlighted.
Also, you can see that the Keep duration setting is set to On.
Change it to 00:00:04.
You can simply type in 4, Aximmetry by default takes this number as seconds. For example, if you want 1 minute, type in 60, etc.
Click OK.
Two things have changed:
- The Duration of the first event has been set to 4 seconds
- the Time of the second event is set to 4 seconds
These two values are dependent on each other.
We will also set the Duration of the second event to 2 seconds.
Set pin value
Let's change the speed of CAM 2 camera movements.
Right-click on the Pin value of the Master Speed property in the Pin Values window after selecting the CAMERA 2 PATH panel on the CAMERAS control board and add this pin value to our playlist.
NOTE: you can also add this kind of action not just from a Control Board, but from the Flow Editor as well. Just select any module in the Flow Editor and right-click on the Pin you want to change in the Pin Values window. Example:
Again, the Edit Playlist Event window pops up, with two new lines.
Pin
Name of the Pin the action is applied to.
This is also automatically filled in by Aximmetry. We do not recommend changing it.
Value
Value of the pin is to be set by the action.
Automatically set to the current value.
Let's set the Value to 1 for now. and click OK.
The new event has been added to our playlist. By default, it is added to the Time + the Duration of the last event.
End Time
End time is the entire length of the playlist. This will be the Time of the last event plus the Duration of the last event.
Let's change the duration of the last event the already known way. We will set it to 2 seconds.
Dynamic Values
For the Set Pin Value and Set Button State actions, you can also add dynamic values.
For this, you need to create a Collection, that passes the dynamic values to the Playlist. You can read more on Collections here.
In the Flow Editor connect the collection module's Out pin to the Dynamic Values input pin of the Playlist module.
In this example, we used a Set Collection Vector, but it can be any collection:
Set Collection Vector settings
When adding the playlist event, you have to select the Dynamic option at the Action type:
Here, instead of a value, you have to define a Key, which we have previously set to "VectorTest" in the collection. If the collection has an Array, you can define the Index as well.
Navigating in the Playlist Editor and Rearranging Events
You can use the keyboard up and down arrow keys to navigate up and down in the list.
You can select more than 1 event by holding down the Ctrl key while left-clicking on the events with the mouse.
You can select a range of events by left-clicking on the first one, holding down Shift, and left-clicking on the last one. All events between the two will be selected.
As an example, we are going to change the Time of the second event to something bigger than the time of the third. As you might guess, this will push the second event to the end of the playlist.
Keeping Duration ON
- The Duration of the first event has changed since that is the start time of the third (now second) event.
- The Duration of the third (now second) event has changed since we changed the Time of the now last event.
- The End time has also changed since we are starting the last event at 7 seconds instead of the previous 6, and the last event's duration is kept, adding up to an overall 9 seconds for the whole Playlist
Let's undo the change with Ctrl+Z
Keep Duration OFF
The same has happened to the other two events.
The now last event's Duration has been now changed to fit the 8-second duration of the whole Playlist (keeping the End time fixed)
Let's undo it again with Ctrl + Z to continue.
You can easily grab and move up or down any event in the list by left-clicking on it and holding it while moving it up and down the list.
The time of the second event has changed. All moved events' Duration is kept, so the Times of the other events will be changed.
You can also move multiple events at the same time. They can be the ones that are next to each other or the ones that are apart. In every case, all the Durations of the moved and the not moved events are kept intact, and the Times are rearranged accordingly.
Context Menu
Right-click on any part of any event for the context menu.
For each element, next to their names, you can see the keyboard shortcut to it.
Modify, Modify Time, and Modify Duration is the same as what we have discussed before when double-clicking on the field you want to change.
Remove
This will remove the event while keeping the start time of the next event intact.
Ripple Remove
This will remove the event and deduct its duration from all the following events' Time.
Play From Here
The playlist will be played from the Time of the clicked-on event and all previous events are also triggered.
Undo & Redo
If you have accidentally made a change you didn't want, Undo (Ctrl + Z) and Redo (Ctrl + Shift + Z) shortcuts work in the Playlist Editor window.
Playing the playlist
Click on the Play button to start playing the playlist. (or start by Play From Here)
When the playlist starts playing, you will see that the currently played event's Time's background got an orange progress bar that takes as long to fill up as the Duration of the event.
When the event has finished playing, the Time progress bar will remain filled until you stop the playlist, indicating which events took place already.
When an action is triggered by the event, the event will light up in orange.
If Loop is turned off, after the playlist finished playing, it will pause at the End time.
Initializers
After the playlist is played, all buttons/pins affected by the actions will remain in the last state. This can be problematic if you want to restart the playlist because you won't start from the original initial state. Also, you might save the scene after playing a playlist - and again, when you load the scene next time it won't be in the desired initial state.
Initializer events come to the rescue. They can be used to initialize properties/buttons/button groups that will be changed by the playlist.
Initializer events will be triggered, whenever:
- the scene is loaded and started
- the Stop button is clicked
- in Loop mode, the playlist reaches the end and restarts
- Play From Here is used
We recommend adding an initializer event for each property /button /button group that is affected by the playlist.
Please note that you can also create playlists that only contain initializer events. This way you can ensure the desired initial state of your scene on each load, regardless of what state you saved it.
Adding an Initializer Event
Since our first event is the change to CAM 2 action, let's initialize our setup, so CAM 1 will be already selected when we start playing the playlist (this was our default camera).
As before, navigate to the button (or pin value) and add the action to the playlist. The Edit Playlist Event window will pop up.
Select the Initializer setting in the upper right corner of the window.
Initializer events will be added to the beginning of the playlist without Time and Duration since these are triggered simultaneously in the above-mentioned cases.
If you want to 'convert' a normal event into an initializer event, simply move the event to the beginning of the playlist.
Note: This will only work if there is already at least one initializer event added.
Let's say we want the STREAMING to be turned ON by default, so we will move this event to the beginning of the playlist.
As before, you can do this with multiple events as well.
Let's add an initializer for each affected setting:
Playlist Event in Another Playlist
You can trigger the start, stop, and reset of a playlist from another playlist.
Let's trigger the Play property of My Playlist from Playlist 2
Select the My Playlist module in the FLOW editor and add the trigger of the Play property to Playlist 2.
You will see that the event will be added to Playlist 2.