DMX Functionality (Cosmos DMX Tools):
- Manage multiple DMXcommands profiles and easily switch between
them
- User interface for creating, editing, and testing
DMX configurations including built-in support for adding
various chase-light effects and gauges
- DMX event capabilities such as fading
between colors, simple "if" conditions, etc.
- Support for 1024 channels (2 DMX controllers) with most
controllers (all except uDMX) rather than only 512
channels (1 controller)
- Support for more types of devices:
Cosmos Bridge Tools currently assumes
Artemis Cosmos is in one of the following locations:
- %LocalAppData%\Cosmos
- %UserProfile%\Desktop\Cosmos
- %ProgramFiles%\Cosmos
- %ProgramFiles(x86)%\Cosmos
- %SystemDrive%\Games\Cosmos
If it is, installation will complete normally.
If your installation directory is not one of the above (e.g., you
have some other Steam directory), Cosmos
Bridge Tools
can still be installed, but the installer will warn that Cosmos was
not found, and Cosmos
Bridge Tools won't be fully
enabled for use until you install the mod to one or more Cosmos
directories, which you can do as follows:
- Launch CosmosDmxEditor
- If the "Mod Installation Locations" screen does not appear, do File
→ Manage Cosmos Install Locations...
- Click Add...
- Navigate to and select the Artemis3-x64-release.exe file in the
desired
location
- Click Open
-
If asked "Do you want to allow this app to
make changes to your PC?" then click Yes.
Note: if you later want to completely uninstall Cosmos Bridge
Tools, you should do so from the Control Panel ("Uninstall a
program"). Currently uninstalling fails if attempted from
the System "Apps & features" page, but works fine from Control
Panel.
DMX Basics:
Fancy DMX Effects:
DMX Device Types:
- Run Cosmos DMX Editor. You should see a
default DMX Device profile which only has 1 3-channel Enttec Open
device.
- For anything else, create a new one or copy your settings from
ArtemisBridgeTools if you used that with Artemis 2.x.
- Under DMX Devices, click Edit... to verify
your DMX Devices settings are correct. On the left will be
"Virtual Input
Devices", which are what Cosmos sees. On the left will be
"Associated Output Devices", being what each maps to (typically a one
output device per input device).
If you later need to edit the DMXcommands.xml file manually or with
any other program, you will need to use a file in the
"%LocalAppData%\CosmosBridgeTools\" directory (where the filename is
listed in the ActiveProfileFileName.txt file there). You can open
this directory in File Explorer by doing File→Open
File Location from within Cosmos DMX Editor.
Let's take an example of an 8-channel device such as
this light. The
manual page lists the 8 channels as:
- CH1: Macro function
- CH2: Color choosing
- CH3: Speed Adjustable
- CH4: Master dimming
- CH5: Red dimming
- CH6: Green dimming
- CH7: Blue dimming
- CH8: White dimming
The first three channels are special, and usually all you want to do
is treat it as a simple full color light. So in this case, you'd
want to set CH1=0 (No macro function), CH2=0 (All color), CH3=0 (no
speed). These are referred to in Cosmos DMX Editor as
"Other" channels, as opposed to (master) Intensity/Brightness, Red,
Green, Blue, or White channels.
So to configure this light:
- Run Cosmos DMX Editor.
- Under "DMX Devices", click Edit...
- Click Add... under the Virtual Input Devices
section
- Find your DMX controller type (e.g., "Enttec Open") and click Add...
(If your controller type is not shown, you can click Manually
add another type, and then set the Output device type
to the type for your light or controller)
- Set # channels to 8. Since this is an
unusual number of channels, the channel order configuration screen will
appear (if you are configuring a, say, 5-channel light, the same dialog
can be obtained by selecting "Other" for the channel order).
- Click Add Other Type three times, to add
"Other" channels for CH1, CH2, and CH3.
- Add channels CH4 through CH8 by clicking, in order, the
checkboxes for Intensity (Brightness), Red, Green, Blue, and
White. The list on the right should now show the correct 8
channels in order.
- Click OK. The Color channel
order should be displayed as the acronym "OOOIRGBW"
- Update the ID prefix to be something
appropriate (e.g., "L"). Once created, the actual ID will be this
prefix followed by a number (1 for the first one, 2 for the second
light if you have more than one, and so on)
- Click OK.
- Click Save.
At this point, you can now add commands for any other cue, set the
device to your RGBW light, and observe the effects.
You can either manually trigger individual cues to observe the
effects, or use one or more console simulators that simulate what cues
are triggered in response to various game controls.
To use the console simulator(s):
- Run Cosmos DMX Editor
- If the command profile to test is not already the Active Profile,
select the command profile and click Activate
- Click Test Active... to begin testing
- Click the "Game in progress" checkbox to simulate starting a
game. This will disable the ability to change the ship type and
accent color, and enable the console simulator buttons.
- Click one or more console buttons (e.g., Helm). You can
have multiple open at the same time.
- Manipulate various controls on the console windows and observe
the effects. Note that any controls whose DMX cues are not used
in your DMX command profile will be disabled.
- Repeat until done.
- Click Stop Testing
To manually test individual cues:
- Run Cosmos DMX Editor
- If the command profile to test is not already the Active Profile,
select the command profile and click Activate
- Click Test Active... to begin testing
- Select cues to be set and hit Apply.
Observe the effects. Repeat until done.
- Click Stop Testing
- Run Cosmos DMX Editor
- If the profile to test is not already the Active Profile, select
the profile and click Activate
- Click Edit...
- Click the Log Cosmos Events checkbox in the
upper right corner
- Click Save. Logging will now be
enabled whenever Artemis Cosmos runs. (Cosmos DMX Editor need not
be running.)
The log file can be found in
"%LocalAppData%\CosmosBridgeTools\ArtemisLog.txt" and one easy way to
find it is:
- Run Cosmos DMX Editor
- Do File→Open
File Location
- Double click on ArtemisLog.txt
Events are logged using the format illustrated below where the first
column is number of seconds since start, second column is the cue name,
and 1 means set, and 0 means cleared, e.g.:
117.640
ENERGY_20
= 1
139.906
ENERGY_20
= 0
You can view DMX cues in real time over a socket, so that you can
consume them programmatically, such as from a Python script, or display
them on your screen. For example, to display them on your
screen, you might connect to Artemis Cosmos using a command such as
"telnet localhost" (the telnet client comes with Windows but is an
optional component and must first be enabled using "Turn Windows
features on or off" via the Windows control panel).
- Run Cosmos DMX Editor
- If the profile to test is not already the Active Profile, select
the profile and click Activate
- Click Edit...
- Enter an unused port number (e.g., "23", which is the default
port used by the telnet command) in the Tracing Port
box at the top
- Click Save. Whenever Artemis Cosmos
runs, it will now listen on that port. (Cosmos DMX Editor need
not be running.)
To view the events in real time, you will need to connect to that
port after starting Artemis. Only one connection to that port at
a time is supported.
Events are logged using the format illustrated below where the first
column is number of seconds since start, second column is the cue name,
and 1 means set, and 0 means cleared, e.g.:
117.640
ENERGY_20
= 1
139.906
ENERGY_20
= 0
You can also use a socket from your own program (e.g., a Python
) to trigger custom DMX cues. The syntax is "dmxset cuename[=value]",
where cuename is the name of one of the custom cues
(CUSTOM_{EVENT,STATE}_{1-4}), and value is 0 or 1. If value
is not present, it defaults to 1. Some examples are:
dmxset CUSTOM_STATE_1 = 1
dmxset CUSTOM_STATE_1=0
dmxset CUSTOM_EVENT_1
Event cues need not be cleared, they will be triggered each time the
value is set to 1.
Note that only DMX cues that are used in one's command profile will
be logged. To enable logging of specific cues that are not
otherwise used by other DMX devices, you can add DMX commands with no
devices associated for those cues.
How to create a gradual transition into a continuous
effect
Artemis Cosmos itself is limited in the ability to create a gradual
transition into a continuous effect, but Cosmos Bridge Tools makes
this much easier by allowing any continuous effect to have a set of 0
or more "entrance" timeblocks that play only once at the beginning of
the effect, and a set of 0 or more "exit" timeblocks that play at the
end of the effect. There may be multiple entrance and exit
timeblocks if desired, but any entrance timeblocks must occur at the
beginning of the command, and any exit timeblocks must occur at the end
of the command. For example:
<event
type="NORMAL_CONDITION_1" continuous="yes">
<timeblock mseconds="1500" phase="entrance">
<!-- Various setvalues go
here that only happen once when a game is started... -->
</timeblock>
<timeblock mseconds="1000">
<!-- Various setvalues go
here for the normal effect after any entrance timeblocks complete -->
</timeblock>
<timeblock mseconds="1500" phase="exit">
<!-- Various setvalues go
here that only happen once when a game is ended... -->
</timeblock>
In the example above, when a game is started, any entrance
timeblocks play first, then the normal timeblocks play in a continuous
loop until the game ends, at which point the exit timeblocks
play. This illustrates that entrance/exit timeblocks on a
continuous command obviate the need to have separate event cues (such
as GAME_OVER, which didn't work anyway) that occur when some state cue
is set or cleared. So many event cues, such as
PLAYER_SHIELDS_{RAISED,LOWERED}, become redundant in this mechanism,
meaning you can either use them normally OR just use entrance/exit
timeblocks on the associated state cue.
Let's look at two common cases of desired effects:
1) an effect that
gradually moves in across a series of lights, and
2)
an effect that gradually changes all lights in a set together
Say you have a set of lights that are all white under
NORMAL_CONDITION_1 or all purple under WITHIN_NEBULA. When you
raise shields, you want them to transition to blue in series, one every
500 ms, and then use a continuous blue effect for all those
lights with PLAYER_SHIELDS_UP. Without Cosmos Bridge
Tools, this is problematic since all the lights will go blue at the
same time because PLAYER_SHIELDS_UP masks the existing condition
(NORMAL_CONDITION_1 or WITHIN_NEBULA) immediately upon raising shields
so there's no way for PLAYER_SHIELDS_RAISED to let any lights use the
pre-existing condition. To do so gradually and allow the existing
effect to remain on some lights as you override them sequentially, you
would need to delay the PLAYER_SHIELDS_UP effect to begin at the end of
the PLAYER_SHIELDS_RAISED.
To solve this, you can use an entrance timeblock with a duration of
1500ms (assuming your PLAYER_SHIELDS_RAISED duration is 1500ms) to
delay the normal effect until then. You can either use
PLAYER_SHIELDS_RAISED normally and use an empty (no devices/setvalues)
entrance timeblock in your PLAYER_SHIELDS_UP, or you can
simply omit PLAYER_SHIELDS_RAISED and just put your shields-up effect
in the entrance timeblock of PLAYER_SHIELDS_UP.
This scenario is easy to accomplish with Cosmos DMX Editor, as
follows:
- Run Cosmos DMX Editor
- Click Edit... to edit your DMX command profile
- Find or create the continuous effect you want to delay
(PLAYER_SHIELDS_UP in the example above).
- Add a timeblock (and move it up to the top of the command if not
already there), and then change the value in the "Phase" column to
"entrance".
- Fill in the entrance timeblock(s) with the non-continuous
transition effect.
- If you also want an exit effect, add a timeblock (making sure
it's at the bottom of the command), and change the value in the "Phase"
column to "exit".
- Click Save
That's it! You can now use the Test feature
of Cosmos DMX Editor to observe the effects, or just exit and run
Artemis Cosmos normally.
Say you have a light (or set of lights) that are all white under
NORMAL_CONDITION_1 or all purple under WITHIN_NEBULA. When you
raise shields, you want it to (say) slowly transition (or fade) to
blue. Without Cosmos Bridge Tools, this is problematic since the
PLAYER_SHIELDS_RAISED and PLAYER_SHIELDS_ON cues will take effect and
override the base condition immediately, and transition from whatever
the start color is for the first timeblock.
Instead, we want to cause the PLAYER_SHIELDS_RAISED effect (or the
entrance timeblock of PLAYER_SHIELDS_ON) to slowly transition from
transparent to opaque, so that it will fade from white to blue, or from
purple to blue, depending on the previous color. This is
easy to accomplish with Cosmos DMX Editor, as follows:
- Run Cosmos DMX Editor
- Click Edit... to edit your DMX command profile
- Find or create the transition effect, such as a non-continuous
PLAYER_SHIELDS_RAISED (making sure it is after any relevant
continuous cues such as PLAYER_SHIELDS_ON, FRONT_SHIELD_*, or
REAR_SHIELD_*) or an entrance timeblock on a continuous
PLAYER_SHIELDS_ON. The color should typically use the same
start and end color (no change values).
- Change the value in the timeblock's "Fade" column from blank to
"in" to fade in, which will cause the entire timeblock (and all device
settings within that timeblock) to fade from fully transparent at the
start of the timeblock, to fully opaque at the end of the
timeblock. To instead fade out, such as for
PLAYER_SHIELDS_LOWERED, set the Fade value to "out".
- Click Save
That's it! You can now use the Test feature
of Cosmos DMX Editor to observe the effects, or just exit and run
Artemis Cosmos normally.
Let's now look at a more complex example. Say you have a set
of front shield lights that form a front shield strength gauge when
shields are up. When you raise shields, you want the lights
to gradually brighten from the previous color to whatever colors the
gauge would normally show. When the shield strength level changes
due to damage or repair, you want the lights to gradually transition to
their new color. This is easy to accomplish with Cosmos DMX
Editor, as follows:
- Run Cosmos DMX Editor
- Click Edit... to edit your DMX command profile
- Create a gauge (e.g., front shield strength) using the
instructions under How to create
a gauge using a series of lights
- Set the Time to fade in/out when set/cleared
value to the time to fade in/out the color (e.g., 1500 for
shields). This will result in it automatically adding fade-in
entrance timeblocks and fade-out exit timeblocks when the gauge is
created.
- Click Save
That's it! You can now use the Test feature
of Cosmos DMX Editor to observe the effects, or just exit and run
Artemis Cosmos normally.
If you have an effect you want to occur only while two states are both
true, or only when one is true and the other is false, or only when a
state is true and some other game property is above or below a given
threshold, you can now do this.
Example 1: Say you want one effect to play during forward impulse,
and another one to play during reverse impulse, and neither to play
when one is at a full stop. The stock Artemis Cosmos cannot
do
this, since HELM_IN_REVERSE plays even when at a full stop.
Instead, you want to create one (say) IMPULSE_20 effect when
REVERSE_IMPULSE is true, for the forward impulse effect, and another
IMPULSE_20 effect when REVERSE_IMPULSE is false, for the reverse
impulse effect. (See the New DMX
Cues table for further discussion of the difference between the
native HELM_IN_REVERSE cue and the new REVERSE_IMPULSE cue.)
Cosmos Bridge Tools allows a command to optionally have an "if"
condition to test before making the command become active.
Currently the only condition supported is a simple check whether
another State cue is true or false, which looks like this in your
command profile:
<event type="IMPULSE_20"
continuous="yes" if="REVERSE_IMPULSE">
<!--reverse impulse-->
...
</event>
<event type="IMPULSE_20" continuous="yes" if="!REVERSE_IMPULSE">
<!--forward impulse-->
...
</event>
You can configure this in Cosmos DMX Editor as follows:
- Run Cosmos DMX Editor
- Click Edit... to edit your DMX command profile
- Create the effect normally. For example, create an
IMPULSE_20 command.
- Click the If column cell in the row for that
command. The Condition screen will appear.
- Set the State value to the cue to test
(REVERSE_IMPULSE in the above example).
- Set the Test value to the condition to test
("Is set" or "Is not set")
- Click OK
- Click Save
That's it! You can now use the Test feature
of Cosmos DMX Editor to observe the effects, or just exit and run
Artemis Cosmos normally.
Example 2: Say you want your IMPULSE_20 effect to only play when
engineering has power to the system, and not when power is dropped to
0. Cosmos Bridge Tools supports conditions based on various named property (the same set of
properties it supports for named colors) using a "<" or ">"
operator and an integer percentage threshold, so your command profile
would look like this:
<event type="IMPULSE_20"
continuous="yes" if="systemCurEnergyImpulse
> 0%">
...
</event>
You can configure this in Cosmos DMX Editor as follows:
- Run Cosmos DMX Editor
- Click Edit... to edit your DMX command profile
- Create the effect normally. For example, create an
IMPULSE_20 command.
- Click the If column cell in the row for that
command. The Condition screen will appear.
- Set the State value to the property to test
(systemCurEnergyImpulse in the above example).
- Set the Test value to the condition to test
("Is greater than" or "Is less than")
- Enter the threshold value
- Click OK
- Click Save
That's it! You can now use the Test feature
of Cosmos DMX Editor to observe the effects, or just exit and run
Artemis Cosmos normally.
Cosmos DMX Editor supports easily creating a number of different
chase effects, from a single moving light to a growing/shrinking line.
First, make sure you've configured your light strip:
- Run Cosmos DMX Editor
- Click Edit... under DMX Devices. If all
of your lights appear and look correct, you're done. Otherwise,
continue as follows.
- Click Add Many
- Set Output device type to the right device type (typically dmx-3ch)
- Set # devices to add to the number of lights
in the strip
- Set First input channel to the first DMX
channel address of the first light in the strip (remembering that the
channel address is one higher than the "index" value used in the
DMXcommands file)
- Set ID prefix to a non-empty string to use to
generate device IDs. For example, if you want a strip of 20
lights to be referred to as "L1" through "L20", then set ID
prefix to "L" without the quotes. (If you already have
other lights starting with the same prefix, the next unused number will
be used.)
- Click OK to create the device entries
- Click Save to save the device profile
You're now ready to create a chase effect:
- Run Cosmos DMX Editor
- Click Edit... under Cosmos DMX Commands
- Add a new command by clicking Add under Command
- Set the Cue to the cue you want to trigger the
chase effect
- Click the Chase Effect... button. (This
button will be grayed out unless you have selected a row with a
timeblock with no devices.)
- In the Devices section, select the range of
devices you want the chase effect to span. The First
device will be the one to start the effect, and the Last
device will be the one to end the effect. (That is, the
First device may come after the Last
device in your list if you want the effect to travel in the opposite
direction.)
- In the Time section, configure the duration of
each step, which will be used to create one timeblock per step
- In the Moving Color section, select the color
to use for the effect (currently only single-color effects can be
bulk-added).
- Set the Move Effect to the kind of chase effect
you want:
- Single Light means a single light will move
through the series of devices
- Appearing Line means the First light will
immediately come on, and each subsequent light will turn on in
subsequent timeblocks
- Disappearing Line means all lights in the
series start on, and the First light will immediately turn off, and
each subsequent light will turn off in subsequent timeblocks.
Thus the opposite of an Appearing Line from "L1" to "L5" (say, used for
PLAYER_SHIELDS_RAISED), would be a Disappearing Line from "L5" to "L1"
(say, used for PLAYER_SHIELDS_LOWERED).
- Set the Transition to the kind of transition
you want:
- Instantaneous means each timeblock makes the
change instaneously (change="0" in the DMXcommands file)
- Gradual means the change happens gradually
through the timeblock, with the "change" value computed automatically
- Click OK to add the timeblocks
- Click Save to save your command profile
That's it! You can now use the Test feature
of Cosmos DMX Editor to observe the effects, or just exit and run
Artemis Cosmos normally.
A "gauge" is when you have a set of lights that together indicate
the value of something via how many lights are on, similar to the
number of "bars" of signal strength on a cell phone. While you can
create such effects manually, it often involves significant work and
experimentation. Cosmos DMX Editor currently allows you to
easily create gauges for any named
property or any of the following values by bulk-adding all the
appropriate commands for you:
- Energy
- Hull integrity
- Impulse speed
- Shield strength (front)
- Shield strength (rear)
- Warp speed
To easily add a gauge for one of the above values:
- Run Cosmos DMX Editor
- Click Edit... under Cosmos DMX Commands
- To add the gauge commands in the middle of an existing file,
select the row you want to add the commands after. If no row is
selected, the gauge commands will be added at the end.
- Click Add Gauge...
- Select the Command set (warp, impulse, etc.) you want a gauge for
- Set the type to Put each cue on a separate light.
The number of devices will be set to the number of DMX commands in that
set. For example, since there are 4 warp speeds, it will take 4
lights to create a gauge. If you selected a named property,
you can choose any number of devices and the percentage thresholds will
be automatically computed when adding commands.
- In the Devices section, select the range of
devices you want the gauge to span.
- In the Colors section, set the First
command color to the color to use for the first cue in the
series (i.e., on the first light in the series).
- By default, the Last command color (i.e., the
color of the last cue in the series, to appear on the last light in the
series) will be set to the same as the first color, so that all lights
in the gauge will be the same color. However, you can optionally
change it to another color, e.g., to create a gauge that goes from red
at one end to green at the other end.
- Optionally set the Time to fade in/out when set/cleared
to a non-zero value if you want the gauge colors to change gradually
rather than instantaneously.
- Click OK to add the gauge
- Click Save to save your command profile
That's it! You can now use the Test feature
of Cosmos DMX Editor to observe the effects, or just exit and run
Artemis Cosmos normally.
A ship's Accent Color can be changed inside the game by clicking the
Customize button on the server or on the Helm client, and then changing
the color slider. Now we'll see how to set a light's color to
match that color. Say you have previously created a light
named L1, and you want this bridge light to always be the ship's accent
color so it's visible even before the game begins, to provide ambient
lighting. So in this example, we'll need to use ALWAYS_ON, since
if you use NORMAL_CONDITION_1 it will only be visible when a simulation
is in progress.
You can do this as follows:
- Run Cosmos DMX Editor
- Click Edit... under Cosmos DMX Commands
- Click Add under Command, to add a new command
and change its Cue to ALWAYS_ON
- Change the Device to the light you want, which is L1 in this
example
- Click Change to get to the screen to
set the associated color
- Change the Named Color to "Accent" for the
Initial Value (the Final Value will also be automatically changed to
match)
- Click OK
- Click Save & Close
That's it! You can now use the Test feature
of Cosmos DMX Editor to observe the effects, or just exit and run
Artemis Cosmos normally.
Within the Test dialog, you can change the Accent Color via a slider
at the bottom, to observe the effects.
Any named property supported by
Cosmos Bridge Tools can be used as a custom Color Name.
Now we'll see how to set a light's color to match a named
color. Say you have previously created a light named L1,
and you want this bridge light to be set to a color based on the beams
heat level, where you want (say) green to be 0% heat, and red to be
100% heat. So in this example, we'll need to use the property
"systemCurHeatBeam" as the color name, and associate it with a (say)
NORMAL_CONDITION_1 cue so that it is active whenever the simulation is
in progress.
You can do this as follows:
- Run Cosmos DMX Editor
- Click Edit... under Cosmos DMX Commands
- Click Add under Command, to add a new command
and change its Cue to NORMAL_CONDITION_1
- Change the Device to the light you want, which is L1 in this
example
- Click Change to get to the screen to
set the associated color
- Change the Named Color to "systemCurHeatBeam"
for the Initial Value (the Final Value will also be automatically
changed to match)
- Click Edit Named Colors
- Select the "systemCurHeatBeam" entry
- Change the Color under Low Value to green
- Change the Color under High Value to red
- Click Update to save the settings for that
named color
- Click Dismiss to close the named color editor
dialog
- Click OK to save the DMX Device Command
settings
- Click Save & Close
That's it! You can now use the Test feature
of Cosmos DMX Editor to observe the effects, or just exit and run
Artemis Cosmos normally.
Within the Test dialog, you can change the game values by clicking
on the Engineering button and changing the relevant
values, to observe the effects.
Often you want the color or brightness of a light to indicate the
value of some important quantity. While you can create such effects
manually, it often involves significant work and
experimentation. Cosmos DMX Editor currently allows you to
easily create stacked effects for the following values by bulk-adding
all the appropriate commands for you:
- Energy
- Hull integrity
- Impulse speed
- Shield strength (front)
- Shield strength (rear)
- Warp speed
To easily add a stacked effect for one of the above values:
- Run Cosmos DMX Editor
- Click Edit... under Cosmos DMX Commands
- To add the commands in the middle of an existing file, select the
row you want to add the commands after. If no row is selected,
the commands will be added at the end.
- Click Add Gauge...
- Select the Command set (warp, impulse, etc.) you want to add an
indicator for
- Leave the type set to the default, which is Stack
effects on same light(s). The number of devices
will be set to the number of DMX commands in that set. For
example, since there are 4 warp speeds, it will take 4 lights to create
a gauge.
- In the Devices section, select the range of
devices you want the effect to span (normally just one
device).
- In the Colors section, set the First
command color to the color to use for the first cue in the
series.
- Set the Last command color to the color to use
for the last cue in the series.
- Click OK to add the commands
- Click Save to save your command profile
That's it! You can now use the Test feature
of Cosmos DMX Editor to observe the effects, or just exit and run
Artemis Cosmos normally.
Currently any sound file (.mp3, .wav, .wma, .au, .mid, and possibly
more) file can be triggered in response to a DMX cue (endless looping
effects are not yet supported, however).
Let's say you have a sound file named Data_Hail.wav
(a sound clip of Data saying "Captain, we are being hailed!") that you
want to be played whenever an incoming transmission is received from an
enemy, which the new DMX cues table tells
us is the INCOMING_COMMUNICATION_PRI0 for Cosmos versions prior to
2.5.107, or INCOMING_COMMUNICATION_ENEMY for v2.5.107 and later.
This can be done as follows.
First we add an audio device as follows:
- Run Cosmos DMX Editor
- Click Edit... under DMX Devices
- Click Add in the Virtual Input Devices section
- Click Manually add another type...
- Set the Output device type to Audio
- Set the ID prefix to some prefix such as "Audio". Once
created, the actual device ID will by default be this prefix followed
by a number ("1" for the first one, "2" for the second one, etc.), but
you can change this later if desired.
- Click OK
- Select the desired audio device
- Optionally click Test to verify that you picked
the right device. A short sound will be played out that device.
- Click OK
- Click Dismiss
- Click Save
Next we need to associate a DMX value with the sound file, as
follows:
- Run Cosmos DMX Editor
- Click File→Audio
Files...
- Decide on a unique value (1-255) for this sound clip. Say
we want to use the value 3.
- Click the Add button in row 3
- Select the Data_Hail.wav file and click Open
- Click Save. This file is now associated with
the value 3 for any audio-1ch device you create.
Finally, we need to associate the sound with a DMX cue as follows:
- Run Cosmos DMX Editor
- Click Edit... under Cosmos DMX Commands
- Click Add to add a new command, and change the
cue to the desired cue (INCOMING_COMMUNICATION_PRI0 in this example)
- Click in the Device cell of the newly created row and click Add
to add a device
- Set the device to the audio device you created (e.g., "Audio")
- Click Change, since by default silence is
associated
- Select the sound effect (e.g., "Data_Hail") in the list of sound
effects
- Note the sound effect duration compared to the remaining command
duration. If the sound effect duration is longer, this indicates
that the sound will be cut off when the command ends and you may wish
to update the timeblock duration.
- Click Save
That's it! You can now play Cosmos and observe the effects,
or use the Test
Active feature of Cosmos DMX Editor to test it.
The above steps will have created a command in your DMX commands
file looking something like this:
<event
type="INCOMING_COMMUNICATION_PRI0">
<timeblock
mseconds="1500">
<setvalue index="16" value="3"
change="0"></setvalue>
<!-- play Data_Hail on
Audio -->
</timeblock>
</event>
In the above example, the audio device was created to use DMX
address 17 (i.e., index 16), with the value 3 to indicate the sound
file we selected. The change attribute should be 0 for
sound effects, and the timeblock duration will affect the duration of
the audio effect. The effect will be started when the timeblock
begins, and will play until either the sound clip finishes, or another
value is set on the audio channel, or the last timeblock of the command
ends, whichever comes first.
A video file in AVI format can be triggered in response to a DMX cue
(you can convert an mp4 file to an avi file for free at
http://video.online-convert.com/convert-to-avi). The video
can be played (in full screen mode) on any monitor attached to the
machine running the main screen.
Let's say you have a video named IncomingTransmission.avi that you
want to be played whenever an incoming transmission is received from an
enemy, which the new DMX cues table tells
us is the INCOMING_COMMUNICATION_PRI0 cue. This can be done as
follows.
First we add a video device as follows:
- Run Cosmos DMX Editor
- Click Edit... under DMX Devices
- Click Add in the Virtual Input Devices section
- Click Manually add another type...
- Set the Output device type to Video
- Set the ID prefix to whatever you want (say, "Monitor").
Once created, the actual device ID will by default be this prefix
followed by a number ("1" for the first one, "2" for the second one,
etc.), but you can change this later if desired.
- Click OK to add the device and then click Dismiss
- Click on the Param value after "Monitor #:" (i.e., the third cell
in the row) and enter the desired monitor number (e.g., "2"). The
monitor number should match what Windows reports in the display
settings.
- Click OK
- Click Save
Next we need to associate a DMX value with the video file, as
follows:
- Run Cosmos DMX Editor
- Click File→Video
Files...
- Decide on a unique value (1-255) for this video. Say we
want to use the value 3.
- Click the Add button in row 3
- Select the video file (e.g., IncomingTransmission.avi) and click Open
- Click Save. This file is now associated with
the value 3 for any video-1ch device you create.
Finally, we need to associate the video with a DMX cue as follows:
- Run Cosmos DMX Editor
- Click Edit... under Cosmos DMX Commands
- Click Add to add a new command, and change the
cue to the desired cue (INCOMING_COMMUNICATION_PRI0 in this example)
- Click in the Device cell of the newly created row and click Add
to add a device
- Set the device to the video device you created (e.g., "Monitor2")
- Click Change, since by default nothing is
associated
- Select the video (e.g., "IncomingTransmission") in the list of
videos
- Note the video duration compared to the remaining command
duration. If the video duration is longer, this indicates that
the video will be cut off when the command ends and you may wish to
update the timeblock duration. (Note: in this release, it takes a
few milliseconds to load the video, so set the timeblock duration to
slightly longer than the video.)
- Click Save
That's it! You can now play Artemis and observe the effects,
or use the Test
Active feature of Cosmos DMX Editor to test it.
The above steps will have created a command in your DMX commands
file looking something like this:
<event
type="INCOMING_COMMUNICATION_PRI0">
<timeblock
mseconds="1500">
<setvalue index="16" value="3"
change="0"></setvalue>
</timeblock>
</event>
In the above example, the video device was created to use DMX
address 17 (i.e., index 16), with the value 3 to indicate the video we
selected. The change attribute should be 0 for video
effects, and the timeblock duration will affect the duration of the
video effect. The effect will be started when the timeblock
begins, and will play until either the video finishes, or another value
is set on the video channel, or the last timeblock of the command ends,
whichever comes first.
Cosmos Bridge Tools supports two types of keyboards: Razer Chroma
keyboards, and keyboards that support the
HID LampArray standard (and as of April 10, 2021, the only in
market device to support the standard is the
Razer Turret for Xbox One).
Razer Chroma keyboards
- Run Cosmos DMX Editor
- Click Edit... under DMX Devices
- Click Add... in the Virtual Input Devices
section (this step will be done for you if starting from an empty
device profile)
- If you have a supported device, you should see a "Chroma
Keyboard" row in the Device Type column of the "Add Devices" screen
that comes up. Click the Add... button next to
it.
- The "Add Many Devices" screen will come up, and "# devices to
add" will be filled in with the total number of controllable LEDs in
the device. (Currently assumes Razer keyboards have 87 separate
lights.) Normally you will want to add a virtual DMX device
for all of them:
- Set the ID prefix to whatever you want (say, "K"). Once
created, the actual device IDs will by default be this prefix followed
by the key name, but you can change this later if desired.
- Click OK
- Click Dismiss and then Save
To instead add only a single light, instead of all of them, do the
following for step 5 above instead:
- The "Add Many Devices" screen will come up, and "# devices to
add" will be filled in with the total number of controllable LEDs in
the device.
- Change it to "1"
- Set the ID prefix to whatever you want (say, "K").
- Click OK. The "Select Chroma light"
screen will now appear.
- To select a light on an RGB keyboard or mouse button, click Get
from keypress and then press the button. This will fill
in correct the "Key Name" for you.
- Optionally, test the light by clicking the Test
button, which should cycle the light from Red to Green to Blue and back
to off.
- Click OK
Note that this support is provided by Cosmos Bridge Tools, so if
you uninstall Cosmos Bridge Tools, support for such LED lights will
also be removed.
HID LampArray keyboards
- Run Cosmos DMX Editor
- Click Edit... under DMX Devices
- Click Add... in the Virtual Input Devices
section (this step will be done for you if starting from an empty
device profile)
- If you have a supported device, you should see a "HID Lamp" row
in the Device Type column of the "Add Devices" screen that comes
up. Click the Add... button next to it.
- The "Add Many Devices" screen will come up, and "# devices to
add" will be filled in with the total number of controllable LEDs in
the device. For example, a Razer keyboard might have 85 separate
lights. Normally you will want to add a virtual DMX device
for all of them:
- Set the ID prefix to whatever you want (say, "K"). Once
created, the actual device IDs will by default be this prefix followed
by a unique number ("1" for the first one, "2" for the second one,
etc.), but you can change this later if desired.
- Click OK
- Click Dismiss and then Save
To instead add only a single light, instead of all of them, do the
following for step 5 above instead:
- The "Add Many Devices" screen will come up, and "# devices to
add" will be filled in with the total number of controllable LEDs in
the device.
- Change it to "1"
- Set the ID prefix to whatever you want (say, "K").
- Click OK. The "Select HID Lamp"
screen will now appear.
- To select a light on an RGB keyboard or mouse button, click Get
from keypress and then press the button. This will fill
in correct the "Lamp Index" for you.
- Optionally, test the light by clicking the Test
button, which should cycle the light from Red to Green to Blue and back
to off.
- Click OK
Note that this support is provided by Cosmos Bridge Tools, so if
you uninstall Cosmos Bridge Tools, support for such LED lights will
also be removed.
- Run Cosmos DMX Editor
- Click Edit... under DMX Devices
- Click Add... in the Virtual Input Devices
section
- For each set of similar devices (i.e., ones with the same number
of channels in the same order):
- Click the Add... button next to "Enttec
Pro" (if none is shown, make sure it's plugged in and click
Refresh. You could instead click Manually add
another type and change the Output device type to "Enttec
Pro").
- Set the number of channels to the # of channels per device.
- Select the correct channel order.
- Set # devices to add to the number of
devices you want to add.
- Set the ID prefix to whatever you want (say, "L"). Once
created, the actual device IDs will by default be this prefix followed
by a unique number ("1" for the first one, "2" for the second one,
etc.), but you can change this later if desired.
- Click OK
- Click Dismiss and then Save
That's it! You can now play Artemis and observe the effects,
or use the Test
Active feature of Cosmos DMX Editor to test it.
Note that Enttec Pro support is provided by Cosmos Bridge Tools, so
if you uninstall Cosmos Bridge Tools, support for Enttec Pro
controllers will also be removed.
If you have problem getting your Enttec Pro controller to be
detected, or to work correctly, the "ftduutil.exe" utility in your
Cosmos Bridge Tools directory (e.g., "%ProgramFiles(x86)%\Cosmos Bridge
Tools\ftdiutil.exe") can be run from a command-line and may
provide helpful diagnosis information.
- Run Cosmos DMX Editor
- Click Edit... under DMX Devices
- Click Add... in the Virtual Input Devices
section
- For each set of similar devices (i.e., ones with the same number
of channels in the same order):
- Click Manually add another type and change
the Output device type to "Art-Net"
- Set the number of channels to the # of channels per device.
- Select the correct channel order.
- Set # devices to add to the number of
devices you want to add.
- Set the ID prefix to whatever you want (say, "L"). Once
created, the actual device IDs will by default be this prefix followed
by a unique number ("1" for the first one, "2" for the second one,
etc.), but you can change this later if desired.
- Click OK.
- Enter the IP address of the DMX controller, and the universe
value (if non-zero).
- Click Dismiss and then Save
- Click Save
Note that Art-Net* support is provided by Cosmos Bridge
Tools, so if you uninstall Cosmos Bridge Tools, support for Art-Net
controllers will also be removed.
*Art-Net™ Designed by and Copyright Artistic License Holdings
Ltd
The instructions below assume that you have previously installed
the udmx.dll and libusb0.dll drivers that came with your controller,
and that you have verified that your controller is working outside of
Artemis (e.g., by using a utility that comes with your controller).
Cosmos Bridge Tools will look for udmx.dll in the following
locations and if not found, you'll get an "Error: can't load
UDMX.dll" message when trying to use the uDMX controller:
- %SystemRoot%\system32
- your Artemis directory
- the directory where Cosmos Bridge Tools is installed
To use the controller with Artemis:
- Run Cosmos DMX Editor
- Click Edit... under DMX Devices
- Click Add... in the Virtual Input Devices
section
- For each set of similar devices (i.e., ones with the same number
of channels in the same order):
- Click the Add... button next to "uDMX" (if
none is shown, make sure it's plugged in and click Refresh.
You could instead click Manually add another
type and change the Output device type to "uDMX").
- Set the number of channels to the # of channels per device.
- Select the correct channel order.
- Set # devices to add to the number of
lights you want to add.
- Set the ID prefix to whatever you want (say, "L"). Once
created, the actual device IDs will by default be this prefix followed
by a unique number ("1" for the first one, "2" for the second one,
etc.), but you can change this later if desired.
- Click OK.
- Click Dismiss and then Save
That's it! You can now play Artemis and observe the effects,
or use the Test
Active feature of Cosmos DMX Editor to test it.
Note that uDMX support is provided by Cosmos Bridge Tools, so if
you uninstall Cosmos Bridge Tools, support for uDMX controllers will
also be removed.
To use Philips Hue lights, you will be configuring each Hue light by
id. The id is always a number (e.g., "1", "2", "3", etc.), not
the name (like "Living Room"), but you will be able to see the names as
well during configuration.
- Run Cosmos DMX Editor
- Click Edit... under DMX Devices
- Click Add... in the Virtual Input Devices
section
- Click the Add... button next to "Hue" (if none
is shown, make sure it's plugged in and click Refresh. You
could instead click Manually add another type and
change the Output device type to "Hue").
- Set # devices to add to the number of bulbs you
want to add
- Set First input channel to the first
DMX channel to use (3 channels will be used per bulb)
- Set the ID prefix to whatever you want (say, "Hue"). Once
created, the actual device IDs will by default be this prefix followed
by a unique number ("1" for the first one, "2" for the second one,
etc.), but you can change this later if desired.
- Click OK.
- Now configure each Hue device added as follows:
- If the set of bulbs never show up and it just says
"Searching...", you will need to configure the IP address by
hand. You can find it either from https://www.meethue.com/en-us/user/bridge
(under "My Bridge Details") or by looking in your home router's status
for a client named "Philips-hue" or similar. Enter the IP address
and click Refresh.
- If the Status says "Please press the LINK button on the Hue
hub", then press the button in the center of the hub, and the status
should change to show "Authenticated".
- Click on the desired bulb. Optionally click Test
to verify that you've selected the right bulb. The bulb
should flash red, then green, then blue, then white.
- Click OK.
- Click Dismiss and then Save
From this point on, the DMX channels selected will control the Hue
lights, whenever they are used from Artemis or Cosmos DMX Editor.
Note: Hue lights by nature transition between colors
gradually, not instantaneously. As such, they work best with
effects with change="0".
If you encounter problems, here are some troubleshooting steps to
check:
- Are you able to control your light(s) via the meethue.com web
site and/or some app on your phone or PC? That would verify that your
lights are working and that your hub has network
connectivity. If this fails, check your hub's connection to
the Internet.
- Are you able to reach the Hue hub normally from your PC? You can
find its IP address at
https://www.meethue.com/en-us/user/bridge (under More bridge
details), or by logging onto your home router and looking at the set of
attached devices for one with a name like "Philips-hue". Let's say your
hub is 192.168.1.5. If you then go to http://192.168.1.5
in a browser, you should see a simple web page presented by the Hue hub
with a logo and some links on it. This verifies that your PC can
actually reach the Hub directly. If this fails, check the
connection between your PC and the hub.
- Once you've verified the first two steps above, you can try going
to
http://192.168.1.5/api/0123456789abdcef0123456789abcdef/lights
(again replacing 192.168.1.5 with your hub's IP address) from a
browser. This is the URL that Cosmos DMX Editor tries when
you hit the Refresh button. (The 0123456789abdcef0123456789abcdef
is a default username which is probably wrong but will still generate a
response from the hub.) Typically you should get a
response that looks like this:
[{"error":{"type":1,"address":"/lights","description":"unauthorized
user"}}]
In the off chance that username string actually worked, it would
instead have a long response that starts with something like this:
{"1":{"state":
{"on":true,"bri":99,"hue":43690,"sat":0,"effect":"none","xy":[0.3 more...
If you instead get an error from your browser, investigate
that error.
- Does your PC have multiple network interfaces? Do "route
print" from a command prompt, and look for any lines starting
with
224.0.0.0 240.0.0.0 On-link
You should usually see only two lines, one with 127.0.0.1 and a higher
(i.e. worse) metric, and one with another IP address and a lower
(better) metric. Cosmos Bridge Tools currently uses only the one with
the lowest metric, and looks for the Hue hub on that interface.
- Make sure you've got the latest version of Cosmos Bridge Tools
(if you run Cosmos DMX Editor, it will prompt you to upgrade if you're
not).
- Make sure you've got the latest Hue firmware for your hub
(version 01030262 at the time this
guidance was written). You can find your version
info at
https://www.meethue.com/en-us/user/bridge
Note that Philips Hue support is provided by Cosmos Bridge Tools,
so if you uninstall Cosmos Bridge Tools, support for Philips Hue
lights will also be removed.
There are two kinds of LIFX light bulbs, ones that say "Designed for
ALLSEEN" on the box and ones that don't (currently the white bulbs say
"Designed for ALLSEEN" and the color ones don't, but this will change
in the future as color ones will say that too). Cosmos Bridge
Tools supports both kinds.
- Run Cosmos DMX Editor
- Click Edit... under DMX Devices
- Click Add... in the Virtual Input Devices
section
- Click the Add... button next to "Lifx" (if none
is shown, make sure the bulb is on and click Refresh. You
could instead click Manually add another type and
change the Output device type to "Lifx").
- Set # devices to add to the number of bulbs you
want to add
- Set First input channel to the first
DMX channel to use (3 channels will be used per bulb)
- Set the ID prefix to whatever you want (say, "L"). Once
created, the actual device IDs will by default be this prefix followed
by a unique number ("1" for the first one, "2" for the second one,
etc.), but you can change this later if desired.
- Click OK
- Now configure each LIFX bulb added as follows:
- Select the LIFX bulb to use, and (optionally) click Test
to verify you picked the right one
- Click OK
- Click Dismiss and then Save
From this point on, the DMX channels selected will control the LIFX
lights, whenever they are used from Cosmos or Cosmos DMX Editor.
Note that LIFX support is provided by Cosmos Bridge Tools, so if
you uninstall Cosmos Bridge Tools, support for LIFX lights will also
be removed.
To use LimitlessLED
lights, you will be configuring each light group as if it were a
3-channel DMX light. The group is always a number in the range
1-4. For best performance, you should obtain the IP address of
your LimitlessLED bridge beforehand (e.g., look it up on your WiFi
router, where in the list of attached devices the bridge will typically
show up with a MAC address starting with AC:CF:23).
- Run Cosmos DMX Editor
- Click Edit... under DMX Devices
- Click Add... in the Virtual Input Devices
section
- Click the Add... button next to "LimitlessLED"
(if none is shown, make sure the bulb is on and click Refresh.
You could instead click Manually add another type
and change the Output device type to "LimitlessLED").
- Set # devices to add to the number of
LimitlessLED light groups you want to control
- Set First input channel to the first
DMX channel to use (3 channels will be used per light group)
- Set the ID prefix to whatever you want (say, "L"). Once
created, the actual device IDs will by default be this prefix followed
by a unique number ("1" for the first one, "2" for the second one,
etc.), but you can change this later if desired.
- Click OK.
- For each light group added:
- If you see your bridge, select it. If for some reason
you don't see it listed but you know your bridge's IP address, you can
enter it manually. The port number should be 8899 for older (v5 or
earlier) bridges, or 5987 for newer (v6) bridges.
- Enter the Group ID. Optionally click Test
to verify that you've selected the right bulb. The bulb
should flash red, then green, then blue, then white.
- Click OK.
- Click Dismiss and then Save
From this point on, the DMX channels selected will control the
LimitlessLED lights, whenever they are used from Artemis or Cosmos DMX
Editor. Note: LimitlessLED lights used with LimitlessLED/Mi-Light
bridges older than v6 require 100ms delay between being turned on and
setting the color, and if you want to control multiple light groups
they require 100ms delay when sending a command to a different
group. Cosmos Bridge Tools automatically handles this, but it
means your lights can only change simultaneously when they are in the
same group or on different bridges. This restriction does
not apply to v6 bridges or MagicLight bulbs.
If you encounter problems, here are some troubleshooting steps to
check:
- Are you able to control your light(s) via the an app on your
phone or PC? That would verify that your lights are working and that
your WiFi bridge has network connectivity. If this fails,
check your bridge's connection to the network.
- Are you able to reach the WiFi bridge normally from your
PC? Let's say your bridge is 192.168.1.36. If you then go to http://192.168.1.36 in a browser (user
name "admin", password "admin" by default), and you should see a simple
web page presented by the bridge. If this fails, check the
connection between your PC and the bridge.
- Make sure you've got the latest version of Cosmos Bridge Tools
(if you run Cosmos DMX Editor, it will prompt you to upgrade if you're
not).
Note that LimitlessLED support is provided by Cosmos Bridge Tools,
so if you uninstall Cosmos Bridge Tools, support for LimitlessLED
lights will also be removed.
To use Nanoleaf Aurora lights,
first configure the device for use with Artemis:
- Run Cosmos DMX Editor
- Click Edit... under DMX
Devices
- Click Add... in the Virtual
Input Devices section
- Click the Add... button next to "Aurora" (if
none is shown, make sure the bulb is on and click Refresh.
You could instead click Manually add another type
and change the Output device type to "Aurora").
- Set # devices to add to the number of Auroras
(a set of connected panels are all one “device” with a single IP
address, so this is the number of sets of panels) you
want to control
- Set First input channel to the first
DMX channel to use (3 channels will be used per set of connected panels)
- Set the ID prefix to whatever you want (say, "L"). Once
created, the actual device IDs will by default be this prefix followed
by a unique number ("1" for the first one, "2" for the second one,
etc.), but you can change this later if desired.
- Click OK.
- For each Aurora added:
- Click “Automatically discover IP address”
if not already selected
- If nothing shows up and it just says
"Searching...", you will need to configure the IP address by
hand. You should be able to find its IP address by looking at
your home router’s status or by using some Aurora app. Enter the
IP address and click Refresh.
- If the Status says "Press and hold the
power button for 5-7 seconds (light will begin flashing) and then click
Refresh", then do so, and the status should change to show
"Authenticated", and the Token box should be filled in.
- Click Test to verify that
Cosmos DMX Tools can change the light’s color. The bulb
should flash red, then green, then blue, then white.
- Click OK.
- Click Dismiss and then Save
From this point on, the DMX channels
selected will control the Aurora, whenever it is used from Cosmos or
Cosmos DMX Editor.
Note that Nanoleaf Aurora support is provided by Cosmos Bridge Tools,
so if you uninstall Cosmos Bridge Tools, support for Nanoleaf Aurora
lights will also be removed.
First, configure the device for use with Artemis:
- Run Cosmos DMX Editor
- Click Edit... under DMX Devices
- Click Add... in the Virtual
Input Devices section
- Click the Add... button next to "WeMo Switch"
(if none is shown, make sure the bulb is on and click Refresh.
You could instead click Manually add another type
and change the Output device type to "WeMo Switch").
- Set # devices to add to the number of switches
you want to control
- Set First input channel to the first
DMX channel to use (1 channels will be used per switch)
- Set the ID prefix to whatever you want (say, "L"). Once
created, the actual device IDs will by default be this prefix followed
by a unique number ("1" for the first one, "2" for the second one,
etc.), but you can change this later if desired.
- Click OK.
- For each switch added:
- Click on the desired switch. If the switch never
shows up and it just says "Searching...", you will need to configure
the IP address by hand. You can find it by looking in your home
router's status for a client with a MAC address starting with
14:91:82. Enter the IP address and click Refresh.
- Optionally click Test to verify that you've
selected the right switch and that it works with Cosmos Bridge
Tools. The switch should turn off, then turn on.
- Click OK.
- Click Dismiss and then Save
From this point on, the DMX channel selected will control the WeMo
switch, whenever it is used from Artemis or Cosmos DMX Editor.
Now you can configure DMX commands to affect the WeMo switch.
For example, say you want the switch turn on while a simulation is in
progress, and turn back off at the end of the simulation:
- Click Edit... under Cosmos DMX Commands to
edit your command profile
- Add a command and set the cue to NORMAL_CONDITION_1
- Change the device to whatever you named your WeMo switch above
- Click the Change button in the last column, to
set the value of the switch
- Select "On" and then click OK
That's it! You can now play Cosmos and observe the effects,
or use the Test
Active feature of Cosmos DMX Editor to test it.
Note that WeMo switch support is provided by Cosmos Bridge Tools,
so if you uninstall Cosmos Bridge Tools, support for WeMo switches
will also be removed.
Artemis Cosmos uses a
standard API for talking to FTDI chips, which API is exposed by the
ftd2xx.dll that comes with Artemis Cosmos.
Cosmos Bridge Tools has two components:
- CosmosDmxEditor.exe (the DMX settings editor),
- a custom ftd2xx.dll that replaces the stock ftd2xx.dll and
supports additional device types and DMX cues by sitting in between
Artemis Cosmos and the original ftd2xx.dll,
Upon installation, Cosmos Bridge Tools backs up the stock
ftd2xx.dll as "ftd2xx-orig.dll" so it can be automatically restored if
Cosmos Bridge Tools is uninstalled. The current dmx.py
is also backed up as "dmx-orig.py", since it is replaced by a
custom dmx.py file that tells Artemis Cosmos to put each DMX cue
on a separate channel for use by Cosmos Bridge Tools itself (this is
required for the logging feature, for instance).
The %LocalAppData%\CosmosBridgeTools\ directory contains the files
used by the Cosmos Bridge Tools components:
- ActiveProfileFileName.txt: contains the filename
of the active DMXcommands file in use
- ArtemisLog.txt: the log of Artemis events, if
logging is enabled
- DmxLog.txt: a log of DMX commands, if any output
devices are configured with a Device Type of "Log"
- DmxDevices.xml: the device settings
- DMXcommands-*.xml: all command profiles
created. The active one is the one listed in
ActiveProfileFileName.txt
The following output Device
Types are supported:
- ArtNet: Art-Net device. An Art-Net device Param
is of the form "channel@controlleraddress:universe"
where the universe defaults to 0 if not present. For example "3@192.168.1.100" means DMX channel 3
on the controller at IP address 192.168.1.100, universe 0, and "6@192.168.1.100:1" means DMX
channel 6 on the controller at IP address 192.168.1.100, universe 1.
- Aurora: expose a set of Nanoleaf Aurora panels
with a common IP address as if it were a single 3-channel RGB
light. The Param is of the form "token@ipaddress".
For example, "abc@192.168.1.100"
means token "abc" with the Aurora panels at 192.168.1.100. The
token is generated as part of the initial pairing procedure.
- Audio: audio channel, where the BYTE value
indicates a sound file to play
- Enttec Open: Enttec Open device. The
Param is the DMX channel address used by the
device (NOT the 0-based index used in DMXcommands.xml)
- Enttec Pro: Enttec Pro device. The Param
is the DMX channel address used by the device (NOT the 0-based index
used in DMXcommands.xml)
- Emulated: emulated device (emulated lights will
display in a separate window on screen for debugging purposes)
- Hue: expose a Philips Hue light as if it were a
3-channel RGB light. The Param is the light ID used by the Hue
hub, typically "1", '2", "3", etc. Optionally the ID can be
suffixed with a colon and a username. And optionally the ID can
be prefixed with the IP address of the Hue hub, enclosed in square
brackets. For example, "1" means light ID 1, dynamically
discovering the IP address of the Hue hub, and using the default
username of "0123456789abdcef0123456789abcdef". As another
example, "[192.168.1.5]1:1a9abb1917f765972b41db5d27518c9b" means bulb 1
via the hub at 192.168.1.5 using a username of
"1a9abb1917f765972b41db5d27518c9b".
- Lifx: expose a (non-AllJoyn) LIFX light as if it
were a 3-channel RGB light. The Param is the
bulb's configurable "label".
- Limitless LED: expose a group of LimitlessLED or Mi-Light
lights as if they were a single 3-channel RGB light. The Param
is of the form "group[@IPAddress[:Port]]"
where [] indicates optional pieces, group is a group number
1-4, IPAddress is the IP address of the LimitlessLED bridge
(default: 255.255.255.255), and Port is the UDP Command Port
of the LimitlessLED bridge (default: 8899). For example, "2@192.168.1.36" means group 2 on the
bridge at 192.168.1.36 port 4489.
- Log: log to DmxLog.txt
- uDMX: device that uses a udmx.dll driver (e.g.,
with a Lixada
controller). The Param is the DMX channel
address used by the device (NOT the 0-based index used in
DMXcommands.xml)
- WeMo Switch: expose a WeMo switch as if it were
a 1-channel DMX device, where a value 0 means Off, and any other value
on the channel means On. The Param is of the
form "IPAddress[:Port]" where [] indicates optional, IPAddress
is the IP address of the WeMo switch, and Port is the UDP
port of the WeMo switch (default: 49153). For example,
"192.168.1.36:1234" means port 1234 at 192.168.1.36.
The same Virtual Input Device (i.e., DMX channels as used by Cosmos)
can be used by multiple associated output devices, if you want
to mirror the same DMX commands to multiple devices (such as a DMX
device and a log). However the combination of Device
Type and Param should be unique for each
device entry.
If you later replace a 3-channel light with a 4-channel light, or
vice versa, Cosmos DMX Editor can convert your DMXcommands profile for
you. To do this, first create a new DMX device profile, then edit
your command profile and switch the DMX device profile to the newly
created one. At the prompt, select "Attempt to convert the
Cosmos DMX command profile from the old devices to the new devices".
The following DMX cues are supported.
| Category |
Event Tag |
Type |
Notes |
General
|
NORMAL_CONDITION_1
|
State
|
Only partly working, this is currently always set, not just when in a simulation.
|
|
ENERGY_20
|
State
|
Set when energy goes < 200, cleared when energy >= 200. Normally this should be placed after ENERGY_40 when both affect the same channels.
|
|
ENERGY_40
|
State
|
Set when energy goes < 400, cleared when energy >= 400. Normally this should be placed after ENERGY_60 when both affect the same channels. |
|
ENERGY_60
|
State
|
Set when energy goes < 600, cleared when energy >= 600. Normally this should be placed after ENERGY_80 when both affect the same channels. |
|
ENERGY_80
|
State
|
Set when energy goes < 800, cleared when energy >= 800. Normally this should be placed after ENERGY_100 when both affect the same channels. |
|
ENERGY_100
|
State
|
Set when energy goes < 1000, cleared when energy >= 1000.
|
|
ENERGY_LOW
|
State
|
Set when energy goes < 300, cleared when energy goes >= 300.
|
|
PLAYER_SHIELDS_ON
|
State
|
|
|
PLAYER_SHIELDS_RAISED
|
Event
|
Use an effect that lasts
mseconds="1500" for the same duration as audio effect. Normally
this should be placed after PLAYER_SHIELDS_ON when both affect the same
channels, since both will be triggered at the same time.
|
|
PLAYER_SHIELDS_LOWERED
|
Event
|
Use an effect that lasts mseconds="1500" for the same duration as audio effect.
|
|
|
|
|
| Helm |
WARP_1 |
State |
Set when at warp 1
|
| |
WARP_2 |
State |
Set when at warp 2
|
| |
WARP_3 |
State |
Set when at warp 3
|
| |
WARP_4 |
State |
Set when at warp 4
|
| |
IMPULSE_1 |
State |
Set when impulse >= 1, cleared on full stop
(not simply when throttle is at 0) |
|
IMPULSE_20
|
State
|
Set when impulse >= 20%, cleared when < 20%. Normally this should be placed after IMPULSE_1 when both affect the same channels.
|
|
IMPULSE_40
|
State
|
Set when impulse >= 40%, cleared when < 40%. Normally this should be placed after IMPULSE_20 when both affect the same channels.
|
|
IMPULSE_60
|
State |
Set when impulse >= 60%, cleared when < 60%. Normally this should be placed after IMPULSE_40 when both affect the same channels.
|
|
IMPULSE_80
|
State |
Set when impulse >= 80%, cleared when < 80%. Normally this should be placed after IMPULSE_60 when both affect the same channels.
|
|
IMPULSE_100
|
State |
Set when
impulse reaches 100%, cleared
when < 100%. Normally
this should be placed after IMPULSE_80
when both affect the same
channels. |
| |
JUMP_DRIVE_EXISTS |
State |
Set when in a ship with a jump drive |
|
START_DOCKING
|
Event
|
|
|
TRACTORED_FOR_DOCKED
|
State
|
|
|
COMPLETELY_DOCKED
|
State
|
|
| |
|
|
|
| Weapons |
BEAMS_EXIST |
State |
Set when on a ship that has beams (e.g., not
set on a Missile Cruiser) |
| |
HAVE_SPARE_HOMINGS |
State |
Set whenever the ship has at least 1 spare homing missile on board |
| |
HAVE_SPARE_NUKES |
State |
Set whenever the ship has at least 1 spare nuke on board |
| |
HAVE_SPARE_MINES |
State |
Set whenever the ship has at least 1 spare
mine on board |
| |
HAVE_SPARE_EMPS |
State |
Set whenever the ship has at least 1 spare EMP
on board |
| |
TUBE1_EXISTS |
State |
|
| |
TUBE2_EXISTS |
State |
|
| |
TUBE3_EXISTS |
State |
|
| |
TUBE4_EXISTS |
State |
|
| |
TUBE5_EXISTS |
State |
|
| |
TUBE6_EXISTS |
State |
|
| |
|
|
|
Science
|
SCAN_INITIATED
|
Event
|
|
|
SCAN_IN_PROGRESS |
State |
|
|
SCAN_COMPLETE
|
Event
|
|
| |
SCIENCE_TARGET_SELECTED |
State |
Set whenever science has a target selected |
| |
|
|
|
Comms
|
RED_ALERT
|
State
|
Set when red alert is active
|
|
|
|
|
| Fighter |
FIGHTER_BAY_EXISTS |
State |
Set when in a ship with a fighter bay. |
| |
FIGHTER_BAY1_EXISTS |
State |
Set when in a ship with a fighter bay that
includes space for 2 or more single-seat ships. (Bays are numbered 0 to
5.) |
| |
FIGHTER_BAY2_EXISTS |
State |
Set when in a ship with a fighter bay that
includes space for 3 or more single-seat ships. |
| |
FIGHTER_BAY3_EXISTS |
State |
Set when in a ship with a fighter bay that
includes space for 4 or more single-seat ships. |
| |
FIGHTER_BAY4_EXISTS |
State |
Set when in a ship with a fighter bay that
includes space for 5 or more single-seat ships. |
| |
FIGHTER_BAY5_EXISTS |
State |
Set when in a ship with a fighter bay that
includes space for 6 or more single-seat ships. |
|
|
|
|
| Damage |
SOMETHING_HITS_PLAYER |
Event |
Ship recently took damage.
|
|
PLAYER_TAKES_INTERNAL_DAMAGE
|
Event
|
Ship recently took hull damage.
|
|
PLAYER_TAKES_SHIELD_DAMAGE
|
Event
|
Ship recently took shield damage.
|
|
FRONT_SHIELD_20
|
State
|
Set when front shields >= 20%
and shields are up, cleared when < 20% or shields are down.
Normally this should be placed after PLAYER_SHIELDS_UP when both affect the same channels.
|
|
FRONT_SHIELD_40 |
State
|
Set when front shields >= 40%
and shields are up, cleared when < 40% or shields are down.
Normally this should be placed after FRONT_SHIELD_20 when both affect the same channels. |
|
FRONT_SHIELD_60
|
State
|
Set when front shields >= 60%
and shields are up, cleared when < 60% or shields are down.
Normally this should be placed after FRONT_SHIELD_40 when both affect the same channels. |
|
FRONT_SHIELD_80 |
State |
Set when front shields >= 80%
and shields are up, cleared when < 80% or shields are down.
Normally this should be placed after FRONT_SHIELD_60 when both affect the same channels. |
|
FRONT_SHIELD_100 |
State |
Set when front shields at 100%
and shields are up, cleared when < 100% or shields are down.
Normally this should be placed after FRONT_SHIELD_80 when both affect the same channels. |
|
REAR_SHIELD_20 |
State |
Set when rear shields >= 20%
and shields are up, cleared when < 20% or shields are down.
Normally this should be placed after PLAYER_SHIELDS_UP when both affect the same channels. |
|
REAR_SHIELD_40 |
State |
Set when rear shields >= 40%
and shields are up, cleared when < 40% or shields are down.
Normally this should be placed after REAR_SHIELD_20 when both affect the same channels. |
|
REAR_SHIELD_60 |
State |
Set when rear shields >= 60%
and shields are up, cleared when < 60% or shields are down.
Normally this should be placed after REAR_SHIELD_40 when both affect the same channels. |
|
REAR_SHIELD_80 |
State |
Set when rear shields >= 80%
and shields are up, cleared when < 80% or shields are down.
Normally this should be placed after REAR_SHIELD_60 when both affect the same channels. |
|
REAR_SHIELD_100 |
State |
Set when rear shields at 100%
and shields are up, cleared when < 100% or shields are down.
Normally this should be placed after REAR_SHIELD_80 when both affect the same channels. |
|
HULL_INTEGRITY_40
|
State |
Set when hull integrity >=
40% (ship is destroyed at about 30%). This state is the opposite
of SHIP_DAMAGE_60, except that it is more reliable, such as being
affected by damage from all sources including overheating. The
HULL_INTEGRITY_* cues are typically used instead of using the SHIP_DAMAGE_* cues.
|
|
HULL_INTEGRITY_60 |
State |
Set when hull integrity >=
60%. This state is the opposite of SHIP_DAMAGE_40, except that it
is more reliable, such as being affected by damage from all sources
including overheating. Normally this should be placed after HULL_INTEGRITY_40 when both affect the same channels.
|
|
HULL_INTEGRITY_80 |
State |
Set when hull integrity >= 80%. This state is the opposite of
SHIP_DAMAGE_20, except that it is more reliable, such as being affected
by damage from all sources including overheating. Normally this should
be placed after HULL_INTEGRITY_60 when both affect the same channels. |
|
HULL_INTEGRITY_100 |
State |
Set when hull integrity at 100% (undamaged). Normally this should be placed after HULL_INTEGRITY_80 when both affect the same channels.
|
|
SHIP_DAMAGE_20
|
State
|
Set whenever >=20% of system nodes are damaged.
|
|
SHIP_DAMAGE_40
|
State |
Set whenever >=40% of system
nodes are damaged. Normally this should be placed after SHIP_DAMAGE_20
when both affect the same channels.
|
|
SHIP_DAMAGE_60
|
State |
Set whenever >=60% of system
nodes are damaged. Normally this should be placed after SHIP_DAMAGE_40
when both affect the same channels.
|
|
|
|
|
| Game |
ALWAYS_ON |
State |
This state is always on. It is most
useful to place before NORMAL_CONDITION_1 to have effects
(such as ambient lighting) that are present when a simulation is not in
progress and are overridden by NORMAL_CONDITION_1 when a simulation is
in progress. Any device commands set by this cue will also
remain in effect after Cosmos exits. All others will be cleared. |
|
NORMAL_CONDITION_1
|
State
|
Set if simulation is in progress
(whether paused or not)
|
| |
GAME_PAUSED |
State |
Set if game is paused |
| |
GAME_OVER |
Event
|
Triggered at the end of the game. |
The following are potential future features, in no particular
order. Feel free to suggest others, or ask for prioritizing one.
- Support for more Jump drive cues (requested by notsabbat)
- Add glitch protection for more native cues (requested by
Christian Hansen)
- Auto-detect DMX controller types when Cosmos DMX Editor is run
for the first time (suggested by Mark Bell)
- Per-system heat level cues (requested by RockStar)
- Support continuous (i.e., looping) audio effects
- Add support for Bluetooth Mi-Light lights
Send bug reports and feature requests to dthaler1968@gmail.com