Cosmos Bridge Tools

 Features  Download  HowTo  Technical Details  ChangeLog  TODO  Contact

Features

DMX Functionality (Cosmos DMX Tools):

Download

Cosmos Bridge Tools currently assumes Artemis Cosmos is in one of the following locations:

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:

  1. Launch CosmosDmxEditor
  2. If the "Mod Installation Locations" screen does not appear, do File → Manage Cosmos Install Locations...
  3. Click Add...
  4. Navigate to and select the Artemis3-x64-release.exe file in the desired location
  5. Click Open
  6. 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.

HowTo

DMX Basics:

Fancy DMX Effects:

DMX Device Types:

How to get started

  1. Run Cosmos DMX Editor.  You should see a default DMX Device profile which only has 1 3-channel Enttec Open device.
  2. For anything else, create a new one or copy your settings from ArtemisBridgeTools if you used that with Artemis 2.x.
  3. 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 FileOpen File Location from within Cosmos DMX Editor.

How to use a DMX device with more than 4 channels

Let's take an example of an 8-channel device such as this light.  The manual page lists the 8 channels as:

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:

  1. Run Cosmos DMX Editor.
  2. Under "DMX Devices", click Edit...
  3. Click Add... under the Virtual Input Devices section
  4. 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)
  5. 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).
  6. Click Add Other Type three times, to add "Other" channels for CH1, CH2, and CH3.
  7. 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.
  8. Click OK.  The Color channel order should be displayed as the acronym "OOOIRGBW"
  9. 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)
  10. Click OK.
  11. 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.

How to test and debug a DMXcommands profile

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):

  1. Run Cosmos DMX Editor
  2. If the command profile to test is not already the Active Profile, select the command profile and click Activate
  3. Click Test Active... to begin testing
  4. 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.
  5. Click one or more console buttons (e.g., Helm).  You can have multiple open at the same time.
  6. 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.
  7. Repeat until done.
  8. Click Stop Testing

To manually test individual cues:

  1. Run Cosmos DMX Editor
  2. If the command profile to test is not already the Active Profile, select the command profile and click Activate
  3. Click Test Active... to begin testing
  4. Select cues to be set and hit Apply.  Observe the effects.  Repeat until done.
  5. Click Stop Testing

How to enable logging of DMX events to a file

  1. Run Cosmos DMX Editor
  2. If the profile to test is not already the Active Profile, select the profile and click Activate
  3. Click Edit...
  4. Click the Log Cosmos Events checkbox in the upper right corner
  5. 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:

  1.  Run Cosmos DMX Editor
  2. Do FileOpen File Location
  3. 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

How to enable logging of DMX events to a socket and optionally trigger custom DMX effects

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).

  1. Run Cosmos DMX Editor
  2. If the profile to test is not already the Active Profile, select the profile and click Activate
  3. Click Edit...
  4. 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
  5. 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

Moving in across a series of lights

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:

  1. Run Cosmos DMX Editor
  2. Click Edit... to edit your DMX command profile
  3. Find or create the continuous effect you want to delay (PLAYER_SHIELDS_UP in the example above).
  4. 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".
  5. Fill in the entrance timeblock(s) with the non-continuous transition effect.
  6. 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".
  7. 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.

Gradually changing one or more lights as a set

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:

  1. Run Cosmos DMX Editor
  2. Click Edit... to edit your DMX command profile
  3. 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).
  4. 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".
  5. 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:

  1. Run Cosmos DMX Editor
  2. Click Edit... to edit your DMX command profile
  3. 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.
  4. 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.

How to make an effect only occur based on some other condition

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:

  1. Run Cosmos DMX Editor
  2. Click Edit... to edit your DMX command profile
  3. Create the effect normally.  For example, create an IMPULSE_20 command.
  4. Click the If column cell in the row for that command.  The Condition screen will appear.
  5. Set the State value to the cue to test (REVERSE_IMPULSE in the above example).
  6. Set the Test value to the condition to test ("Is set" or "Is not set")
  7. Click OK
  8. 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:

  1. Run Cosmos DMX Editor
  2. Click Edit... to edit your DMX command profile
  3. Create the effect normally.  For example, create an IMPULSE_20 command.
  4. Click the If column cell in the row for that command.  The Condition screen will appear.
  5. Set the State value to the property to test (systemCurEnergyImpulse in the above example).
  6. Set the Test value to the condition to test ("Is greater than" or "Is less than")
  7. Enter the threshold value
  8. Click OK
  9. 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.

