Lightjockey 2.95 can drive a lasershow software?

Hi! Thank you for supporting me :slight_smile:

Well, since I’m using 2.95 for driving lights in club and I’m planning to buy a laser I would evaluate the best choice, I can buy a laser with DMX support and once the sequences are stored inside by ILDA I can call easly sequence 0 to 255 of laser… but tryng to save som money and driving laser directly by ILDA and software, I need a way to change sequences from Lightjockey directly to the software (running on same PC, Win7). I can buy a DMX-IN to USB (if the software supports it), or try use the Martin USB DMX IN interface and try to read the DMX channel… but I supoose the driver is in exclusive use of Lightjockey.
Or there is any other way to interact with other software? On Lightjockey is possible to execute .exe files (only?) but it’s onlu on Cuelist I suppose. As I’ve to include the laser on cues, there is needed a way to create a sequence that somehow sends commands to the software, there is availabe a virtual fixture? Or any other way…
Thank you!

Your question is hard to understand :stuck_out_tongue:
From what I understand you have:

1 PC with:

  • Lightjockey + DMX dongle
  • Laser software connected with laser through ILDA as laser doesn’t have DMX input

You want:

  • To control laser software using lightjockey through DMX (1 channel?)

Your idea:

  • Connect your ‘DMX out’ with your ‘DMX in’ to provide DMX traffic to laser software

Is this correct?

If true, my advice:

  • Uninstall lightjockey, download Martin M-PC.
  • Determine if your laser software supports any external inputs at all (DMX through dongle, artnet, sACN, midi etc.)

What laser control software are you using?

From there we can help you further.

thank you for reply!
1 PC with Lightjockey, DMX dongle, Software for laser (all in the same PC)
I want control the software by Lightjockey, any possibility to do that directly to other software without DMX?
I mean, I need to integrate laser on cues, that means I’ve to drive laser by sequences, and I know only fixtures that can be driven through DMX. There is any other fixture (like a virtual fixture) that can produce other effects? For example create a MIDI device yes, or other ways.

LJ is able to execute files but only in Cue List I think.
Thank you for your kind support

anyone can support? Thanks :slight_smile:

Which laser software are you using? What input capabilities does it have?

For example, Pangolin QuickShow is pretty limited in remote-control inputs, but it does accept some MIDI commands for controlling certain aspects of the program, like brightness, speed, color, and laser pattern. You could then use the LI_MidiOut external application to send MIDI messages to QuickShow that were triggered within LightJockey.

LI_MidiOut is available here:
Go to “Development and Plugins”, then “LightInspiration_Freeware”, then “”.

If you need help setting up an external application in LJ, search “external application” in the help file.

Thank you! That’s the answer I guess!
If I got right the Quickshow will create a virtual MIDI pheripheral where LJ_MidiOut will write values. Some questions here:

  1. in the MIDI will be written all Fixtures or just some? For example the laser fixture. How to configure it for midi output?
  2. Each channel in midi will take one DMX address? As u wrote brightness, speed, color(3), and laser pattern(I guess two bytes) will take 7 channels?

Software will be chosen also depending on this!
Thank you a lot!!

First, you will need a virtual MIDI device driver for your computer. Software such as this allow two or more programs to send and receive MIDI messages without requiring a hardware MIDI devices. I suggest one of the following:

After installing your virtual MIDI device driver, you will have one or more available named MIDI devices available to connect to on your system. For example, if you use MidiYoke, they are named such as “Out to MIDI Yoke 1”, or if you are using loopMIDI, you can assign a custom name to each connection. This is the MIDI device you will be connecting to with both LI_MidiOut and QuickShow (or other software).

You then need to set up LI_MidiOut. After downloading, extract the LI_MidiOut.exe file, and put it anywhere on your system that you prefer (I suggest putting it in the LightJockey installation folder), and run the program. The first time it runs, it will automatically generate two files, an icon and a configuration file. Use this opportunity to specify the MIDI device you want to output your messages (the one you created with the virtual MIDI device driver above) by selecting it in the “MIDI Out Device” drop-down in LI_MidiOut.

Next, open LightJockey, and go to the Fixture Configuration window. Add one “External Application/Device” profile to your fixture sheet, located in the “Other” folder. Give the fixture a valid address, and rename it, if you like. Then save and exit the Fixture Configuration window. Find the new fixture’s icon on the LJ desktop, right click, and select “Define Application Link.” In the window that opens, click the folder icon in the upper right. Use the browser to navigate to the location where you extracted LI_MidiOut.exe, and select the configuration file “LI_MidiOut.Ini”, then click “OK.” LightJockey will automatically start communicating with the LI_MidiOut program which you opened earlier.

