Eos Family USITT ASCII Import
General Information
USITT ASCII 3.0 files can be imported into EOS using the Files|Import menu from the browser.
Manufacturer specific data is interpreted for the following consoles:
ETC Obsession
ETC Emphasis
ETC Expression/Express
Strand
A section below is devoted to each console to describe how its data is interpreted. Files from any other console are treated as generic files and all the manufacturer specific data is ignored.
Definitions
Since EOS and most USITT ASCII files both use the word channel to mean slightly different things I will use the phrase "desk channel" to refer to the channels in those files and "EOS channel" to refer to the channels in EOS. For example a single EOS channel that is a Cyberlight would be patched as 20 desk channels in an Expression ASCII file, two for pan, two for tilt, one for color wheel etc.
Note that some ASCII files use "channel" the same way as EOS. This distinction will be specified for each console type.
Generic Console Files
Generic files include a dimmer patch, simple cues, simple submasters and groups. Channels in these files are always desk channels.
Patch
All dimmers will be patched as generic dimmers in EOS. The EOS channel number will be the same as the desk channel number from the file. Channels that appear in the file (in cues, subs etc) but are not patched in the file will be patched as generic dimmers without EDMX addresses in EOS. Patch proportion is not implemented at this time.
Cues
All cues are read into EOS cue list 1. Cue list 1 will be labeled "Imported from USITT ASCII". All standard USITT cue messages are supported including times, channels, label, link, follow and parts. Levels are converted into move lists.
Submasters
Since EOS does not have submaster pages, incoming submasters must be renumbered when they're read in. The incoming submasters will be numbered sequentially. The original submaster number and page are prepended to the label in the form (page/submaster) (Sub n Page n). All standard USITT submaster messages are supported including times, channels and label.
Groups
Since groups are often used as both channel lists and level sets ASCII groups are translated into EOS as both groups and presets. The USITT channel and label messages are supported.
ETC Obsession Files
Obsession files include all the items that are in generic files plus moving light fixtures, scrollers, timecode events and more complex cues, groups, and submasters and effects.
- Channels in these files are always desk channels.
- Effects, Libraries and dimmer profiles are not imported.
Patch
An attempt is made to match Obsession personalities to EOS personalities. This is not always successful. If there are reasonable matches then the best match is used. If there are no reasonable matches, then the device is patched as a generic dimmer and all level data for parameters other than intensity are lost. The EOS channel number will be the same as the file's desk channel number for conventional dimmers and the same as the starting desk channel for fixtures. If an Obsession fixture has a remote dimmer and it is patched then the remote dimmer will be patched in EOS as a generic dimmer with the same EOS channel as the fixture. This will show up in EOS as an extra part in the DMX patch. Channels that appear in the file (in cues, subs etc) but are not patched in the file will be patched as generic dimmers without EDMX addresses in EOS. Patch proportion and profile are not implemented at this time. Flip and swap are not implemented at this time.
Scrollers
Obsession scrollers are patched as generic dimmer scrollers. The EOS channel number will be the same as the file's desk channel number for the scroller. The associated intensity dimmer will be patched in EOS as a generic dimmer with the same EOS channel as the scroller. This will show up in EOS as an extra part to the DMX patch. The frame data is not imported.
Cues
All cues are saved into EOS cue list 1. Cue list 1 will be labeled "Imported from Obsession". The moves are gotten directly from $$ChanMove and $$FocusMove commands. Chan and $$FocusLevel commands are redundant and ignored. Any references to focus groups are converted to preset references. Rates are imported for standard and multipart cues. Cue blocks and manual cue times are implemented. Manual fade times, Links to macros, link iterations and parks are not imported. Effect links are not imported.
Submasters
Since EOS does not have submaster pages, incoming submasters must be renumbered when they're read in. The incoming submasters will be numbered sequentially. The original submaster number and page are prepended to the label in the form (page/submaster) (Sub n Page n). Any references to focus groups are converted to preset references. Dwell time is supported. Bump types, rate overrides and groups are not. Inhibitive submasters are supported. Effect links are not.
Groups
Individual desk channels in Obsession cues and submasters can reference groups and desk channels in groups can reference other groups in very long chains. Any Obsession group that is referenced by anything is known as a focus group. EOS only supports two levels of reference. Cues and submasters can reference presets and palettes, presets can reference palettes and palettes can only contain hard levels. All cue and submaster focus group references are converted to preset references. All focus group references in groups are converted to palette references. Obsession groups are then converted to EOS groups, presets and palettes.
EOS Groups
All Obsession groups are converted to EOS groups. If the Obsession group contains information for any parameter of an EOS channel, that EOS channel will be placed in the corresponding EOS group. For example: Obsession has a Cyberlight patched to channel 51. Obsession Group 3 has channel 62 @ 55. Channel 62 is zoom for the Cyberlight. The Cyberlight will become EOS channel 51. Since Obsession group 3 has one of the Cyberlight's parameters in it, EOS group 3 will have channel 51 in it. An EOS channel will be in the EOS group if the desk channel for any of its parameters is in the Obsession group.
Presets
All Obsession groups are converted to EOS presets. All references to focus groups are converted to palette references.
Palettes
Only Obsession focus groups are converted to EOS palettes. All four palette types (Intensity, Focus, Color and Beam) are created with the appropriate parameters in the appropriate palette. All four palettes will have the same label. All levels stored in palettes are fully dereferenced to hard levels. If a reference chain is an infinite loop (this can only happen if someone hand edits the ASCII file) the hard level will be 0.
Effects
Obsession effects are imported as EOS step based effects. High numbered effects will be renumbered to prevent overlap with EOS build in effects. If an effect was renumbered its label will be prepended with (Was Effect n). EOS step based effects have a channel list and either hard levels or presets for hi and lo. Individual channels cannot have their own levels. Since Obsession effects can have groups which have channels at levels, several methods of conversion are necessary. Normally the look for an Obsession step is created by combining all the channels in the step with all the groups. If a channel is in more than one group, the level from the highest numbered group is used. If the channel is in the channel list and in one or more groups, the level from the groups is used.
Obsession Steps with a Single Group
If an Obsession step consists of only 1 group and hi is 100% then hi in the EOS step will simply reference the preset for that group (hi will be set to that preset).
Simple Effect Steps
If the look from an Obsession step consists of only intensities all at the same level (not at a focus group) then a simple step is created with hi and lo set to appropriate levels. For example if the intensities in the Obsession step are at 70%, hi is 80% and lo is 30% then the EOS hi and lo values will be 56% and 21% respectively.
Complex Effect Steps
If the step has intensities at different levels or at a focus group or has any parameters other than intensity, then presets will be created to store the various levels. The presets will be labeled (Effect n Step n Hi) or (Effect n Step n Lo). If only the hi preset is needed it will be labeled (Effect n Step n). An EOS preset is created from the look in the Obsession step scaled by hi from that step. Hi in the EOS step will then be set to that preset. If lo from the Obsession step is not 0 then another preset will be created scaled by that lo and lo in the EOS step will be set to that preset. For example if the Obsession step has channel 1 at 50%, channel 2 at 80%, hi at 90% and lo at 10% then two presets are created. The first (for hi) will have channel 1 at 45% and channel 2 at 72%. The second (for lo) will have channel 1 at 5% and channel 2 at 8%. If a channel in an Obsession effect step references a focus group and hi (or lo) is 100% that reference is converted to a palette reference in the preset(s) for that step. For example the Obsession step has channel 1 at focus group 2. The preset created for the step will have channel 1 at palette 2. If hi (or lo) is not at 100% and a focus group is referenced, the level stored in the preset will be the level from the focus group scaled by hi (or lo). For example the Obsession step has channel 1 at focus group 2 and hi at 80%. Focus group 2 has channel 1 at 50%. The preset created for the step will have channel 1 at 40%. The palette link is lost because there is no way to say "channel 1 at 80% of palette 2". Note that if the result of dereferencing the focus groups leaves the step with only intensities all at the same level, the preset will not be created and a simple step will be used with hi and lo set appropriately. In the previous example the EOS step would have hi at 40%. Presets for effect steps are numbered sequentially as they are needed and will normally start at a high number +.01 (999.01 or 998.01 etc). Integral numbers are skipped to avoid stepping on imported groups which also use presets.
Time Code
The Obsession Time Code event list (SMPTE) will be read into EOS show control list 1. List 1 will be labeled "Imported Time Code". The source will default to MIDI Time Code 1 and both enables will be off. All events will read in as is with no modification.
ETC Emphasis Files
Emphasis ASCII files created prior to Vsn 2.5 do not support any manufacturer specific data but are still treated as Emphasis files. Files created in Vsn 2.5 and later include all the items that are in generic files plus moving light fixtures, focus points, timecode events and more complex cues and submasters. Channels in these files are always desk channels. Classical effects, Dynamic effects, accessories (scrollers), frame tables, real time clock and dimmer labels and profiles are not imported.
Patch
An attempt is made to match Emphasis personalities to EOS personalities. This is not always successful. If there are reasonable matches then the best match is used. If there are no reasonable matches, then the device is patched as a generic dimmer and all level data for parameters other than intensity are lost. The EOS channel number will be the same as the files desk channel number for conventional dimmers and the same as the starting desk channel for fixtures. If an Emphasis fixture has a remote dimmer and it is patched then the remote dimmer will be patched in EOS as a generic dimmer with the same EOS channel as the fixture. This will show up in EOS as an extra part in the DMX patch. Channels that appear in the file (in cues, subs etc) but are not patched in the file will be patched as generic dimmers without EDMX addresses in EOS. Patch proportion and profile are not implemented at this time. Flip and swap are not implemented at this time.
Cues
All cues are saved into EOS cue list 1. Cue list 1 will be labeled "Imported from Emphasis". Any references to focus points are converted to palette references. Rate override, all fade and cue block are implemented. Links to macros and submasters are not imported. Subroutines are imported and are discussed in a section below. Classical effects are imported but are not referenced by the cue. They are discussed in a section below. Dynamic effects are not imported. Levels are converted into move lists. Channel blocks are converted to hard blocks.
Submasters
Since EOS does not have submaster pages, incoming submasters must be renumbered when they're read in. The incoming submasters will be numbered sequentially. The original submaster number and page are prepended to the label in the form (page/submaster) (Sub n Page n). Since EOS does not support as many submasters as Emphasis (1080) any extra submasters above the current EOS limit will be discarded. Any references to focus points are converted to palette references. Dwell time is supported. Bump types and rate overrides are not. Inhibitive, classical effect and subroutine submasters are imported but subroutines and effects will not appear in the EOS submaster list. See the subroutine and effect sections below. Classical effects, Dynamic effects and supermasters are not imported.
Groups
Since Emphasis groups are often used as both channel lists and level sets these Emphasis groups are translated into EOS as both groups and presets. If the Emphasis group contains information for any parameter of an EOS channel, that EOS channel will be placed in the corresponding EOS group. For example: Emphasis has a Cyberlight patched to channel 51. Emphasis Group 3 has channel 62 @ 55. Channel 62 is zoom for the Cyberlight. The Cyberlight will become EOS channel 51. Since Emphasis group 3 has one of the Cyberlight's parameters in it, EOS group 3 will have channel 51 in it. An EOS channel will be in the EOS group if the desk channel for any of its parameters is in the Emphasis group. When creating presets any references to focus points are converted to palette references.
Focus Points
Emphasis focus points are converted into EOS palettes. All four palette types are created with the appropriate parameters in the appropriate palette. All four palettes will have the same label.
Time Code
The Emphasis Time Code event list (SMPTE and MTC) will be read into EOS show control list 1. List 1 will be labeled "Imported Time Code". The source will default to MIDI Time Code 1 and both enables will be off. All events will read in as is without modification. Any Emphasis events with multiple actions will be split into multiple EOS events with the same time code.
Subroutines
Both cue and submaster subroutines are converted into cue lists. The first cue subroutine encountered will be created in EOS cue list 2, the next in list 3 and so on followed by the submaster subroutines. Since Emphasis can have a huge number of subroutines, any beyond the current EOS cue list limit will be discarded. A cue subroutine will show up in cue list 1 as an empty cue that links to cue 1.0 in the cue list that the subroutine was stored in. The empty cue will have a follow time of 0. Both The empty cue and the cue list will have the label that the subroutine had. The cue list will have that same label with (Cue n Subroutine) prepended to it. The cue list for a submaster subroutine will have the label that the submaster had with the original submaster number and page prepended to the label in the form (page/submaster) (Sub n Page n). Each step of the subroutine will translate into a single cue in the new cue list. The cue numbers will be the same as the step numbers. Cue subroutines will have an extra step at the end labeled "Return" that links back into cue list 1 to the first cue after the subroutine if one exists. A cue fade step will copy the data from its referenced cue into the new cue. The original cue number will be prepended to the label in parentheses. If the cue does not exist or there is no cue number in the step an empty cue with the label "Run Cue n" will be created. The cue type will be overridden by the type in the step unless the step type was dynamic. The fade times will be overridden by the times in the step unless they are dynamic. If the follow time in the step is a hard time then it is used. If it's dynamic then the larger of the up and down fade time is used. If it's hold or manual then no follow is used and the next step will not automatically fire when this step is done. The MBB flag (move while dark) is not used. Fadeout, bounce, filter and macro steps translate into empty cues with 0 follow time and appropriate labels. Jump and loop steps translate into empty cues with links to the appropriate cue with 0 follow time and appropriate labels. Loop count is ignored. Go steps translate into an empty cue with a link back into cue list 1 to the appropriate cue with 0 follow time and a "Go" label. Hold steps translate into an empty cue without a follow time with and a "Hold" label. Empty steps translate into an empty cue with a "Delay" label.
Classical Effects
Both cue and submaster classical effects are imported as EOS step based effects. The effects will be numbered sequentially in the order they are encountered with cues first followed by submasters. Since Emphasis can have a huge number of effects, any beyond the current EOS limit will be discarded. Cue effects will have the same label as the cue with (Cue n) prepended. Submaster effects will have the same label as the submaster with (Sub n Page n) prepended. EOS step based effects have a channel list and either hard levels or presets for hi and lo. Individual channels cannot have their own levels. Since Emphasis effects can have channels at levels, two methods of conversion are necessary.
Simple Effect Steps
If an Emphasis step consists of only intensities all at the same level (not at a focus point) then a simple step is created with hi and lo set to appropriate levels. For example if the intensities in the Emphasis step are at 70%, hi is 80% and lo is 30% then the EOS hi and lo values will be 56% and 21% respectively.
Complex Effect Steps
If the step has intensities at different levels or at a focus point or has any parameters other than intensity, then presets will be created to store the various levels. The presets will be labeled (Effect n Step n Hi) or (Effect n Step n Lo). If only the hi preset is needed it will be labeled (Effect n Step n). An EOS preset is created from the look in the Emphasis step scaled by hi from that step. Hi in the EOS step will then be set to that preset. If lo from the Emphasis step is not 0 then another preset will be created scaled by that lo and lo in the EOS step will be set to that preset. For example if the Emphasis step has channel 1 at 50%, channel 2 at 80%, hi at 90% and lo at 10% then two presets are created. The first (for hi) will have channel 1 at 45% and channel 2 at 72%. The second (for lo) will have channel 1 at 5% and channel 2 at 8%. If a channel in an Emphasis effect step references a focus point and hi (or lo) is 100% that reference is converted to a palette reference in the preset(s) for that step. For example the Emphasis step has channel 1 at focus point 2. The preset created for the step will have channel 1 at palette 2. If hi (or lo) is not at 100% and a focus point is referenced, the level stored in the preset will be the level from the focus point scaled by hi (or lo). For example the Emphasis step has channel 1 at focus point 2 and hi at 80%. Focus point 2 has channel 1 at 50%. The preset created for the step will have channel 1 at 40%. The palette link is lost because there is no way to say "channel 1 at 80% of palette 2". Note that if the result of dereferencing the focus points leaves the step with only intensities all at the same level, the preset will not be created and a simple step will be used with hi and lo set appropriately. In the previous example the EOS step would have hi at 40%. Presets for effect steps are numbered sequentially as they are needed and will normally start at a high number +.01 (999.01 or 998.01 etc). Integral numbers are skipped to avoid stepping on imported groups which also use presets.
ETC Expression and Express Files
Expression and Express ASCII files created prior to Vsn 3.11 do not support any manufacturer specific data and are treated as generic ASCII files. Files created in 3.11 and after translate the same way as Emphasis files do with the exception that the label for cue list 1 will be "Imported from Expression".
Strand
Strand has one ASCII file format for both LightPalette and GeniusPro Software. Strand files include all the items in generic files plus moving light fixtures and effects. Channels in Strand files are not desk channels but fixtures just like EOS. Note that groups can be referenced by cues and submasters just like focus groups in Obsession. These groups are then called focus presets.
Patch
An attempt is made to match Strand personalities to EOS personalities. This is not always successful. If there are reasonable matches then the best match is used. If there are no reasonable matches, then the device is patched as a generic dimmer and all level data for parameters other than intensity are lost. The EOS channel number will be the same as the Strand channel number.
Cues
All cues are saved into EOS cue list 1. Cue list 1 will be labeled "Imported from Strand". Any references to focus presets are converted to preset references. Links, follows and multipart cues are supported.
Submasters
Since EOS does not have submaster pages, incoming submasters must be renumbered when they're read in. The incoming submasters will be numbered sequentially. The original submaster number and page are prepended to the label in the form (Sub n Page n). Any references to focus presets are converted to preset references. Inhibitive submasters are supported.
Groups
Strand groups are translated into EOS as both groups and presets. If the Strand group contains information for any parameter of an EOS channel, that EOS channel will be placed in the corresponding EOS group. For example: Strand has a Cyberlight patched as channel 7. Strand Group 3 has channel 1 zoom @ 55. The Cyberlight will become EOS channel 7. Since Strand group 3 has one of the Cyberlight's parameters in it, EOS group 3 will have channel 7 in it. Strand uses some of the higher numbered groups (above 992.0) to control various things like multi-user channel assignments. These groups are read in just like any other group.
Effects
Strand effects are imported as EOS step based effects. EOS step based effects have a channel list and either hard levels or presets for hi and lo. Individual channels cannot have their own levels. Since Strand effects can have channels at levels, two methods of conversion are necessary.
Simple Effect Steps
If a Strand step consists of only intensities all at the same level then a simple step is created with hi and lo set to appropriate levels. For example if the intensities in the Strand step are at 70%, hi is 80% and lo is 30% then the EOS hi and lo values will be 56% and 21% respectively.
Complex Effect Steps
If the step has intensities at different levels or has any parameters other than intensity, then presets will be created to store the various levels. The presets will be labeled (Effect n Step n Hi) or (Effect n Step n Lo). If only the hi preset is needed it will be labeled (Effect n Step n). An EOS preset is created from the look in the Strand step scaled by hi from that step. Hi in the EOS step will then be set to that preset. If lo from the Strand step is not 0 then another preset will be created scaled by that lo and lo in the EOS step will be set to that preset. For example if the Strand step has channel 1 at 50%, channel 2 at 80%, hi at 90% and lo at 10% then two presets are created. The first (for hi) will have channel 1 at 45% and channel 2 at 72%. The second (for lo) will have channel 1 at 5% and channel 2 at 8%. Strand effect steps can have channels at hard levels or focus presets (similar to Obsession focus groups). Since EOS presets can't reference each other and Strand focus presets (groups) are translated into EOS presets this link must be lost. The level stored in the preset will be the level from the focus preset scaled by hi (or lo). For example the Strand step has channel 1 at focus preset 2 and hi at 80%. Focus preset 2 has channel 1 at 50%. The preset created for the step will have channel 1 at 40%. Note that if the result of dereferencing the focus presets leaves the step with only intensities all at the same level, the preset will not be created and a simple step will be used with hi and lo set appropriately. In the previous example the EOS step would have hi at 40%. Presets for effect steps are numbered sequentially as they are needed and will normally start at a high number +.01 (999.01 or 998.01 etc). Integral numbers are skipped to avoid stepping on imported groups which also use presets.
Manufacturer-Specific Extensions
$$UText
ASCII Imports are expected to contain only ASCII characters.
Eos can import/accept additional characters such as UTF-8 when using a $$UText prefix to them if the header information of the ASCII file identifies it as
Ident 3:0
Manufacturer ETC
Console Eos
$$Format 3.20
The easiest way to see this is to create a new Eos show; record a blank cue; and label it with symbols from the Eos Sym symbol keyboard.
When Cues are exported as ASCII, the following output is observed in a text editor:
Cue,1,1
Text,??????
$$UText,⇇⇉⇈⇊♫♯
That special $$UText can be reliably re-imported to get back the extended characters.
Eos exports the decimal equivalent of the Unicode. The first entry “8647” in decimal is equivalent to 21C7 in hexadecimal, and Unicode 21C7 is Leftwards Paired Arrows, ⇇
Note that a Text
entry must be made in addition to the $$UText entry; otherwise the $$UText will not be imported. The Text entry can be left blank or can be some arbitrary text.