The Event Editor Mode is an advanced feature for choreographers. This mode allows you to build a sequence of commands with precise timing similar to the animation sequence mode, while allowing much greater variety of possible actions in addition to playing animations. It is more complex, but also allows sophisticated show control with multiple, independent avatar actions even in crowded environments.
Users of MetaHarper Show Tools will recognize this mode as very similar to to the MST Performance Engine’s ~EVENTLIST. If you have used other Choreography tools you might think of the Event Editor as offering something like “macro” capability. The MST Choreo HUD can be used to quickly and interactively build an eventlist, either for standalone use inside the HUD or to be used by MetaHarper Show Tools Performance Engines.
Normally when building command sequences with an ~EVENTLIST notecard, you must edit the notecard, reload it, and then test it. Repeating this cycle over and over can be time consuming. The MST Choreo HUD improves on this usual process by allowing you to make changes in-memory without requiring a notecard reload. Additionally you can more easily start and stop commands and watch their progress.
Learning the Event Editor can be easier at first if you start by loading a previously configured EventList notecard file as a working example. The “~testSequence” file included in the MST Choreo HUD can be used for this purpose.
Event Group Panel
The primary panel in the event editor mode will show any “event groups” defined. Typically a choreographer will create a group for each single or group of avatars who will be sharing a set of animations during a performance. For example, if your show has a ballet dancer in the center of the stage performing one set of animations, while a simultaneously a line of four backup dancers stand to the left and right and perform a different set of animations, you would create two groups: A “soloist” group and a “backupDancers” group. Sometimes a choreographer will create additional groups to organize special effect commands to drive lighting, sounds, object rezzing, or other effects.
You will need to create at least one group on this panel in order to add commands. Typically people start by making a simple group such as “event | ALL | waiting” as a starting point, and then refine it later, if needed.
Each Event Group contains three attributes:
- The Name of the event group. Keep it short and don’t use spaces or punctuation.
- Members of the group. For simple events this is usually “ALL”. For multi-avatar events it can be a comma-separated list of avatars or movers objects. The members is list is mostly used to restrict playing animations to particular avatars, and not applicable to most other types of actions.
- A Default Animation that will play before and after the sequence plays. Typically this animation is used to indicate that avatars are ready to go. Normally this is set to the “waiting” animation.
These attributes are formed together in a single line, with each attribute separated by a pipe “|” character. Examples of event groups are below:
soloist | Arrehn Oberlander | waiting
backupDancers | Eve,John,Heather,Brian | waiting
specialEffects | ALL | waiting
Event Group Panel Buttons
There are buttons at the BOTTOM of the event panel are as follows:
- A “Print” button that will print all of the displayed event groups and their associated event commands to nearby chat so they can be pasted into a notecard.
- A “File Box” button for loading notecards containing formatted Event List groups and commands, like those created by the Print button above.
- A “Group Add” button that looks like circle with a “+” inside it can be used to create a new event group.
- A “Play ALL groups” button that looks like a dark triangle will play all defined groups at the same time.
- A “MST shortcut button” for accessing an associated MST Performance Engine (OPTIONAL)
- A “Smart Cache” button that looks like a cloud, which will rapidly play only the animations used within the Event Groups and Event Commands in order to make nearby viewers download these animations and have them ready before your performance.
- A “List” Button will slide in and out an additional “commands panel” that will allow editing of individual commands belonging to either one single group, or all groups combined.
Event Group Selection Buttons
There are also buttons that will appear if you select any event group line in the panel. These buttons include:
- A “remove” button to delete a group AND ALL OF THE COMMANDS IN THAT GROUP. Be careful when deleting groups. If you want to see the commands in the group that will be deleted, use the “list” button to slide out the command panel. It will show commands belonging to the currently selected group.
- An “Edit” button that will allow you to edit the groups attributes (name, members, and default animation)
- A “Play This Group” button that will run all the commands defined as part of this group. Use this button to play only the commands associated with one particular group, and not all groups at once like the bottom play button would normally do. This is often useful for building a show so that you can see how it’s behaving as you are building it with a minimum of other distractions.
Playing, Stopping, and Pausing Event Groups
You can execute an Event Group either by using the “Play All Groups” button at the bottom of the group panel, or by using the “Play One Group” button on the pop-up selection bar, when you select a particular Event Group on the group panel.
While a group is playing, some buttons will be automatically disabled, and the mode text will change to a red color and print how long the group(s) have been playing in seconds, as well as which command is currently executing.
Note that this display is more of a guideline or approximation. For performance reasons the event groups will prioritize its own speed and accuracy first, while the red text timer and command display will update as a secondary priority.
You can stop the currently playing group(s) at any time by using the “Stop EventGroup” button at the bottom of the groups panel. This will stop executation of an event group, clear all playing animations, and start the default animation (usually ‘waiting’) for the members of every group. The stop button is typically used to cut a performance short because you have noticed something you wish to adjust, or because you no longer need to see the rest of the commands. During a final performance, the stop button is typically not used because a group will automatically stop when it reaches the end of its command list.
Finally you can “pause” and “unpause” a command group that is in the process of playing. To do this slide out the command panel using the list button. You will see the pause button down at the bottom. Pausing once will cause the pause button to highlight in red and event group processing to stop. When you click the pause button again, the timeline will continue. Pausing is most useful when trying to fine-tune a list of commands during the creation process and is not normally used for the final experience.
Using the Event Command Panel
Event Commands are the most important part of any Event List. Event commands can be used to:
- Play Animations
- Chat text or activate effects from text commands
- Activate movement sequences
- Activate scripted camera commands
- .. and many more interesting things!
For a full list of all the things that an eventlist command can do and examples of the syntax used, see the eventlist command reference.
When you click the “List” button at the bottom of the Event Group panel, it will slide out a second panel to show you all of the individual commands associated with a currently selected group, or if no group is selected it will show event commands from every group together in one combined list.
NOTE: If you have selected a particular group and want to commands from every group in one combined list, instead of just for the single selected group, click on an empty line in your group panel. This will deselect your currently selected event group and show all of the event commands.
Commands are listed in the order that they are executed. A “time” column on the left shows when the command will start, in terms of “seconds since the event group was started”. For example if you see a command with “5.00” in its time column, it means that command will execute 5 seconds after you hit the “play” button for that event group.
Adding, Deleting, Editing, and Testing Event Commands
You can create a new event command using the (+) button at the bottom of the event command panel. By default this command will be added to the end of the currently selected group. If you select a particular command line before clicking the (+) button, your new command will be inserted after the line you have selected. You may delete any command by selecting it and then clicking the (x) button that appears on the selection bar.
Commands may be edited by first selecting their line on the command panel and then choosing the “Edit” pencil button on the popup selection bar. Doing so will bring up a blue dialog box for you to paste the syntax of the command. The previously command will be shown here and also printed to your nearby chat (only visible to you) so that you can copy-paste from it if desired to save typing.
The format for editing commands is “<time>|<Command>” where the time you want the command to execute is listed first, then a pipe “|” character, and then your desired command. Examples:
0.0 | ANIM:Wave Hand
5.0 | SAY:0:This command will speak in nearby chat 5 seconds after we start
For a guide to the syntax of all possible commands and examples please see the eventlist command reference. For more information on the time formats, see the next section on this page about the Time button.
Pro Tip: When using ANIM commands, it can be cumbersome to type the names of animations into the edit text dialog box accurately. A much easier method is to switch to the “Animation Sequence Builder” mode in the MST Choreo HUD, find the animation you want to use, select it and use the “move right” button on its selection bar. This will print the name of the animation to your nearby chat (only visible to you). You can now switch back to the event editor mode and easily copy-paste this animation name into your Event Commands instead of typing it out.
Pro Tip#2: For an even easier way to set up your ANIM commands, create your entire sequence in the “Animation Sequence Builder” mode, then use the print button in that mode to copy it to a notecard. Then, import that notecard using the “load” button in the Event Builder mode. This will import all of your ANIM commands at once!
You can test out a single eventlist command to make sure it does what you want by selecting its line and choosing the “play” button that appears on the popup selection bar. This does not start the event group sequence, it will only attempt to execute that particular command immediately so you can verify it is working as expected. This functionality is usually used for testing, but sometimes useful during a live performance if for whatever reason you need to send a particular command again.
The Time Format button and Why It Is So Useful
There are two different styles of timing that can be used by Event Commands.
- “Time Since Start” format is the default, and describes the seconds since an event group has started that a command should execute. This format is easiest to use when matching event commands to other timelines, such as a position in a music soundtrack.
- “Time Since Last Command”, also known as “Offset time” is also supported. Offset times start with a “+” symbol and describe time in seconds that should elapse since the last command was executed. Offset time is most useful when you wish to move a large number of commands earlier or later in a sequence without having to recompute all of their individual “Time Since Start” values. “Offset time” can also be used when you want to insert new pauses or additional commands at the beginning or middle of a sequence. Offset time can also be useful when working with some other choreography tools.
If this is confusing to you, you can ignore “Offset Time” mode for now. You will know if you need to use it! If later, you find yourself adjusting the times of every command on your command list to shift them forwards or back, that is when you want to read up on offset time mode for an easier method.
You can click the “Time” icon at the bottom of the Event Command window to automatically translate the Command List between the default Time Since Start format and the equivalent Offset time format. The Time button will highlight in yellow when Offset time has been selected, and all command timings in the Command Panel will change to “+”-synax offset times.
The selected time format will affect the Print button. If Offset time format is selected, the Print button will generate a copy-pasteable Event List in offset time format.
Most importantly, If Offset time is active and you insert an Event Command into the beginning or middle of a Command Sequence, Or if you edit a command’s timing using Offset time, all Event Commands after your insert or edit will automatically be recalculated for you, saving you a great deal of effort.
Event Command Performance Considerations
Under ideal conditions a Second Life sim can execute commands within an accuracy of about 0.03 seconds. However, most performances do not achieve ideal conditions due to crowd size, imposed throttling for certain types of commands, and other nearby scripted activity. Your MST Choreo HUD’s Event Engine can “burst” commands out very quickly if needed, but for the most reliable results in challenging conditions it is recommended that you space out your commands at least 0.2 seconds apart.
Finally: Make Sure to Save Your Work
Please do not forget that your creations and edits to Event Groups and Event Commands are not permanently saved until you hit the “Print” button and copy-paste the output into a notecard or other file. Make sure to do this at regular intervals so you do not lose your hard work.