In LightJockey, select the new fixture profile you added, and open the “Levels/Extended Controls” window. Here you will see a window with a text box where you can specify which MIDI message to send. Read the “LIMidiProtocolGuide.htm” file that came with LI_MidiOut to learn about the format you must use. To send a message, you simply enter the correctly formatted string in the text box in the Levels window, which can be saved in a Sequence and replayed later.

You are now able to send MIDI messages over your custom virtual MIDI device to any software which you choose to connect to that device (your laser software, for example).

thank you a lot!! Extremely accurate explanation! I’m looking for a software who supports this…

Thank you again,
I tried and setup sucessfully, but there is an annoying aspect that doesn’t make it useful. I can only send strings in this way? What about use the normal control panels such intensity, movement, colours and so on of a normal fxture?
There is any way to create a virtual fixture that sends proper messages via MIDI? In they way it looks now is pretty hard to use…
Thank you a lot!

I can create an user defineable fixture… and there is present the Define fixture profile option… but for the External Application/Device only the Define application link. I’m really sorry, it looks I can’t do anything here.
Maye there is someone who created a fixture for allow MIDI and fixture controls at same time… or here I’ve to buy an external DMX to MIDI bridge, and route the infos again to the same PC… omg

I think you need to reevaluate what you are trying to do, and why.

Sending light fixture data like “pan X, tilt Y” to a laser control software really makes no sense. This is why you can only send strings to an external application. The key is how the external application interprets those strings. In this case, the string is converted to a MIDI message, which is useful to an external application (like the laser software) and converted into a meaningful action, like “laser brightness 75%.”

There is no way in Lightjockey to create a fixture profile that both, controls the DMX parameters of a light, as well as sends simultaneous MIDI data. As well, there would be no point. That profile would only be able to control one type of light, and only be able to send specific messages, which probably would only be useful in one very specific use case. In other words, not very useful.

Try using the External Application Link in another way. Notice that when you update the string, LJ’s programmer (the Sequence) is affected, and becomes active (the bar turns yellow). This means that you can save Sequences (which can then be used in Cues) just like normal sequences. You could have thousands of different sequences with as many different messages.

You can even combine your fixture commands with you External App commands. For example, select a fixture group, change its color, and also send a MIDI command with External App Link. Save those two combined commands as a new Sequence. Now, whenever you execute a Cue that uses that Sequence to change the fixtures’ color, it will also send that MIDI message.

Thank you for clear and prompt answer! Good support here.

Well if I can be honest, I don’t share much what you say… I explain you better (shortly):
I’m working with Spaghetti developer to solve my issue, I’ve a club and all light driven by LJ, I need according to them (cues) to switch on laser, change effect and color, and move it according the other lights. This is quite difficult to manage the effect only in LJ (for lights) and on Spaghetti (for laser) and have them working simultaniusly for minutes, much better use only one platform (LJ).

According what you say, changing the laser effect could be done by strings (not that comfortable, but ok acceptable), now suppose you have a white standard beam (or effect) and you want to change its colors according the lights, having a panel to set the RGB and even “fade” could do the job easy, this is practically impossible by strings (fade) and even difficult to write manually the rgb values (snap). Same for speed, I would increase in the next 10 seconds the speed of effect gradually, how many strings I’ve to send?

Well, I understand limitations and that you consider it not important, what I’m asking would be just enough to copy a some DMX output bytes (the DMX window shows them) to MIDI regulary, so I can create a custom fixture (adapt one) and place it in a free DMX range. There is any trick for doing that? For example assigning the same DMX addresses would copy values into midi?

Thank you a lot

Or there is any way to “sniff RAM” and copy those values into MIDI?

Take a step back;

Does Spaghetti support inputs from external sources or is the software stand alone? (i cant find manual)

if no, you cant use ligthjockey to control the lasers.
If yes, what are the supported input protocols?

Once we know which protocols are supported, we can determine how to set up the communication link between lightjockey and Spaghetti

Hi Sjoerd, it’s a project we’re developing now with Gary, Spaghetti will support MIDI as input and we’re difining which parameters are essential. If you would partecipate in our discussion I’ll be glad!!

The idea is running ILD files on Spaghetti, load them (and start) by a command in LJ, change/adjust their RGB values, speed, intensity, and space offset. That would save operator lot of time, he can create the standard ild file in Spaghetti and then manage it live with LJ. Nothing more a preset effect contained in a laser, that with DMX possible to control. The difference is that with Spaghetti it’s possible to introduce an unlimited effects and customize them before drive with LJ.

