LJ Music Player

156 views
Skip to first unread message

Jack

unread,
Dec 29, 2014, 4:02:52 AM12/29/14
to ligh...@googlegroups.com
hahaaaa!!!  The LJ music player is working !

It doesn't seem possible to adjust the volume control in the LJ configuration of the LJ Music Player. ("screenshot volume LJ MP.png")

I'm wondering what the advantages of this player are.

volume LJ MP.png

Mathieu

unread,
Dec 29, 2014, 10:09:49 AM12/29/14
to ligh...@googlegroups.com
No volume adjustment needed since the raw music data is used for the analysis. That's one advantage :) 

Other advantages are:

- No delay at all. The music is analyzed a few seconds before playing, so the music info is sent to Lightjams at the same moment it is sent to the audio driver for playback.
- 2x more precise music spectrum. Since the music can be pre-analyzed instead of post-analyzed like in the case of live music, more music samples are used to do the analysis.
- Plug and play. Just start the music player and Lightjams will see it. No need to change any computer settings and use music loopback...
- More info about what's playing is accessible to Lightjams. You can now use the current playlist id, song id, playback time, BPM and more. Look for the new formulas in music.player.XYZ
- Control the music player from Lightjams. You can start the music, select a song, change the volume... This way, you can completely control the music and light from Lightjams.

The music player also does music buffering to be suitable for professional shows, where the playback need to be as smooth as possible, without little interruptions.

Jack

unread,
Dec 29, 2014, 5:10:46 PM12/29/14
to ligh...@googlegroups.com
Wonderful. Can the player be controlled from LightJams ?

I see it's possible to detect that the player is playing, but can a LightJams control, like "Pause" the player ?

Mathieu

unread,
Dec 29, 2014, 7:11:26 PM12/29/14
to ligh...@googlegroups.com
Sure.

You can start the playback by selecting a song with music.player.song(songIndex). 0 is the first song.

When sending commands, use it with the if function to avoid always sending the same command to the music player. For example,

if(grid.onactivated, music.player.song(5),0)

to select the song 5 when the grid is activated.

When using an external trigger like a midi keyboard, use the onbeat function:

if(onbeat(midi.note(1,20)), music.player.song(5),0)

To pause, use the music.player.playing(0) function.


Jack

unread,
Dec 30, 2014, 3:27:03 AM12/30/14
to ligh...@googlegroups.com
Can the player be launched from within LightJams ?  and does it have drm capability? .. hopefully not !!

Message has been deleted

Jack

unread,
Dec 30, 2014, 3:46:07 AM12/30/14
to ligh...@googlegroups.com
Other recipients:
The music player gets lots. I have about 12 grids while playing with LightJams. A few control grids. So, I tried to start a song from a source on some grid. The song started alright,...  but I forgot which source and attribute I selected. It must be
The music player gets lost. I have about 12 grids while playing with LightJams. A few control grids. So, I tried to start a song from a source on some grid.
The song started alright,...  but I forgot which source and attribute I selected. It must be on an activated grid, but there are more. And can I start two music players at the same time? haha. I like the LightJams music player.

Mathieu

unread,
Dec 30, 2014, 5:16:51 AM12/30/14
to ligh...@googlegroups.com
Can't launch the music player app from Lightjams. No DRM :)

Mathieu

unread,
Dec 30, 2014, 5:18:25 AM12/30/14
to ligh...@googlegroups.com
I'm not sure to understand everything in this post ;) Right now, there's nothing blocking launching two music players but this doesn't make sense... I'll add a check to avoid that.

Jack

unread,
Jan 2, 2015, 6:02:19 AM1/2/15
to ligh...@googlegroups.com
I want to activate scenes based on the time elapsed..

This function seems to work, but tends to get pretty long formula. Is there a better/shorter way to do this?

selectcondition(music.player.time<40,ytopercent(7), music.player.time<50, ytopercent(1), music.player.time<70,ytopercent(6))

scene selection.png

Mathieu

unread,
Jan 3, 2015, 12:07:56 PM1/3/15
to ligh...@googlegroups.com
You can create a sequencer grid and use this formula for the source's x slider:

xtopercent(music.player.time)

Each column corresponds to 1 second.

Jack

unread,
Jan 3, 2015, 12:34:15 PM1/3/15
to ligh...@googlegroups.com
That is a good idea.. it will make a big grid, but the effect activition can be very precise that way.
And is still very flexible.

I have made a video of a song..  Coldplay - Yellow. Using the formula selectcondition(..)

The song is about a man (blue) that expresses his feelings (yellow) for a woman (red) through the use of the color of the stars.


With exactly the same setup I ran it on another song.. Abba - I Am Just A Girl.


And it already kind of works. The better and independent the effects, the easier to compose lighting on songs.

I like the player used by LightJams.
No more volume control problems, relevant song info available and usable within LightJams.

Jack

unread,
Jan 4, 2015, 8:19:55 AM1/4/15
to ligh...@googlegroups.com
When the x slider reaches a grid.activation attribute it activates the grid. One second later the grid is deactivated again.
It should stay active till another grid is activated.

A way to do it is to add sources before the activation attribute and use the grid.powerat( ) to detect if the next grid is actived.
When it is, the Power of the source is set to -100.

In my example the Power attribute of the source has the formula :  if(grid.powerat(12,12), -100, 0)

There must be a simpler way.
sequencer.png

Mathieu

unread,
Jan 5, 2015, 9:32:28 AM1/5/15
to ligh...@googlegroups.com
If I understand your question correctly, you can use the activation attribute as many times as necessary in order to keep it active. For example, if you want scene1 to be active for 5 seconds, you use the activation attribute 5 times (in 5 successive columns).
Reply all
Reply to author
Forward
0 new messages