bar band using DMXIS, considering LightJams, some questions?

494 views
Skip to first unread message

o865324

unread,
Mar 7, 2018, 6:13:48 PM3/7/18
to Lightjams



Hi, I play keys in a small bar band. I use VST sounds and trigger DMXIS presets via MIDI notes.

We have a couple of quad LEDs on tripods, a couple of LED panels, and a couple of other RGB single lights. I've just bought some moving heads to play with - which is partly why I'm looking at other software.
I have each song split up into intro, verse, chorus verse2, outtro etc, and I can change the lighting preset by sending MIDI notes at each stage in the song.
A basic preset in DMXIS might be a flip flop between 2 colours every 2 or 4 measures. The performers would be lit in one colour, and a stage wash in another colour. The lead singer is lit in a desaturated colour.
I tend to adjust the speed of the flip flop and add some effects like a sawtooth flash and fade, where appropriate.
We don't use backing tracks or a click, so although I have the rough tempo set in my VST host for each song, which then transfers to DMXIS, it does drift out as we play, so sometimes I have to nudge the preset along with a foot pedal to reposition it on the beat.

Integrating the moving heads into this DMXIS setup will be possible, but a little tricky, as you can't have multiple presets active at the same time.

Having watched the videos and played with LightJams today I have got to this point:-

Here is my physical layout



Here is a flip flop preset which groups the lights.





I can send MIDI time clock from my VST host which comes into LightJams OK, and I can link it to the master speed fader, but I couldn't seem to get a 1second sine wave to match up with this tempo.

I can link the sources to MIDI notes and therefore set the colours and intensity directly from my VST host through the MIDI note velocity without needing other grids.
  1. QUESTIONS:- Fixed lights - basic flipflop
    1. How would I create a synced Squarewave or Sinewave energy source at the tempo coming in on the MIDI clock?
    2. Would I be better off sending the kick drum as an audio input to LightJams and using that to set the tempo?
    3. Is there a way to add comments to the grid (as I have on the image above)? If not, how do you remember what you've done for more complex grids?
    4. I have patched the fixtures with fixture groups set as "Singer", "Drums" etc. Can I refer to these groups in the grid rather than the individual fixtures?
      1. If not, then if I add another fixture to this group at a later date, do I have to go to each grid separately and add it in?
    5. Does this seem a good way to start? Or am I thinking about it the wrong ways

Cheers,

Mathieu

unread,
Mar 7, 2018, 8:03:02 PM3/7/18
to Lightjams
Hi!

As I can see, you're having some fun with Lightjams :)

>> but I couldn't seem to get a 1 second sine wave to match up with this tempo.

The midi.clock.sawtooth(1) function generates a sawtooth wave in sync with the clock. You can map it to a sine wave by using the map.sin function like this: map.sin(midi.clock.sawtooth(1)). Replace 1 by the clock id as displayed in the view/configuration/MIDI menu. For the square wave, use midi.clock.sawtooth(1)<50. To enter a formula, you select a slider (any slider) and click the nuclear icon.

>> Is there a way to add comments to the grid

You can enter a general comment for the whole grid by clicking the post-it icon at the top. You can also use different colors for your sources to help you identify them. 

>> If not, then if I add another fixture to this group at a later date, do I have to go to each grid separately and add it in?

Use the "link attribute layout" when duplicating your grid. This way, you add your fixture to the master grid and all linked grids will be updated.

>> Does this seem a good way to start?

I don't see anything wrong. You can look on the forum for more ideas. For example, look at this complete show file - https://groups.google.com/d/msg/lightjams/wEulJmgYpTI/FqCRkFd3AQAJ and https://groups.google.com/d/msg/lightjams/vueaYxrMH6k/WFA1b7dLN8AJ.

o865324

unread,
Mar 7, 2018, 8:27:08 PM3/7/18
to Lightjams


Thank you Mathieu, I'll try that. I just had this error though. I do have a lot of virtual MIDI ports on this pc.


Mathieu

unread,
Mar 7, 2018, 8:44:37 PM3/7/18
to Lightjams
I'll check that error right away. How many MIDI devices do you have in Lightjams?

Peter

unread,
Mar 7, 2018, 9:09:12 PM3/7/18
to ligh...@googlegroups.com

    1. Would I be better off sending the kick drum as an audio input to LightJams and using that to set the tempo?
I use an Alesis trigger IO and drum triggers to run drums directly into LightJams. No chance of bass guitar mic bleed messing up your program. Now they are sold as a DDrum product. (for more money….)

You could even use a function to make your show run via the kick drum rather than MIDI beat if you’re not using a click and your tempo can waiver a bit.

    1. I have patched the fixtures with fixture groups set as "Singer", "Drums" etc. Can I refer to these groups in the grid rather than the individual fixtures?
      1. If not, then if I add another fixture to this group at a later date, do I have to go to each grid separately and add it in?
    2. Does this seem a good way to start? Or am I thinking about it the wrong ways
Good place to start, here would be the next place I would go, but there’s no wrong answer as long as it works:

1. Learn to use your midi input that is now picking colors to control grid activations, each part of your song can have it’s own grid.
2. Make grids that do weird stuff. Plug things in just because you can, try stuff just to see if it works.
3. Take the best grids from step 2, control their activation as described in step 1, and there isn’t much you can’t do after that. Every part of the song can have it’s own rules.

