brunchboy on master
Can't keep file in phrase, #119… Fix phrae row visibilty, #119 [… Improve filtering of tracks/phr… and 4 more (compare)
brunchboy on master
Working on phrase trigger imple… (compare)
brunchboy on master
Improve wording of phrase trigg… Handle players 5 and 6 for show… Start documenting and creating … (compare)
brunchboy on master
Update dependencies to support … Change chat links from Gitter t… Add track phrase trigger lockou… (compare)
brunchboy on master
Sketch out phrase trigger cues … (compare)
brunchboy on master
Add links to picker window sket… (compare)
brunchboy on master
Sketching phrase trigger UI [sk… (compare)
brunchboy on master
Start draft of phrase triggers … (compare)
brunchboy on master
Updating user guide for linked … Updating user guide for linked … Updating user guide for linked … and 1 more (compare)
brunchboy on master
Only calculate scroll position … (compare)
org.deepsymmetry.beat_link_trigger
(yes, just confirmed that).
Standard NI being a pain!
Yeah not sure i'd use that Binary, I have other ways of sending MIDI clock and it's just nowhere near as good, as you say, as link.
It's only really traktor I use as I bought it many moons ago. I'll have a dive into some other DVS.
Might be a silly question, but would Rekordbox DJ/DVS work with BLT? The Rekordbox information won't be coming from a CDJ, but from the Rekordbox App on the Mac (I guess what i'm asking is if it's routable, somehow)
Afterglow looks interesting and a potential solution so I'll dig into it, and as it's to do with lighting might be super helpful for what we're doing.
If it's of any interest to you/others, this whole project is to gain (pretty much just) timing information from the CJDs/Turntables from Traktor/DVS system, send out (synced) CV information from Live and (synced) video from Resolume, to modular video eurorack system, final output to a projector and a TV wall. Currently, using BLT as it was meant to be used is perfect (albeit only using it for bpm information at the moment) so big thanks! Hopefully further down the line we'll look at using more of the triggers/BLT system to create something almost entirely automated
@nmaddix Don't know if this helps... but what I've done to communicate with Lightjams! is the following:
In Lightjams!:
Enabled OSC
Set the port and network adapter
Created a mapping /magic/0 this is mapped to "channel 0" in lightjams
Also I've mapped OSC channel 0 to a function inside Lightjams to do a step in a chase (turning lights on/off)
In BLT:
Main Screen:
Triggers -> Global Setup Expression:
(swap! globals assoc :lightjams (osc/osc-client "x.x.x.x" port))
Triggers -> Global Shutdown Expression:
(osc/osc-close (:lightjams @globals))
To send a command per beat to Lightjam, in BLT:
Triggers -> New Trigger
On that new trigger:
Edit Beat Expression:
(when (#{1 3} beat-within-bar)
(osc/osc-send (:lightjams @globals) "/magic/0" 1)
(Thread/sleep 40)
(osc/osc-send (:lightjams @globals) "/magic/0" 0))
Note: With lightjams it's a bit easier, as I don't have to dive into the documentation of a vendor to figure out how OSC needs to be called to execute what function. That's what got us with a "hardware" DMX table like the Hog4.
Note 2: Yes, there is a sleep in there, otherwise the OSC commands follow too quickly and Lightjams doesn't register the 1, so it'll do nothing. It depends on the destination if suchs things are needed
Note 3: The code could be way more clean, but it's what I could do :')
(future …)
because otherwise they tie up the thread that is processing expressions, and can delay other things that need to happen, as I discuss in this section: https://blt-guide.deepsymmetry.org/beat-link-trigger/0.6.2/expressions#with-great-power-comes-great-responsibility
I was thinking @brunchboy could you in a few simple examples try and explain how I would be able to activate/de-active different Beat Expressions based on triggers from the show interface?
I'm trying to wrap my head around how I'm going to created/trigger "normal chases" and also deactivate them when done with a certain part of a track.
Second thing I'm trying to think of if it would sense to define some global OSC commands in a :Thing making it able to switch to a different chase/color. Since it seems Lightjams works with OSC value's and remember those values when you don't send a 0 to disable them.
I'm even thinking (but correct me when I'm wrong) it would be even better to define global Expressions/Triggers or something that I call from the show interface. For example:
Where would I define OSCColorRed, OSCColorBlue and then define what OSC commands should be send to do that in there. In that case my current believe is that I can just do a search/replace in 1 place for those OSC commands if I were to switch between Lightjams and the Hog, or anything else.