How to create a chase effect using a series of lights

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:

  1. Run Cosmos DMX Editor
  2. Click Edit... under DMX Devices.  If all of your lights appear and look correct, you're done.  Otherwise, continue as follows.
  3. Click Add Many
  4. Set Output device type to the right device type (typically dmx-3ch)
  5. Set # devices to add to the number of lights in the strip
  6. 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)
  7. 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.)
  8. Click OK to create the device entries
  9. Click Save to save the device profile

You're now ready to create a chase effect:

  1. Run Cosmos DMX Editor
  2. Click Edit... under Cosmos DMX Commands
  3. Add a new command by clicking Add under Command
  4. Set the Cue to the cue you want to trigger the chase effect
  5. Click the Chase Effect... button.  (This button will be grayed out unless you have selected a row with a timeblock with no devices.)
  6. 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.)
  7. In the Time section, configure the duration of each step, which will be used to create one timeblock per step
  8. In the Moving Color section, select the color to use for the effect (currently only single-color effects can be bulk-added).
  9. 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).
  10. 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
  11. Click OK to add the timeblocks
  12. 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.

How to create a gauge using a series of lights

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:

To easily add a gauge for one of the above values:

  1. Run Cosmos DMX Editor
  2. Click Edit... under Cosmos DMX Commands
  3. 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.
  4. Click Add Gauge...
  5. Select the Command set (warp, impulse, etc.) you want a gauge for
  6. 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.
  7. In the Devices section, select the range of devices you want the gauge to span.
  8. 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).
  9. 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.
  10. 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.
  11. Click OK to add the gauge
  12. 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.

[NOT YET SUPPORTED] How to set a light's color to the ship's Accent Color

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:

  1. Run Cosmos DMX Editor
  2. Click Edit... under Cosmos DMX Commands
  3. Click Add under Command, to add a new command and change its Cue to ALWAYS_ON
  4. Change the Device to the light you want, which is L1 in this example
  5. Click Change to get to the screen to set the associated color
  6. Change the Named Color to "Accent" for the Initial Value (the Final Value will also be automatically changed to match)
  7. Click OK
  8. 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.

How to set a light's color to a value computed from another game value

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:

  1. Run Cosmos DMX Editor
  2. Click Edit... under Cosmos DMX Commands
  3. Click Add under Command, to add a new command and change its Cue to NORMAL_CONDITION_1
  4. Change the Device to the light you want, which is L1 in this example
  5. Click Change to get to the screen to set the associated color
  6. Change the Named Color to "systemCurHeatBeam" for the Initial Value (the Final Value will also be automatically changed to match)
  7. Click Edit Named Colors
  8. Select the "systemCurHeatBeam" entry
  9. Change the Color under Low Value to green
  10. Change the Color under High Value to red
  11. Click Update to save the settings for that named color
  12. Click Dismiss to close the named color editor dialog
  13. Click OK to save the DMX Device Command settings
  14. 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.

How to stack a set of related events on the same light

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:

To easily add a stacked effect for one of the above values:

  1. Run Cosmos DMX Editor
  2. Click Edit... under Cosmos DMX Commands
  3. 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.
  4. Click Add Gauge...
  5. Select the Command set (warp, impulse, etc.) you want to add an indicator for
  6. 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.
  7. In the Devices section, select the range of devices you want the effect to span (normally just one device).    
  8. In the Colors section, set the First command color to the color to use for the first cue in the series.
  9. Set the Last command color to the color to use for the last cue in the series.
  10. Click OK to add the commands
  11. 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.

How to trigger playing a sound file in response to a DMX cue

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:

  1. Run Cosmos DMX Editor
  2. Click Edit... under DMX Devices
  3. Click Add in the Virtual Input Devices section
  4. Click Manually add another type...
  5. Set the Output device type to Audio
  6. 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.
  7. Click OK
  8. Select the desired audio device
  9. Optionally click Test to verify that you picked the right device.  A short sound will be played out that device.
  10. Click OK
  11. Click Dismiss
  12. Click Save