Also, learn to use pixels. They are cheap and can pack a lot of pow for a small band. Plus it’s a big DIY project.


plus


equals


Some assembly required.

Mathieu

unread,
Mar 7, 2018, 9:18:05 PM3/7/18
to Lightjams
I think I've found the bug. Should be fixed in the new beta: 

o865324

unread,
Mar 8, 2018, 4:21:52 AM3/8/18
to Lightjams

The midi.clock.sawtooth(1) function generates a sawtooth wave in sync with the clock. You can map it to a sine wave by using the map.sin function like this: map.sin(midi.clock.sawtooth(1)). Replace 1 by the clock id as displayed in the view/configuration/MIDI menu. For the square wave, use midi.clock.sawtooth(1)<50. To enter a formula, you select a slider (any slider) and click the nuclear icon.

I tried this, and although the tempo looks correct, the beats are slightly out of sync with my VST host. What would be a good way of "nudging" things along or back a bit so that the zero crossing matches up with the beat. I can send a midi note 15/16 or 31/32 after the clock starts if that could be used to reset LightJams?

o865324

unread,
Mar 8, 2018, 4:29:07 AM3/8/18
to Lightjams

You could even use a function to make your show run via the kick drum rather than MIDI beat if you’re not using a click and your tempo can waiver a bit.


We have a mic on the kick drum, I tried bringing that track into LJ from the last rehearsal recording we did, and it seemed to come through ok as "cleaned" beats. Some questions.

  1. How are you using that to drive the show?
    1. Do you have a moving average and convert it to a BPM?
    2. Or do you use the Beat pulses directly to move sources around?
    3. What if you don't want things to change every beat, but maybe every 8 beats. How do you tell LightJams where the 1st beat is?
    4. What do you do if the drummer hits a double kick at the end of a verse etc.?

o865324

unread,
Mar 8, 2018, 4:31:13 AM3/8/18
to Lightjams
Also, learn to use pixels. They are cheap and can pack a lot of pow for a small band. Plus it’s a big DIY project.

Yes I have seen some DIY LED tubes which I am sure are in my future - but need the basics 1st! :-) Thanks for the pointers.

o865324

unread,
Mar 8, 2018, 4:41:52 AM3/8/18
to Lightjams

On Thursday, 8 March 2018 02:18:05 UTC, Mathieu wrote:
I think I've found the bug. Should be fixed in the new beta: 

Thank you - that was quick!

LightJams doesn't crash now, but the port doesn't recognise the midi clock. the activity indicator is lit, but the "clock id 3" text is not there. This is the only port that is ticked as "use". I can see throughput of 56 bytes per seond in LoopMidi.


Mathieu

unread,
Mar 8, 2018, 7:36:55 AM3/8/18
to ligh...@googlegroups.com
With the midi clock, Lightjams knows exactly when the beat starts. So you can offset the sine wave to be exactly what you need. To do so, add or subtract a percent to the sawtooth. For example, to make the sine wave starts at 0%, you offset it by -25% (a quarter cycle):

map.sin(midi.clock.sawtooth(1)-25)

Another tip: when the BPM is low, the sine wave may look a bit jumpy. You can smooth it out with the smooth function like this:

smooth(4/midi.clock.bpm(1),map.sin(midi.clock.sawtooth(1)-25))

Mathieu

unread,
Mar 8, 2018, 7:41:44 AM3/8/18
to Lightjams
You can move a source at each music beat. The onBeat function has a parameter to specify to fire every N beats. When using with the cleaned beats, the formula to fire each 8 beats is:

onbeat(trigger(music.1.beat,0.1,10,30,0.2), 8)

>> What do you do if the drummer hits a double kick at the end of a verse etc.?

Maybe you can adjust the trigger function to prevent it to firing in this case. The last parameter of the trigger function is the time between two triggers.

Mathieu

unread,
Mar 8, 2018, 7:43:19 AM3/8/18
to Lightjams
The fix was when more than 32 MIDI devices were detected. Maybe the MIDI device with the clock is after 32. Alternatively, try restarting LoopMidi.

o865324

unread,
Mar 8, 2018, 10:49:09 AM3/8/18
to Lightjams
Great, that works, and I can align the sine wave however I want. Thanks

o865324

unread,
Mar 8, 2018, 10:51:31 AM3/8/18
to Lightjams
Yes, the midi port I'm using is probably > 32. I'll try and renumber it so it is less than 32.

o865324

unread,
Mar 8, 2018, 10:58:55 AM3/8/18
to Lightjams
Thanks for all the help. Next couple of questions.

1. The movers I think will mostly use stamdard positions which won't change from gig to gig. Vertical, horizontal, etc. However, I'd like some presets where I will have to manually position them each gig. Eg. Guitar Solo, I'd like some of them to focus on the guitarist. Unless he's being too loud, in which case I can turn them off! Same for the drummer. That is pan and tilt positions for 8 movers * however many positions I want to store. I can use a korg nano control to help position them, but how can I store the values once positioned?

2. Is there a way of viewing the raw DMX values on each channel?

Mathieu

unread,
Mar 8, 2018, 11:05:55 AM3/8/18
to ligh...@googlegroups.com
>> but how can I store the values once positioned?

You could create one grid per preset. Put the pan&tilt attributes of each moving head on each grid (do it once and duplicate the grid without the link layout attribute). Then select the pan&tilt attribute of one moving head and select the position using the x-y panel at the right.

Then activate the proper grid.

Another option is to put all presets on the same grid and move a source to activate the proper column or line.

>> Is there a way of viewing the raw DMX values on each channel?

Not in Lightjams. If you're outputting Art-net, you can use the artnetominator. Why do you want to see the raw DMX values? If it's because you want to set precise DMX value, maybe that's because you need to enter them when creating your fixture template under the presets. This way, no need to know the raw DMX values when you're programming your effects.

sightsoundcookeville .

unread,
Mar 8, 2018, 11:11:50 AM3/8/18
to ligh...@googlegroups.com
gmem() and grecall.

You can make the value of x or y axis of a fixture in a grud a variable that links to a source on another grid. (or the same grid) I'll often use that to set several "poses" right before the show.

If you want X axis at 66% for the solo for just one time make a grid just for "setup". Then make a source that is just gmem(3, 66) and put it over an x axis attribute from the fixture. Disable anything else controls x axis (other grids an sources) and you'll see what 66% is in the room. When you want that to happen in a song use something like if(*condition is true*, grecall(3), 0) and the fixture will go to 66% or whatever value you have stored in the setup grid. 

--
You received this message because you are subscribed to the Google Groups "Lightjams" group.
To unsubscribe from this group and stop receiving emails from it, send an email to lightjams+unsubscribe@googlegroups.com.
To post to this group, send email to ligh...@googlegroups.com.
Visit this group at https://groups.google.com/group/lightjams.
For more options, visit https://groups.google.com/d/optout.

o865324

unread,
Mar 8, 2018, 7:52:22 PM3/8/18
to Lightjams
Thank you both for the options on setting the mover positions. I'll try that out in the next day or so.

Back to fixed lights.

Here is my test grid - on the left had side I have blocks for Hue, Intensity and Saturation with the 1st static look set up as red on the performers with the last row in the Hue block being a blue stage wash.

All energy sources are linked to MIDI notes which is working fine.

I have a 2nd "preset" set up to the right hand side. In this example it has the blue and red reversed. This preset is also set up via the MIDI linked sources.

Questions
  1. I manually painted the fixtures onto the grid for all of the 3 left hand side blocks. Is there a way of copying the block of fixture attributes down and "replacing" Hue with Intensity for example?
  2. How can I control the grid fade in & fade out via MIDI. Do I just add another 2 sources and write a formula to link the source to the correct midi note and the fade in value?
  3. I want to flip flop between the two "presets" However, my 2nd "preset" has added itself to the 1st, so that all the lights are showing in the monitor as Magenta instead of red/blue. So I've done this incorrectly.
    1. How best to set the flip flop up? I want to set the speed and the 1st and 2nd colours of the flip flop via midi.
    2. I can trigger the flip flop either internally from Light Jams using the MIDI Clock, or externally via yet another MIDI message.

Thanks, yet again!

o865324

unread,
Mar 8, 2018, 7:54:29 PM3/8/18
to Lightjams



Here's the screenshot.

Mathieu

unread,
Mar 8, 2018, 8:33:12 PM3/8/18
to ligh...@googlegroups.com
>>  Is there a way of copying the block of fixture attributes down and "replacing" Hue with Intensity for example?

There's a way but it replaces all attributes on the grid. 
- Create a dummy/temporary grid
- Copy/Paste the actual attributes
- Deselect all attributes and select the replacement attributes in the list at the right
- Go in the menu Edit/Attributes/Replace by list selection same fixture 
- Paste the replaced attributes back on the original grid
- Delete the dummy grid

A hacky but faster way that I like to use and that doesn't need a dummy grid:
- Deselect all attributes and select the replacement attributes in the list at the right
- Go in the menu Edit/Attributes/Replace by list selection same fixture
- Copy the replaced attributes that you want to keep
- Undo
- Paste the replaced attributes 

>> How can I control the grid fade in & fade out via MIDI

The grid fades can only be controlled by changing the grid's speed. If you want finer control, you can use the fadein/fadeout functions in your formulas.

>> However, my 2nd "preset" has added itself to the 1st, so that all the lights are showing in the monitor as Magenta instead of red/blue. 

That's because the same attributes are used multiple times on the grid and all values are merged to get the final results. In your case, you can set the source's range to 0% when you don't want to use it. You can use the toggle function for the flip flop. So one source's range would be toggle(midi.note(1, 60)) and the other !toggle(midi.note(1, 60)).

Maybe it would be easier to create one grid per preset. This way, you can do transitions between presets by cross fading the grid's activation sliders. 

o865324

unread,
Mar 9, 2018, 5:57:09 AM3/9/18
to Lightjams
Maybe it would be easier to create one grid per preset. This way, you can do transitions between presets by cross fading the grid's activation sliders. 

The copy/paste worked thanks!

I've set up 2 grids with a preset on each, and a sequencer grid to flip flop between them on a square wave.

According to the monitor though, It is fading through black, whereas I just want to fade smoothly from one colour to the next. How should I do that?

Here's the project file
Testproject2_flipflop.ljp

Mathieu

unread,
Mar 9, 2018, 6:54:45 AM3/9/18
to Lightjams
It fades to black because the presets grids have intensity attributes. You could put the intensity and saturation attributes on other grids to avoid fading the intensity attributes at the same time as the hue.

