sparklemotion icon indicating copy to clipboard operation
sparklemotion copied to clipboard

First pass at implementing TrackData that holds info about the currently playing track.

Open aphexcx opened this issue 1 year ago • 5 comments

Hacked this up with David and Aravindo - don't merge yet

aphexcx avatar Jun 30 '23 02:06 aphexcx

Still todo: pass this into GLSL land via a plugin (we're not sure how that arcanna works yet)

aphexcx avatar Jun 30 '23 02:06 aphexcx

@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!

bencbartlett avatar Jul 31 '23 22:07 bencbartlett

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.

xian avatar Aug 02 '23 08:08 xian

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. :-)

xian avatar Aug 02 '23 08:08 xian

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?

davidlinn avatar Aug 05 '23 21:08 davidlinn