sparklemotion
sparklemotion copied to clipboard
First pass at implementing TrackData that holds info about the currently playing track.
Hacked this up with David and Aravindo - don't merge yet
Still todo: pass this into GLSL land via a plugin (we're not sure how that arcanna works yet)
@aphexcx take a look at what @SiriusZael has done in the MIDI pull request. The linked lines are how you can pass the struct to GLSL.
Additionally looking at your code, you won't be able to pass variable-sized arrays to GLSL. You could make it a size-8 array of float timestamp values, since almost all DJs only use cue points A-H.
Would also be really great if you could include fader + crossfader values if possible!
Do we want track data in glsl? Wouldn't it more useful in the client?
What'd really be extry cool IMO is waveform data, so you could see what's coming up in the client. Sync stuff looks tricky though.
If you're hoping to render text, I've got a thing in progress here. Right now it's super janky because kgl doesn't properly support uniform int arrays, pending bugfix PR merge. :-)
How should we represent musical keys? We're looking at this and the key of the track received from rekordbox is a string, which GLSL doesn't support. We could convert it to an integer (maybe as the camelot wheel representation https://mixedinkey.com/camelot-wheel/ ) or maybe we have a better idea?