Next we need to associate a DMX value with the sound file, as follows:

  1. Run Cosmos DMX Editor
  2. Click File→Audio Files...
  3. Decide on a unique value (1-255) for this sound clip.  Say we want to use the value 3.
  4. Click the Add button in row 3
  5. Select the Data_Hail.wav file and click Open
  6. 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:

  1. Run Cosmos DMX Editor
  2. Click Edit... under Cosmos DMX Commands
  3. Click Add to add a new command, and change the cue to the desired cue (INCOMING_COMMUNICATION_PRI0 in this example)
  4. Click in the Device cell of the newly created row and click Add to add a device
  5. Set the device to the audio device you created (e.g., "Audio")
  6. Click Change, since by default silence is associated
  7. Select the sound effect (e.g., "Data_Hail") in the list of sound effects
  8. 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.
  9. 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.

How to trigger playing a video in response to a DMX cue

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:

  1. Run Cosmos DMX Editor
  2. Click Edit... under DMX Devices
  3. Click Add in the Virtual Input Devices section
  4. Click Manually add another type...
  5. Set the Output device type to Video
  6. 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.
  7. Click OK to add the device and then click Dismiss
  8. 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.
  9. Click OK
  10. Click Save

Next we need to associate a DMX value with the video file, as follows:

  1. Run Cosmos DMX Editor
  2. Click File→Video Files...
  3. Decide on a unique value (1-255) for this video.  Say we want to use the value 3.
  4. Click the Add button in row 3
  5. Select the video file (e.g., IncomingTransmission.avi) and click Open
  6. 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:

  1. Run Cosmos DMX Editor
  2. Click Edit... under Cosmos DMX Commands
  3. Click Add to add a new command, and change the cue to the desired cue (INCOMING_COMMUNICATION_PRI0 in this example)
  4. Click in the Device cell of the newly created row and click Add to add a device
  5. Set the device to the video device you created (e.g., "Monitor2")
  6. Click Change, since by default nothing is associated
  7. Select the video (e.g., "IncomingTransmission") in the list of videos
  8. 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.)
  9. 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.

How to use an RGB gaming keyboard with Artemis Cosmos

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

  1. Run Cosmos DMX Editor
  2. Click Edit... under DMX Devices
  3. Click Add... in the Virtual Input Devices section (this step will be done for you if starting from an empty device profile)
  4. 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. 
  5. 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:
    1. 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.
    2. Click OK
  6. 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:

  1. 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.
    1. Change it to "1"
    2. Set the ID prefix to whatever you want (say, "K").
    3. Click OK.  The "Select Chroma light" screen will now appear.
    4. 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.
    5. Optionally, test the light by clicking the Test button, which should cycle the light from Red to Green to Blue and back to off.
    6. 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

  1. Run Cosmos DMX Editor
  2. Click Edit... under DMX Devices
  3. Click Add... in the Virtual Input Devices section (this step will be done for you if starting from an empty device profile)
  4. 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. 
  5. 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:
    1. 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.
    2. Click OK
  6. 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:

  1. 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.
    1. Change it to "1"
    2. Set the ID prefix to whatever you want (say, "K").
    3. Click OK.  The "Select HID Lamp" screen will now appear.
    4. 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.
    5. Optionally, test the light by clicking the Test button, which should cycle the light from Red to Green to Blue and back to off.
    6. 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.

How to use an Enttec Pro controller with Artemis Cosmos

  1. Run Cosmos DMX Editor
  2. Click Edit... under DMX Devices
  3. Click Add... in the Virtual Input Devices section
  4. For each set of similar devices (i.e., ones with the same number of channels in the same order):
    1. 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").
    2. Set the number of channels to the # of channels per device.
    3. Select the correct channel order.
    4. Set # devices to add to the number of devices you want to add.
    5. 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.
    6. Click OK
  5. 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.

How to use an Art-Net controller with Artemis Cosmos

  1. Run Cosmos DMX Editor
  2. Click Edit... under DMX Devices
  3. Click Add... in the Virtual Input Devices section
  4. For each set of similar devices (i.e., ones with the same number of channels in the same order):
    1. Click Manually add another type and change the Output device type to "Art-Net"
    2. Set the number of channels to the # of channels per device.
    3. Select the correct channel order.
    4. Set # devices to add to the number of devices you want to add.
    5. 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.
    6. Click OK.
    7. Enter the IP address of the DMX controller, and the universe value (if non-zero).
  5. Click Dismiss and then Save
  6. 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

