Send Controller Snapshot?
-
- Newbie
- Posts: 18
- Joined: 08 Dec 2011 12:30
Send Controller Snapshot?
Hi
Loving the Lemur iPad app - what a great piece of design.
I wondered if I could ask something. Is there any way to send a snapshot of all the controller positions on a given page, using one button? ie. - say you're controlling multiple parameters on a synth or mix, you tweak the filter settings, pan, resonance etc. using Lemur until you have the exact settings you want. Is there some way to then transmit those final settings using a single button or command?
Thanks in advance for any tips or suggestions.
Jules
Loving the Lemur iPad app - what a great piece of design.
I wondered if I could ask something. Is there any way to send a snapshot of all the controller positions on a given page, using one button? ie. - say you're controlling multiple parameters on a synth or mix, you tweak the filter settings, pan, resonance etc. using Lemur until you have the exact settings you want. Is there some way to then transmit those final settings using a single button or command?
Thanks in advance for any tips or suggestions.
Jules
-
- Newbie
- Posts: 18
- Joined: 08 Dec 2011 12:30
Re: Send Controller Snapshot?
.... I'm guessing that means it can't be done or is difficult.
Seems surprising given how powerful this software is. Doesn anyone know which part of the manual I should perhaps be looking at to try and find this kind of functionality?
Thanks again.
Jules
Seems surprising given how powerful this software is. Doesn anyone know which part of the manual I should perhaps be looking at to try and find this kind of functionality?
Thanks again.
Jules
Re: Send Controller Snapshot?
I am quite new to the Lemur as you are.Trailerman wrote:.... I'm guessing that means it can't be done or is difficult.
Seems surprising given how powerful this software is. Doesn anyone know which part of the manual I should perhaps be looking at to try and find this kind of functionality?
Thanks again.
Jules
I think everything is possible with it but few things are easy to implement, at at first till we get the grip.
Here is what you are looking for:
http://www.jazzmutant.com/workshop_tuto ... id=storing
-
- Newbie
- Posts: 18
- Joined: 08 Dec 2011 12:30
Re: Send Controller Snapshot?
Thanks so much Kraftf - that looks like exactly what I need.
I'm not much of a programmer, but I'll see if I can get my head around the scripting language and have a go at putting something together which will do the trick. It looks like I only need part of that procedure (I only need to 'transmit' the data, not save and restore presets) so hopefully it'll be a little more straight forward than implementing the whole tutorial.
Thanks again for your help.
Jules
http://www.trailermen.com
I'm not much of a programmer, but I'll see if I can get my head around the scripting language and have a go at putting something together which will do the trick. It looks like I only need part of that procedure (I only need to 'transmit' the data, not save and restore presets) so hopefully it'll be a little more straight forward than implementing the whole tutorial.
Thanks again for your help.
Jules
http://www.trailermen.com
Re: Send Controller Snapshot?
I think that you can do that by using getfirst(obj) then creating a loop and use getnext(obj).
Didn't try it but it should be something like that:
decl obj = getfirst(myinterface);
while(obj != 0)
{
setexpression(obj, 'x', getexpression(obj, 'x'));
obj = getnext(obj);
}
It seems that setting x to it's value will automatically trigger a midi out message and seems to work with vectors as well (multi sliders, pads, ...).
Didn't try it but it should be something like that:
decl obj = getfirst(myinterface);
while(obj != 0)
{
setexpression(obj, 'x', getexpression(obj, 'x'));
obj = getnext(obj);
}
It seems that setting x to it's value will automatically trigger a midi out message and seems to work with vectors as well (multi sliders, pads, ...).
-
- Newbie
- Posts: 18
- Joined: 08 Dec 2011 12:30
Re: Send Controller Snapshot?
Thanks mbncp - that's extremely helpful.
I'm going to give that a go today. Will that script just get data from the objects on the current page?
Thanks again
Jules
I'm going to give that a go today. Will that script just get data from the objects on the current page?
Thanks again
Jules
Re: Send Controller Snapshot?
hmmm... it's a bit weird here, as I can't call
getfirst(myinterface);
neither can I call
getfirst(Project);
findobject 'Project' or 'myinterface' doesn't work either.
But ...
decl obj;
obj = findobject('MultiSlider'); // multislider is an object on my second interface(page), but can be any object, anywhere (..?)
obj = getparent(obj); // this is funny as it seems to return the project , not the the page/interface
//obj = getparent(obj); // removed that as the project has no parent
Monitor.value = obj; // shows the project obj as pointer
obj = getfirst(obj);
while(obj != 0)
{
setexpression(obj, 'x', getexpression(obj, 'x'));
obj = getnext(obj);
Monitor2.value = Monitor2.value +1; // used to see how many obj it finds and it seems to return all object in the project
}
This will actually go thru all object in all pages.
IMO there is some bug here as obj in getfirst(obj) can be a template (project), interface(page) or a container object, if I read the doc correctly.
getfirst(myinterface);
neither can I call
getfirst(Project);
findobject 'Project' or 'myinterface' doesn't work either.
But ...
decl obj;
obj = findobject('MultiSlider'); // multislider is an object on my second interface(page), but can be any object, anywhere (..?)
obj = getparent(obj); // this is funny as it seems to return the project , not the the page/interface
//obj = getparent(obj); // removed that as the project has no parent
Monitor.value = obj; // shows the project obj as pointer
obj = getfirst(obj);
while(obj != 0)
{
setexpression(obj, 'x', getexpression(obj, 'x'));
obj = getnext(obj);
Monitor2.value = Monitor2.value +1; // used to see how many obj it finds and it seems to return all object in the project
}
This will actually go thru all object in all pages.
IMO there is some bug here as obj in getfirst(obj) can be a template (project), interface(page) or a container object, if I read the doc correctly.
-
- Newbie
- Posts: 18
- Joined: 08 Dec 2011 12:30
Re: Send Controller Snapshot?
I'm glad you're figuring this stuff out, because I wouldn't know where to start - thank you so much!!
It sounmds like there are some quirks in the language which might put this beyond my capabilities. Once it's working, presumably the complete script can be assigned to any kind of button on the page. I just need to figure out how to limit it to the sliders on only the page in question.
Thanks again. As soon as I get the iPad back from my son, I'll give this a proper look.
Jules
EDIT: Looks like there are a few issues being reported elsewhere, especially under General Discussion. Hopefully the dev's are aware of the problems and will get things fixed ASAP.
It sounmds like there are some quirks in the language which might put this beyond my capabilities. Once it's working, presumably the complete script can be assigned to any kind of button on the page. I just need to figure out how to limit it to the sliders on only the page in question.
Thanks again. As soon as I get the iPad back from my son, I'll give this a proper look.
Jules
EDIT: Looks like there are a few issues being reported elsewhere, especially under General Discussion. Hopefully the dev's are aware of the problems and will get things fixed ASAP.
Re: Send Controller Snapshot?
Don't know why but I had in mind that you needed this for 200 controls, but if you just have a limited amount of controls this is easier to deal with:
Create a custom button control and add it this script, On Expression x then select the arrow up symbol (trigger when going from 0 to else).
decl obj, n, c, a;
a = {'mymultiline1', 'mymultiline2', 'myfader1' }; // add as many controls you have/need, watch the spelling
c = sizeof(a);
for (n = 0; n < c; n++)
{
obj = a[n];
setexpression(obj, 'x', getexpression(obj, 'x')); // force control to re-send midi out
}
You can then just make copies for each page, but make sure to set the correct names.
Create a custom button control and add it this script, On Expression x then select the arrow up symbol (trigger when going from 0 to else).
decl obj, n, c, a;
a = {'mymultiline1', 'mymultiline2', 'myfader1' }; // add as many controls you have/need, watch the spelling
c = sizeof(a);
for (n = 0; n < c; n++)
{
obj = a[n];
setexpression(obj, 'x', getexpression(obj, 'x')); // force control to re-send midi out
}
You can then just make copies for each page, but make sure to set the correct names.
Re: Send Controller Snapshot?
Why do you say this?Is there a limitation with the amount of controls that can be handled in a snapshot variable. Is 256 the maximum size of an array that can be handled or something else?mbncp wrote:Don't know why but I had in mind that you needed this for 200 controls, but if you just have a limited amount of controls this is easier to deal with: