Sources ID, Programmable Wave Direction, expanding the record function, etc

48 views
Skip to first unread message

clava aski

unread,
Jul 24, 2019, 12:05:11 AM7/24/19
to Lightjams
Hey! 
A few thoughts have come to me while programming during the last days:

ID's for sources. Right now there's for example source_x, but what about MySource_x? Maybe even MySource_power, MySource_Range etc. If their ID's would be global, or if it would be a choice to make them global or local it would be sweet.  I'm not sure if it would open new possibilities as much as it would help clean up a bit. At the moment I'm using mems, gmems, global sliders and attributes for the global sliders (which are all really nice functions!), and it tends to get messy after a while e.g. "what number was that gmem... or wait, did I put it as a slider, where do I activate that slider?". It could also be used within the source to have a "this" expression. Also, visually sources can be difficult to separate (even with the colour ring), so maybe the ID could also be visible on the grid next to the source or so. Not sure if this is actually a good idea, or a terrible one...?

Programmable Wave Shape and Direction. I have not found a way to do this and I believe it would help expand what is possible to do with fewer sources. Not sure how it would work with range/length/thickness, and range shape and wave speed would be nice to be able to program as well.

Infinite grids, meaning a source's power which reaches grid.lastx would continue from x==0. Like Neo.

Lastly, what I would think is a very personal one; I'm trying to implement the record function at the moment. What I'm really missing and hoping for is "Play", "Stop-and-erase", and "Pause", and a simple way to have it play back at the same speed I'm recording.  I'm not sure if it records one track or several, meaning if it's possible to playback several different record functions simultaneously? If it's not possible then this is something I would really wish for in the future! I do artinstallations with lights in house/techno etc parties and improvise all the lights during the night, so the record function would be really neat to use.
Now I've written so much that I'm almost afraid to ask, but I've been trying to record an 8 beat loop by using a trigger(midi.note.latest.. with a time or delay of 8 beats, hoping to be able to start the recording by pressing any of the buttons I wish to record. I've not really managed, the closest I get still gives me a delay of one beat for some reason. Any ideas how to do that?

Sorry for the long post, and thank you for your awesome work Mathieu!




Mathieu

unread,
Jul 24, 2019, 8:58:41 AM7/24/19
to Lightjams
Thanks for the feedback! If you could show what you're trying to achieve with many sources and what the problem is, maybe I could point you in the right direction, or at least better understand the limitation.

For the record function, maybe the recordOnChange function would help you. I've used it in this project sample I think: https://groups.google.com/d/msg/lightjams/IcL9KfhXuEs/GA4tFpRJBgAJ

clava aski

unread,
Jul 24, 2019, 2:13:15 PM7/24/19
to Lightjams
Thank you, I'll have a look at your project. I thought the recordOnChange function only recorded new values in some way though, basically it won't record the same button pressed twice in a row?

The three first ideas (and again sorry for the long post, I may or may not have been a bit under the influence :P ) are from a former version of the project, I have found other ways of working now. Source ID's came when I wanted to keep three sources on the same grid, moving around but two of them always keeping a minimum distance from the third (which I guess would be possible with mems). That, and spending too much time searching for old gmems... even though I try to keep notes. 

To have Wave Shape and Direction as programmable functions is something I've wanted for many different things, mainly to be able to work with fewer grids and fewer sources. For example, I always keep my lights in three groups (blinders/strobe/special effects not included). With programmable Wave Shape and Direction I can easily put these on one grid with just one source and be able to select either one, either two, or all three groups. And I can put the intensity attributes straight there instead of just activating other grids, as I have a greater possibility of choosing which direction to select them from. 

"Infinite" grids would also help with selection/group selection, as well as making it easier to create nice looping effects. Say we have a pixelbar and want to make our source run along it in a loop. We give the source some range so the pixels fade in nicely and make it run with a counter. With an "infinite" grid, when the source's range starts touching the right side of the grid it comes out on the left so the loop continues with one smooth motion, when the source resets its power is already there. 

I never try to make something with many sources, I'm a minimalist by heart :P Here's what I'm working on at the moment, if you wanna have a look anyways. It is the system I will use for the next upcoming clubs I'm working on. Three grids, with three sources on each. The lights/attributes will be placed in three groups corresponding to the sources. I still need to clean up the code+sliders+gmems, find a way to add a button to reset a whole bunch of encoders and add the record function.
Midifightersnew.ljp

Mathieu

unread,
Jul 24, 2019, 3:56:37 PM7/24/19
to Lightjams
The recordOnChange function only records changing values. I guess in your case you need to use the record function. If the grid speed and master speed is at 1x, the record function play back at the speed it's been recorded. For the pause, you can set the grid's speed to 0. For the stop, you can deactivate the grid. However, keep in mind that the recorded values aren't saved into the project file.

>> To have Wave Shape and Direction as programmable functions is something I've wanted for many different things, mainly to be able to work with fewer grids and fewer sources.

I understand. At the moment, you can duplicate your grid with the master option and use a different source configuration on each grid. This way you can also do a nice transition when switching the direction or other source parameters. 

>> "Infinite" grids would also help with selection/group selection,

Do you mean something to make it easier to select all sources/attributes on one row or column? At the moment, you can click on the border of a grid (when not scrolled in the middle) to select an entire row or column.

To more easily create looping effects, I agree that the infinite grid would be interesting. I'll do some experiments :)

clava aski

unread,
Jul 25, 2019, 7:05:02 AM7/25/19
to Lightjams
>>Do you mean something to make it easier to select all sources/attributes on one row or column? At the moment, you can click on the border of a grid (when not scrolled in the middle) to select an entire row or column.

Was referring to the same issue of having three ledbars or groups of lights and being able to use one source to light either one, either two or all three

>>I understand. At the moment, you can duplicate your grid with the master option and use a different source configuration on each grid. This way you can also do a nice transition when switching the direction or other source parameters.

Absolutely, it's just a matter of wanting to minimize the amount of grids etc. The Wave Angle is also useful in this case, but it feels like it kinda reaches halfway. 

Mathieu

unread,
Jul 25, 2019, 8:54:44 AM7/25/19
to ligh...@googlegroups.com
For the infinite grid, it's not playing very well with the source direction and it's a bit confusing when used with all other source options. 

With the example of wanting to generate a looping effect, a simple way is to move the source instead of wanting to loop the power. So you link the source'x slider to a sawtooth. The limitation is that the trail can only be created with a grid fade out, which doesn't allow to loop a solid square or other filled shape.

clava aski

unread,
Nov 4, 2019, 7:32:29 PM11/4/19
to Lightjams
How about the possibility to create a frame within a grid which contains and can loop the power from any source currently inside it?

Mathieu

unread,
Nov 5, 2019, 8:41:21 AM11/5/19
to Lightjams
Thanks. I'll keep that in mind.
Reply all
Reply to author
Forward
0 new messages