Alternatively, as shown in the attached project file, is to use the color palette. It makes it easy to do color transition without needing multiple grids. I've linked all hue/saturation/intensity attributes to the 1st color palette item. You can edit it by going in the view/color palette menu.
Testproject2_flipflop color palette.ljp

o865324

unread,
Mar 9, 2018, 7:27:02 AM3/9/18
to Lightjams



It fades to black because the presets grids have intensity attributes. You could put the intensity and saturation attributes on other grids to avoid fading the intensity attributes at the same time as the hue.


I tried moving the sources for intensity and saturation to another grid and fixed them to 50% and 100% and that stops the lights fading through black. However the lights fade through other colours, as the power comes up on each grid and affecst the Hue. Can I get a fade directly to the new colour using the 2 grids?


 

 
Alternatively, as shown in the attached project file, is to use the color palette. It makes it easy to do color transition without needing multiple grids. I've linked all hue/saturation/intensity attributes to the 1st color palette item. You can edit it by going in the view/color palette menu.


Ok I could do that, but I would prefer to choose the 2 colours via MIDI so that I don't have to create gradients for all the combinations I want?

Mathieu

unread,
Mar 9, 2018, 8:01:56 AM3/9/18
to Lightjams
>> Can I get a fade directly to the new colour using the 2 grids?

You need to prevent the source from fading in and out. Otherwise the power changes over the fade thus modifying the hue. So remove the grid fades.

o865324

unread,
Mar 9, 2018, 8:33:55 AM3/9/18
to Lightjams

You need to prevent the source from fading in and out. Otherwise the power changes over the fade thus modifying the hue. So remove the grid fades.


Great, that worked, I put the fades on the sequencer grid instead and now the fades work nicely.


Thanks for the quick responses.

Onwards!

o865324

unread,
Mar 9, 2018, 11:04:28 AM3/9/18
to Lightjams
I'm now experimenting with using the MIDI clock directly in the source formula such as midi.clock.sawtooth(1). This gives me a good sync up to my VST host. But how would I get a square, sine or sawtooth wave that is a division or multiple of the beat - eg a period of 4 beats or 4 measures?

Alternatively I can use the midi.clock.speed(1) to adjust the master speed. This means I can then use the normal square, sine, sawtooth functions. But how do I sync these up with the beat? The oscillators seem independent of each other. Can I "restart" the waves?

Mathieu

unread,
Mar 9, 2018, 11:14:13 AM3/9/18
to Lightjams
To get a multiple, you can multiply the sawtooth like: map.sin(midi.clock.sawtooth(1)*2). The sine wave will complete two cycles during one beat. To divide the beat, there's no easy way. You can look at: https://groups.google.com/d/msg/lightjams/Yn3REHSgQKs/5IGq8SpJrr8J

Alternatively, you could use the detected BPM or speed to generate your wave. All waves restart when you restart the grid (deactivate and then activate). The sawtooth function has an optional reset parameter.

Mathieu

unread,
Mar 9, 2018, 11:34:24 AM3/9/18
to Lightjams
The formula to generate a sawtooth with a period of 4 beats looks like:

sawtooth(60/midi.clock.bpm(1)*4, onbeat(midi.clock.beat(1),4))

There's a transition period when you modify the BPM as the sawtooth needs to adjust its speed and reset in sync with the new beat.

Mathieu

unread,
Mar 9, 2018, 1:13:42 PM3/9/18
to ligh...@googlegroups.com
Well, I'm having some fun with the midi clock and here's a little something:

((100-midi.clock.sawtooth(1))*max(1, slider(1))%100+counter(0,max(1,1/slider(1))-1, midi.clock.beat(1),0, grid.onactivated)*100)*min(1,slider(1))

This formula generates a sawtooth wave in sync with the midi clock and allows being divided or multiplied. The value of the slider(1), which is the 1st global slider as you can see in the view/sliders menu, is used to adjust the speed. A value of 0.25 divides the clock by 4. A value of 2 multiplies the clock by 2. You can reset the sawtooth by resetting the grid.

You can link the 1st global slider to your formula to map the midi control you want to use to a value that is suitable to modify the clock.

o865324

unread,
Mar 10, 2018, 8:08:16 PM3/10/18
to Lightjams
Thank you I will try that. I am actually triggering preset changes via the sequencer in the VST host for now.

I have attached a project file. It shows me switching between 2 moving head presets via a sequencer grid. This works fine.

My problem is that I adjust the moving head positions via MIDI on the preset pages (eg. preset-PanTilt 2x 2 ), and I want these changes to happen smoothly. If I put a fade in and fade out on the preset grid, then the sequencer grid doesn't work properly - the position goes way out during the transition.

How can I get  a slow fade while adjusting positions directly, as well as when transitioning to a different grid?

Cheers.
Testproject2_demomvhd.ljp

Mathieu

unread,
Mar 10, 2018, 8:29:49 PM3/10/18
to ligh...@googlegroups.com
You can use the smooth function to make the adjustment via MIDI. For example, smooth(0.5, midi.control(1,10))

o865324

unread,
Mar 11, 2018, 10:42:51 AM3/11/18
to Lightjams
That worked fine - thanks again.

Can I override the grid fade in and out time on individual energy sources on my sequencer grid? I tried fade.linear(0,midi.note(9,12)) but that didn't work.

Mathieu

unread,
Mar 11, 2018, 11:00:13 AM3/11/18
to ligh...@googlegroups.com
No, the grid fade is applied after the source. If you want individual control, use the fade functions in your formulas only and remove the grid fades. Alternatively, put the attributes you want without fade on another grid.

o865324

unread,
Mar 14, 2018, 9:54:55 AM3/14/18
to Lightjams
I have 2 grids, both with Pan/Tilt attributes and sources. With both grids set as precedence 0, the pan/tilt final value is a mix between the 2 grids.

If one grid is set higher than the other, then the 2 grids fight, with the lights shaking, both physically and in the monitor.

Is this normal? I was hoping that the grid with higher precedence would win.


Mathieu

unread,
Mar 14, 2018, 10:16:58 AM3/14/18
to ligh...@googlegroups.com
The precedence is like a layer number. So if you want the higher layer to be opaque, you need to set its activation to 100%. Under 100%, the values are merged with lower layers. This behavior is to allow to do transitions.

o865324

unread,
Mar 14, 2018, 10:23:45 AM3/14/18
to Lightjams
Hmm, I'm missing something. In the attached project file which has both grids at 100% activation but one with a higher precedence, the lights fight.
test-precedence.ljp

o865324

unread,
Mar 14, 2018, 10:26:24 AM3/14/18
to Lightjams
oh that attached file didn't have the precedence set, but if you set one of the grids to precedence 1 then the lights shake.

Mathieu

unread,
Mar 14, 2018, 10:26:56 AM3/14/18
to Lightjams
I'm not seeing any fight... Maybe it's the wrong project file as both grids has a precedence of 0.

Mathieu

unread,
Mar 14, 2018, 10:30:06 AM3/14/18
to Lightjams
Sorry, not shaking here... 

o865324

unread,
Mar 14, 2018, 10:42:45 AM3/14/18
to Lightjams
Here's what I'm seeing.

https://youtu.be/n4MSn1S8qKo


On Wednesday, 14 March 2018 14:30:06 UTC, Mathieu wrote:
Sorry, not shaking here... 

isaac

unread,
Mar 14, 2018, 11:02:49 AM3/14/18
to Lightjams
Tried it also on .489 (64bits) and not seing any shaking in the Preview Monitor after changing the precedence and playing with speed, activation etc.

Maybe try recreating this in new blank project just to test, because in your file there is a bunch of midi assignations, configured sliders etc

Mathieu

unread,
Mar 14, 2018, 11:07:44 AM3/14/18
to Lightjams
Can you send me exactly this project file? Also, try restarting Lightjams and loading the project again just in case.

o865324

unread,
Mar 14, 2018, 11:08:03 AM3/14/18
to Lightjams

Here's the new file - still doing it. I'm now rolled back to v486 but no difference
test-precedence2.ljp

o865324

unread,
Mar 14, 2018, 11:14:06 AM3/14/18
to Lightjams
I just tried opening it in another pc which is running v481 - and that is ok - no shaking.

Mathieu

unread,
Mar 14, 2018, 11:18:00 AM3/14/18
to Lightjams
Thanks for the testing. Looks like a timing problem. Might be related to the CPU... I'll look for possible causes.

o865324

unread,
Mar 14, 2018, 11:28:34 AM3/14/18
to Lightjams
Another bit of info for you.

I have 2 hardware identical PCs running v488. One shakes, one doesnt.

On the PC that shakes, I am using a DMXIS interface which comes up as Enttec DMX USB Pro in Lightjams. If I unplug it then the shaking stops in the Lightjams monitor.

Mathieu

unread,
Mar 14, 2018, 11:39:57 AM3/14/18
to Lightjams
Ok, maybe the DMXIS interface isn't outputting fast enough and blocking the processing. Can you run the Enttec USB Pro utility and make sure the output rate is at least at 44fps? Alternatively, lower the output rate in Lightjams by going in the view/configuration and general tab. 

isaac

unread,
Mar 14, 2018, 11:41:32 AM3/14/18
to Lightjams
I was  just going to recommend unplugging dmx-usb interfaces, it sounds like some dmx input conflict or something.

I just tried with a dmx king and enttec device plugged in, but no shaking.

can you disable the input on the DMXIS through the config utility?

Mathieu

unread,
Mar 14, 2018, 11:46:54 AM3/14/18
to Lightjams
I've been able to reproduce a kind of flickering by setting the output rate of my Enttec USB Pro to 5fps. So my guess is that you need to set your Enttec USB Pro to a higher output rate by using this utiity: https://www.enttec.com/us/products/controls/dmx-usb/pro-manager/

I'll try to prevent the flickering anyway or at least display a warning message.
Message has been deleted

o865324

unread,
Mar 14, 2018, 11:56:13 AM3/14/18
to Lightjams

 

Yes the interface was set to 25 fps, The max rate in the dropdown is 40. Should I set it to 40, or "as fast as possible"?


The other settings are 213 for Mark After Break and 533 for break time. It says defaults are 10 and 96 respectively. Should I change them?


The flickering has now stopped. Thanks for the help both!




Mathieu

unread,
Mar 14, 2018, 11:57:51 AM3/14/18
to Lightjams
Nice! Set it to 0 (as fast as possible).  The MAB should be ok as is.

o865324

unread,
Mar 14, 2018, 12:13:19 PM3/14/18
to Lightjams
Seems to be ok now - thanks again. Fades are much smoother now as well :-) I think 25 is the default for DMXIS to help avoid any problems with "slow" fixtures.

I had noticed the DMX out indicator going Amber yesterday, but had not investigated what to do about it!

Mathieu

unread,
Mar 14, 2018, 1:23:55 PM3/14/18
to Lightjams
Fixed in v490 - https://www.lightjams.com/history.html. Thanks again for the bug report and testing!

o865324

unread,
Mar 14, 2018, 2:07:34 PM3/14/18
to Lightjams
Thanks Mathieu. I have some other observations, that I'll write here for my own record.

  1.  If I have both MIDI clock and control messages enabled then LightJams seemed to drop some messages. both were coming down the same loopMIDI port. I have disabled MIDI clock for now, which removed the problem. I did not test whether bringing MIDI clock in on a separate channel made any difference. I also did not fully confirm that my VST host sent all the messages, although I have no reason to suppose it didn't.
  2. With the caveat above I have not noticed any other missed cues with Lightjams which is very impressive - On a lighting change I am sending 15 to 20 midi messages in very quick succession. In other lighting packages I have seen slowdowns and frustrating message drops. Not so with LightJams - Thank you!
  3. In the formula editor, the context help only appears when you edit the 1st parameter, it disappears as soon as you type the 1st ",". Can it continue to display in context for the whole formula?
  4. Could there be a way to do text search and replace on currently selected sources?  If I have a power formulas on lots of sources, and I want to change a sin to a cos or change a midi channel I have to go to each one and edit it.
  5. Similarly, could there be a way to carry out operations across grids. eg. text search and select and replace be across grids? Something like the attribute filter and search perhaps? Use case is answering questions like "Where have I used MIDI controller 3 on channel 7?
  6. Please could we have a comment attribute and put it on a cell? Although the grid is self documenting, there are some formulas and power sources that I know I'll forget where they are linked to/from so being able to add a text comment near it would be very helpful.
  7. How would I see which mems and gmems I've used and their current value?
  8. It would be nice to be able to switch on and see DMX channel values as an option on the Monitor screen - For me, this is to check that I've really got full brightness, or to debug whether the reason things are not as expected is because the Dimmer channel is down etc.
  9. I'd like to be able to have the monitor window open, but the main window minimised. At the moment if I minimise the main window then the monitor window also goes. I think this also reduces CPU load?

With all that said I've got further with LightJams after a week than in a few months using the other software I tried. Thank you!


isaac

unread,
Mar 14, 2018, 3:43:27 PM3/14/18
to Lightjams
3. In the formula editor, the context help only appears when you edit the 1st parameter, it disappears as soon as you type the 1st ",". Can it continue to display in context for the whole formula?
+1 on that, it could stay until the next function/variable is typed

4. Could there be a way to do text search and replace on currently selected sources?  If I have a power formulas on lots of sources, and I want to change a sin to a cos or change a midi channel I have to go to each one and edit it.
I usually just use a text editor to do the replacing, and when im really in need I just edit the project file directly (you can easily find the names of the grids and then you edit the formulas there). But being able to easily replace on a bunch of sources at the same time in LJ would be awesome, although probably complex and I am not sure if alot of users would need this.

5. Similarly, could there be a way to carry out operations across grids. eg. text search and select and replace be across grids? Something like the attribute filter and search perhaps? Use case is answering questions like "Where have I used MIDI controller 3 on channel 7?
I was think of creating (in my spare time) an import/export filter to import the project file (which is an xml) into a spreadsheet table, that way everything would be there and well organized, and it would be possible to do multiple operations, search functions, etc. Mathieu, maybe you have a template that would help for this?

6. Please could we have a comment attribute and put it on a cell? Although the grid is self documenting, there are some formulas and power sources that I know I'll forget where they are linked to/from so being able to add a text comment near it would be very helpful.
At least the sources could have IDs that way we can take our own notes on the side. There are colors for sources, so usually I have my own notes like 'grid1, red source, bla bla'

7. How would I see which mems and gmems I've used and their current value?
I've used the recall function on the power of a blank source in the past to see the value, not the best but could be helpful.

Mathieu

unread,
Mar 14, 2018, 4:38:37 PM3/14/18
to ligh...@googlegroups.com
I think the global sliders are under used and should replace in large part the global memory slots (gmem/grecall).  You can label the sliders, making it easier to remember what's going on. And instead of typing the same midi.control.XYZ or other input formula, it's a good idea to use a global slider as an indirection. This way, you change the slider and all formulas using it are updated. In other words, you put the midi.control.XYZ in the global slider and then use the slider function in your formula. This also makes it easy to switch to another input.

o865324

unread,
Mar 14, 2018, 5:17:33 PM3/14/18
to Lightjams
On Wednesday, 14 March 2018 20:38:37 UTC, Mathieu wrote:
I think the global sliders are under used and should replace in large part the global memory slots (gmem/grecall).  You can label the sliders, making it easier to remember what's going on. And instead of typing the same midi.control.XYZ or other input formula, it's a good idea to use a global slider as an indirection. This way, you change the slider and all formulas using it are updated. In other words, you put the midi.control.XYZ in the global slider and then use the slider function in your formula. This also makes it easy to switch to another input.


I did consider using the global sliders to abstract from the MIDI channel details. My concern was that there were "only" 64! I'm using about 40 CCs at the moment and will go above 64 fairly soon. In a lot of cases I'm simply setting the CC to value 127 and using it to directly drive an energy source. I could be much more efficient in my use of them by using a single CC to enable presets that are on/off and the values within that CC to then switch the energy sources. That was additional complexity that I didn't want just yet...

Isaac, an Excel based import/export filter would be ideal for mass manipulating the project file.

Mathieu

unread,
Mar 14, 2018, 5:42:50 PM3/14/18
to Lightjams
I can add more sliders. What about 99? 

o865324

unread,
Mar 14, 2018, 5:54:37 PM3/14/18
to Lightjams
512 would be nice!

Does there need to be a limit?

Could we configure the max number we wanted?

Are they "expensive" in terms of resource usage?

I'd love to be able place sliders (with names and comments!) on the grid for flexibility, that way, I could have some preset specific ones on a grid.

I'd then create a "global" grid and put some more on there.

That would be much less unwieldy for me than having a horizontal bank of 99 sliders.

I do appreciate that talk is cheap, and that this stuff is difficult.

Mathieu

unread,
Mar 14, 2018, 6:09:58 PM3/14/18
to Lightjams
Well, I'm not sure adding 512 sliders is doing you any favor. You'll drowned in complexity and have a hard time finding things. If you want to use about all MIDI controls, then it may be the wrong approach. 

It may be better to configure one source with the shader mode to use all MIDI controls. Or at least, use many sources with the same formula but by using the source x and y position, linking each source to a different MIDI control. This way, to update, you select all source and change the formula for all sources at once.

o865324

unread,
Mar 15, 2018, 6:36:41 PM3/15/18
to Lightjams
>Well, I'm not sure adding 512 sliders is doing you any favor. You'll drowned in complexity and have a hard time finding things.

I agree! 512 faders in a flat layout would not be usable.

 
It may be better to configure one source with the shader mode to use all MIDI controls. Or at least, use many sources with the same formula but by using the source x and y position, linking each source to a different MIDI control. This way, to update, you select all source and change the formula for all sources at once.
I don't think I fully understand this yet, I'll experiment on it. Do you have an example you can share? Thanks!

Mathieu

unread,
Mar 15, 2018, 6:57:05 PM3/15/18
to Lightjams
Here's an example to map the 512 values coming from OSC using only one source: https://www.lightjams.com/projects/OSC2DMX2.ljp

o865324

unread,
Mar 17, 2018, 6:11:27 AM3/17/18
to Lightjams
Coming back to this. Is there a way to do nice colour transitions without manually creating large numbers of gradients?

At the moment I have 2 grids which I flip flop between by. I select the 2 hues on those grids via MIDI as part of the song we're playing at the time. I give myself 10 colours to choose from for each hue. The colours are red,green,blue,cyan,magenta,yellow,orange, violet,white,black.

I also bring these MIDI selected colours into any other effects grids I create.

The flip flop transition from red to green goes via yellow. I guess this is around the colour wheel. Mathieu's example project shows creating gradients between each colour to go through the wheel. I'd need 100 gradients to cover the combinations. Is there any other way of doing it?

thanks!



On Friday, 9 March 2018 11:54:45 UTC, Mathieu wrote:
It fades to black because the presets grids have intensity attributes. You could put the intensity and saturation attributes on other grids to avoid fading the intensity attributes at the same time as the hue.

Alternatively, as shown in the attached project file, is to use the color palette. It makes it easy to do color transition without needing multiple grids. I've linked all hue/saturation/intensity attributes to the 1st color palette item. You can edit it by going in the view/color palette menu.

sightsoundcookeville .

unread,
Mar 17, 2018, 8:32:22 AM3/17/18
to ligh...@googlegroups.com
You're trying to program everything directly. With Lightjams the beauty is creating a randomizer that picks a random color rather than making a button for every color. Then there's no button, and you get all of the colors from one thing.

Unless you're about to tell me that you have a specific plan for all of those colors. I bet you're planning to use them kind of randomly. 

--
You received this message because you are subscribed to the Google Groups "Lightjams" group.
To unsubscribe from this group and stop receiving emails from it, send an email to lightjams+unsubscribe@googlegroups.com.
To post to this group, send email to ligh...@googlegroups.com.
Visit this group at https://groups.google.com/group/lightjams.
For more options, visit https://groups.google.com/d/optout.

o865324

unread,
Mar 17, 2018, 9:10:50 AM3/17/18
to Lightjams
You're right. This may be a lightbulb moment. Thank you.

I have transferred what I was doing before, over to LightJams, and it has become very complicated in the process. Perhaps I'm making too much work for myself.

Right now, I have each song split up into its verses and choruses and for each section I pick what I want the lights to do from the following menu items in my VST host:-

For the Fixed lights
  1. Colour 1 eg. Yellow
  2. Colour 2 eg. Magenta
  3. Colour distribution and movement - eg. Guitar Solo using colour 1, rest of band colour 2, Flip Flop between colour 1 and 2, Strobe using colour 1, Solid colour on all lights
  4. Colour change frequency - eg 1 beat, 2 beats, 1 bar, 4 bars.

For the Movers

  1. Reuse colour 1 and 2 from above
  2. Reuse colour change frequency from above
  3. Patterns - all lights the same colour, colour change every 4 lights, colour change every 2 lights, colour change every 1 light
  4. Pan position - front/back, Left 45deg, Right 45 deg etc.
  5. Tilt position - up/down, 45deg, etc.
  6. Movement speed - Slow , med, fast
  7. Other effects