What infos Spaghetti can accept?
A couple of bytes to select the effect, on LJ could be a field to insert the pattern, from 0 to 65536, so it can’t be a classic 0-255 slider. Eventually it can be done by string… but string must contain also the midi command, better to write only the number.
I installed fixture Laserworld CS2000, I took it as a reference for example. I would conserve the movement (there may need 16 bit for each axe, to let single beams hit mirrors around room accurately ), I would introduce RGB sliders in color window to customize the effect colour, speed (velocity 1x=80h, 0,1x=01h, 10x=FFh, for example), global intensity/OFF, and it may be interesting evaluating a zoom function. I let you know about.

Now think we can create a simple fixture with such paramenters, I only need to map on MIDI channel the fixture’s (virtual)DMX values.

about protocol, maybe we can use something standard already developed for light system through midi protocol, you may had already experience with it dealing with Quickshow, or extrnals MIDI consoles, then we can use your standard.

I’m deeply searching for the best solution, here is a topic describing some issues with Quickshow:
It looks Quickshow allow to assign a midi message to a particular function, we here don’t need such advanced learning feature. There is also an issue to trig cues (need a translator) and I guess I suggested a much easier solution. Now I gonna hear what Gary says about that, if he want develope a standard MIDI platform which can work also with hardware MIDI consoles or if he prefer develope something easier that also may put you both on business: Spaghetti will offer a laser remote control by LJ and you can recoomend Spaghetti as laser designer. Lasers are becaming popular due to cost reductions in recent times.

MIDI supports 7 bits data only, then a 1 byte value should be trasmitted wth 2 bytes (plus 1 containing the channel number), and 2 bytes in 4 MIDI. To speed up process you may also suggest an alternative.
Thank you

Ah i get it :slight_smile:
Maybe you can implement artnet? Basically DMX over ethernet. Then you can listen to two channels for 16 bit operations and listen to any light controller providing artnet.

You failed to mention that you (or the group you work with) are the developer of the software you’re trying to use.

If you want very tight integration into LightJockey, why not simply allow Spaghetti act as an External Application from LJ? Then, you can create a custom “protocol” of strings which are accepted by Spaghetti, which the LJ user can send any time they wish. For example, the user could send “Pattern 3 #FF00FF” for magenta, or “Brightness%100” or whatever you want them to be. This would, obviously, only work with LightJockey.

A “cross platform” solution would be General MIDI. MIDI is so widely supported, nearly every performance software supports it out-of-the box. How you implement MIDI handling is up to you, but convention would state that MIDI Notes are used to trigger laser patterns (Note On = Pattern On), and MIDI Control Change messages could be used for things that can have multiple values, like brightness (CC01 @ 0 -> 255 = Brightness 0% -> 100%). To use this in LightJockey, however, you’d still need to find a MIDI send solution, like the one I proposed above.

Another option is to allow DMX input for control (very similar to MIDI input, simply with a different protocol). Allow the user to define which channels are intended to control which parameters (DMX ch.01 = Brightness), then simply map the input value (DMX val.0 -> 255 = Brightness 0% -> 100%). This could be used with any console which outputs DMX, without the use of any custom solutions or fixture profiles. It does have a downside, though. Under most circumstances, it requires a physical hardware device to capture the DMX data.

Finally, as Sjoerd mentioned, Art-Net is a fantastic IP-based DMX solution. It would function exactly like DMX capture, except negates the need for a hardware DMX capture device. The downside with Art-Net, is that LightJockey does not support Art-Net natively.

Sorry about being define myself a developer, I’m just helping both side to collaborate for a solution. As I bought LJ and all lights are configured to work with it I’m truing to figure out how to include on cues the laser, and drive it according to cue style.

I’m open to solutions, thanks for suggesting them, about artnet, how to implement it in LJ configuring a fixture with control panels? (colours, positions, and so on?) Does it work in the same PC? maybe using loopback address There is already a fixture/exe file supporting it?

About Spaghetti act as an External Application, how can I find documentation how to create it? And will it create a fixture with control panels I desire? (not only string mode)

About MIDI, well there is a lot already done, but the “string mode” (window with string parameters to snap) is vrey restrict, there are chances to create a custom fixture and output control panel windows to midi?

It looks to me I can’t figure out how to control laser with normal control panels, and output somehow to Spaghetti without the need of a DMX input hardware.
Thank you a lot!

Hi, any answers here? Thank you