Replace Time by BPM clock

Hi :slight_smile:
Is there a way in ISF to replace the uniform “Time” by a command who will use the clock in VDMX ?

I was looking for a command sheet with all the instruction something like this one :
https://www.vidvox.net/rays_oddsnends/ISF_v2.md
Any suggestion ?

Is there any forum around ISF instead of using the vidvox one ?

Thank you :slight_smile:
Z

Hey Z,

A few things…

The latest spec can be found here,
https://github.com/mrRay/ISF_Spec/
(and we are working on new reference pages for the ISF sharing site overhaul which is in development…)

As for the clock time, currently there isn’t a uniform for this, nor is there an easy way to pass in an absolute running (non-normalized) clock time from VDMX; your best bet is to use the various measure / beat time data-sources through a standard float input.

We’ll keep this in mind for the next version of the ISF spec; two initial details that come to mind would be…

  1. Though we designed ISF for VDMX, other apps now support it as a standard; This would add a burden of including a BPM based clock for host applications (for apps that didn’t have such a clock, we’d need to define some standard fallback behavior that hosts could implement)
  2. In VDMX you can have multiple clock plugins; which one should be used for this uniform? If we are going by the concept of multiple clocks being possible, perhaps this would be better off as a special type of float input that is declared in the JSON? Then VDMX could show a pop-up button that lists the possible clocks to sync to, like you’d get in the LFO / Step Sequencer / etc controls. Of course this goes back to the first point, not all apps have multiple clocks…

Yes the idea of a “Sync” command seems great !
As I am modifying an tesseract and creating my first shaders a lot of questions come to my mind ^^
And will work on some Float input to apply LFO and seq

Thank you for your answer

YHow about having a Automatic Uniform Variable Input for the VDMXBPM.

The solution I’ve been using in Vuo is to use their BPM to seconds. Which can be calculated:

bpmTime = 60 / VDMXBPM
bpmRatedTime = TIME / bpmTime

IE
bpmTime = 60 / 120
bpmTime = 0.5

bpmRatedTime = (60secs) / 0.5
bpmRatedTime = 120secs

So there would have be 120 cycles represented as float time of 120.0 secs
At 60secs elapsed TIME

And for using measures.

bpmRatedTime = TIME / (bpmTime * 4)

In this case there would be 30 cycles represented as float time of 30.0 seconds
At 60secs elapsed TIME.

You could also add in a rate slider and use that to to alter the bpmRatedTime even further.

2 Likes