So that is a lot of parameters per part of song. That is a lot of hard work! I think I need some help to rethink this.


In reality, I don't mind what colours are actually used, although should I specify whether a song should use brighter colours or darker colours?

I also don't mind what the movers are actually doing, as long as I can get some variations, and also "ratchet up" the movement and excitement over the setlist, and towards the ends of songs. This applies to the fixed lights also.

Be able to do something to highlight song stops, stabs and climaxes, eg. strobes, kicks, using the movers as blinders etc. Right now, If the song stops for a few beats I typically either set the lights to a solid colour until we continue, or do a 1 second fade from colour 1 to a dim colour 2.


I could go to random colours, and let LightJams do its thing for the flipflop. Maybe I should just set the speed?

I have not yet tried feeding audio into Lightjams, but I can send any or all the channels to it - vocals, kick drum, snare, bass, keys, guitar.


Not quite sure where I should draw the line yet between telling LightJams what I want via MIDI, and letting it do its job!

To unsubscribe from this group and stop receiving emails from it, send an email to lightjams+...@googlegroups.com.

sightsoundcookeville .

unread,
Mar 17, 2018, 9:16:13 AM3/17/18
to ligh...@googlegroups.com
You haven't plugged in audio yet? No wonder you're building that monstrosity.

Specific stuff can be tricky, shooting rainbows out of your guitar takes 5 minutes. Create stuff that responds to the band directly.

To unsubscribe from this group and stop receiving emails from it, send an email to lightjams+unsubscribe@googlegroups.com.

o865324

unread,
Mar 26, 2018, 4:58:57 AM3/26/18
to Lightjams
I've reworked everything using the global sliders to abstract the MIDI messages, using Lightjams to control the transitions by sending it the kick drum audio, All working fine.  Thanks.

o865324

unread,
Apr 6, 2018, 4:10:56 PM4/6/18
to Lightjams
On Thursday, 8 March 2018 12:41:44 UTC, Mathieu wrote:
You can move a source at each music beat. The onBeat function has a parameter to specify to fire every N beats. When using with the cleaned beats, the formula to fire each 8 beats is:

onbeat(trigger(music.1.beat,0.1,10,30,0.2), 8)


Hi Mathieu, I am using something like this formula on a slider which drives all my Flip/Flop effects every 8 beats.

toggle(onbeat(trigger(music.1.low.beat, 0.07, 10, 15, 0.15),8,0))

This works fine. However, sometimes I need to nudge it or reset it and tell it that beat 1  is "now" from my midi foot pedal.

Is there a way of doing that please?

Igor Roberti Foc

unread,
Apr 6, 2018, 6:30:38 PM4/6/18
to Lightjams
I did, when there is no beat for x second it restart to 1. After is sync for the sound.
Here
https://groups.google.com/forum/m/#!category-topic/lightjams/yfhJYB8pzl8

Mathieu

unread,
Apr 6, 2018, 7:18:20 PM4/6/18
to Lightjams
Might be simpler to use a counter:

counter(1,16, ... ,0, grid.onactivated)>8

And you replace the ... by the music beat like this:

counter(1,16, onbeat(trigger(music.1.low.beat, 0.07, 10, 15, 0.15)),0, grid.onactivated)>8

Also, replace the grid.onactivated by the input you want to use to reset.

jur1...@gmail.com

unread,
Apr 7, 2018, 5:45:59 AM4/7/18
to Lightjams
What a fun to work with this programm!


Mathieu you are my god of light !!!

o865324

unread,
Apr 7, 2018, 5:56:28 AM4/7/18
to Lightjams

Thank you - that works. Testing it out, I'd actually like to toggle the output as well when I press the reset input, but can't quite work it out.

So, output to flipflop between 0% and 100% every 8 beats. When reset is pressed, then that indicates beat 1, and also toggles the ouput.

Mathieu

unread,
Apr 7, 2018, 8:24:19 AM4/7/18
to ligh...@googlegroups.com
A bit tricky... Maybe it would be easier to split the logic by using two sources, but this formula may do the job:

counter(1,16, onbeat(osc(0)),0, onbeat(osc(1)))>8 | counter(0,1,onbeat(osc(1)),0, onbeat(osc(0)))

Replace osc(0) by the input to increase the beat counter and osc(1) by the input to reset.

The remaining problem is that when the first counter is over 8, you need to press the reset twice to get a 0% output. 

o865324

unread,
Apr 7, 2018, 1:36:25 PM4/7/18
to Lightjams
Thanks Mathieu - Not sure if it helps, but I don't mind whether the reset value goes to 0 or 100 as long as it toggles from whatever it is at the moment. This formula is going on a slider.

What about setting the the counter "to" value dynamically when the reset button is pressed. Either to 1 or 9 perhaps, depending on current counter value?

Mathieu

unread,
Apr 7, 2018, 2:31:49 PM4/7/18
to Lightjams
This formula looks ok:

switch(counter(1,16, onbeat(osc(0)),0, onbeat(osc(1)))>8, 100,100-latch(onbeat(osc(1),0), !last), 0,latch(onbeat(osc(1)), !last))

Please create a new topic if you need further help as it's becoming hard to follow this conversation.
Reply all
Reply to author
Forward
0 new messages