How to use a uDMX controller with Artemis Cosmos

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:

To use the controller with Artemis:

  1. Run Cosmos DMX Editor
  2. Click Edit... under DMX Devices
  3. Click Add... in the Virtual Input Devices section
  4. For each set of similar devices (i.e., ones with the same number of channels in the same order):
    1. 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").
    2. Set the number of channels to the # of channels per device.
    3. Select the correct channel order.
    4. Set # devices to add to the number of lights you want to add.
    5. 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.
    6. Click OK.
  5. 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.

How to use Philips Hue lights with Artemis Cosmos

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.

  1. Run Cosmos DMX Editor
  2. Click Edit... under DMX Devices
  3. Click Add... in the Virtual Input Devices section
  4. 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").
  5. Set # devices to add to the number of bulbs you want to add
  6. Set First input channel to the first DMX channel to use (3 channels will be used per bulb)
  7. 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.
  8. Click OK.
  9. 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.
  10. 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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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).
  6. 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.

How to use LIFX light bulbs with Artemis Cosmos

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.

  1. Run Cosmos DMX Editor
  2. Click Edit... under DMX Devices
  3. Click Add... in the Virtual Input Devices section
  4. 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").
  5. Set # devices to add to the number of bulbs you want to add
  6. Set First input channel to the first DMX channel to use (3 channels will be used per bulb)
  7. 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.
  8. Click OK
  9. Now configure each LIFX bulb added as follows:
    1. Select the LIFX bulb to use, and (optionally) click Test to verify you picked the right one
    2. Click OK
  10. 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.

How to use LimitlessLED, MagicLight, or Mi-Light lights with Artemis Cosmos

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).

  1. Run Cosmos DMX Editor
  2. Click Edit... under DMX Devices
  3. Click Add... in the Virtual Input Devices section
  4. 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").
  5. Set # devices to add to the number of LimitlessLED light groups you want to control
  6. Set First input channel to the first DMX channel to use (3 channels will be used per light group)
  7. 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.
  8. Click OK.
  9. 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.
  10. 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:

  1. 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.
  2. 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.
  3. 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.

How to use Nanoleaf Aurora lights with Artemis Cosmos

To use Nanoleaf Aurora lights, first configure the device for use with Artemis:

  1. Run Cosmos DMX Editor
  2. Click Edit... under DMX Devices
  3. Click Add... in the Virtual Input Devices section
  4. 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").
  5. 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
  6. Set First input channel to the first DMX channel to use (3 channels will be used per set of connected panels)
  7. 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.
  8. Click OK.
  9. 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.
  10. 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.

How to use a WeMo switch with Artemis Cosmos

First, configure the device for use with Artemis:

  1. Run Cosmos DMX Editor
  2. Click Edit... under DMX Devices
  3. Click Add... in the Virtual Input Devices section
  4. 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").
  5. Set # devices to add to the number of switches you want to control
  6. Set First input channel to the first DMX channel to use (1 channels will be used per switch)
  7. 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.
  8. Click OK.
  9. For each switch added:
    1. 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.
    2. 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.
    3. Click OK.
  10. 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:

  1. Click Edit... under Cosmos DMX Commands to edit your command profile
  2. Add a command and set the cue to NORMAL_CONDITION_1
  3. Change the device to whatever you named your WeMo switch above
  4. Click the Change button in the last column, to set the value of the switch
  5. 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.

Technical Details

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:

  1. CosmosDmxEditor.exe (the DMX settings editor),
  2. 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:

The following output Device Types are supported:

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".

DMX Cues Supported

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.

TODO

The following are potential future features, in no particular order.  Feel free to suggest others, or ask for prioritizing one.

  1. Support for more Jump drive cues (requested by notsabbat)
  2. Add glitch protection for more native cues (requested by Christian Hansen)
  3. Auto-detect DMX controller types when Cosmos DMX Editor is run for the first time (suggested by Mark Bell)
  4. Per-system heat level cues (requested by RockStar)
  5. Support continuous (i.e., looping) audio effects
  6. Add support for Bluetooth Mi-Light lights

Contact

Send bug reports and feature requests to dthaler1968@gmail.com