Page 1 of 1

Storing real-time automation data

Posted: 26 Jan 2013 20:05
by hodok
Is it technically possible to record movements of controllers for a long period and when recall it, with only Lemur's inner scripting? Could it be it's impossible due to limitations of values storing?

Re: Storing real-time automation data

Posted: 26 Jan 2013 22:02
by Phil999
I think the answer is yes, it's not possible.

Theoretically no, one could store many many values, interpolate the recalled values, . . . too complicated. I think we'd need a completely new object, for storage alone.

I wouldn't say no to such a storage/automation object, but I'm not sure if Liine is planning something like that in the near future. I mean, we can create automation data Inside a DAW very easily with Lemur, and maybe it's the better way do do this.

I'm already happy with simpler modulations that we can apply to any thinkable parameter, with LFO, envelope, and predefined values. Automation seems to me already too much. I see apps that have it, and maybe there is one we could use as MIDI/OSC output. If someone knows of such an app, please post the link.

Re: Storing real-time automation data

Posted: 27 Jan 2013 03:38
by hodok
Well, if we will use external software to store automation data, when any DSP programming environment(Max/MSP, PD, SC, Reaktor) will do the trick. I only concerned about possible network channel overload and lag, if such massive data amount will be travelling in both ways, since we can transfer OSC data only through wifi which is not too fast and responsive.

Re: Storing real-time automation data

Posted: 27 Jan 2013 20:33
by brianc
hodok wrote:Is it technically possible to record movements of controllers for a long period and when recall it, with only Lemur's inner scripting? Could it be it's impossible due to limitations of values storing?
You could store values over time in a vector, but those are limited to 256 values. You could get around that by creating a custom object that contains several vectors and has functions that allow you to treat them as a single, large vector. So if you had 2 vectors of size 256, you could do something like MyObject.get(314), which would return the 58th value of the second vector, for example. I've done this, and it works pretty well.