General
Lemur 5
Started by Softcore on .
Sign in or create an account to join the conversation.
You guys made me cry from hapiness!

We also need to download a newer desktop editor I suppose?
Yes, download and run the Lemur Installer 5.0.1 from the Support section:
https://liine.net/en/support/lemur
Refresh the cache on your browser if you're still seeing version 4.1.2.
https://liine.net/en/support/lemur
Refresh the cache on your browser if you're still seeing version 4.1.2.
The cache was my problem!!!! thanks for this great update!
Oh my God....built-in swing?
Im fainting!
Im fainting!
So if our app is now broken under 5.0, do you have any suggestions for fixing it?
Quick summary of what it's mainly complaining about:
I had a variable operators = {OP7, OP6, OP5, OP4, OP3, OP2, OP1};
Where OP7, OP6, etc are the names of containers.
Then I had code that did things like this:
tmpOp = operators;
setexpression(tmpOp.Focus, 'x', 0);
I would use this technique to change the position of containers based on a menu selection (setobjectrect(tmpOp, coords);) and other manipulations of objects.
I also have vectors of coordinates based on different layouts and would select the coordinates by using a menu to get the Monitor object holding the vector I want, then subindexing into that vector. I can post more code examples, or you can take a look at my TX-802 editor that was actually nearing completion before the update happened.
This allowed very compact code - I could write a single generic routine and have it operate on all my containers with basically no code duplication.
None of that works now in 5.0
Any suggestions of acceptable ways to manipulate objects?
Quick summary of what it's mainly complaining about:
I had a variable operators = {OP7, OP6, OP5, OP4, OP3, OP2, OP1};
Where OP7, OP6, etc are the names of containers.
Then I had code that did things like this:
tmpOp = operators;
setexpression(tmpOp.Focus, 'x', 0);
I would use this technique to change the position of containers based on a menu selection (setobjectrect(tmpOp, coords);) and other manipulations of objects.
I also have vectors of coordinates based on different layouts and would select the coordinates by using a menu to get the Monitor object holding the vector I want, then subindexing into that vector. I can post more code examples, or you can take a look at my TX-802 editor that was actually nearing completion before the update happened.
This allowed very compact code - I could write a single generic routine and have it operate on all my containers with basically no code duplication.
None of that works now in 5.0
Any suggestions of acceptable ways to manipulate objects?
wow, I like the radial stuff made with the new Canvas object. Beautiful. Thank you very much Liine team for the update, this is huge.
Besides, the Windows editor crashes every time when I try to download templates with said radial stuff from the iPad. Will need to do this with iFunbox.
Edit: certain templates (with radial Canvas objects, but also other new templates) crash the Windows editor anyway, when downloading from the Lemur app or when loading from file. On a Mac everything is working fine. No crashes so far. My advice: get a Mac, or build a hackintosh when working with Lemur. It's worth it for several reasons.
Besides, the Windows editor crashes every time when I try to download templates with said radial stuff from the iPad. Will need to do this with iFunbox.
Edit: certain templates (with radial Canvas objects, but also other new templates) crash the Windows editor anyway, when downloading from the Lemur app or when loading from file. On a Mac everything is working fine. No crashes so far. My advice: get a Mac, or build a hackintosh when working with Lemur. It's worth it for several reasons.
Investigating this. No need to buy a new computer yet.Phil999 wrote:wow, I like the radial stuff made with the new Canvas object. Beautiful. Thank you very much Liine team for the update, this is huge.
Besides, the Windows editor crashes every time when I try to download templates with said radial stuff from the iPad. Will need to do this with iFunbox.
Edit: certain templates (with radial Canvas objects, but also other new templates) crash the Windows editor anyway, when downloading from the Lemur app or when loading from file. On a Mac everything is working fine. No crashes so far. My advice: get a Mac, or build a hackintosh when working with Lemur. It's worth it for several reasons.
sorry, I shouldn't have said that. Of course the Windows editor does work fine, I use it often without problem. It's just that the Mac editor works slightly better and is always stable.
No worries! Apologies for the crash that slipped through quality control over here at Liine HQ. Looking into that bug.Phil999 wrote:sorry, I shouldn't have said that. Of course the Windows editor does work fine, I use it often without problem. It's just that the Mac editor works slightly better and is always stable.
oldgearguy wrote: I had a variable operators = {OP7, OP6, OP5, OP4, OP3, OP2, OP1};
Where OP7, OP6, etc are the names of containers.
Then I had code that did things like this:
tmpOp = operators;
setexpression(tmpOp.Focus, 'x', 0);
One can no longer use the dot notation indirectly, by placing a dot after a variable that was set to point to an object. Is 'Focus' the actual name of an object, or is it a variable pointing to an object?
nick_liine wrote:oldgearguy wrote: I had a variable operators = {OP7, OP6, OP5, OP4, OP3, OP2, OP1};
Where OP7, OP6, etc are the names of containers.
Then I had code that did things like this:
tmpOp = operators;
setexpression(tmpOp.Focus, 'x', 0);
One can no longer use the dot notation indirectly, by placing a dot after a variable that was set to point to an object. Is 'Focus' the actual name of an object, or is it a variable pointing to an object?
in this case, Focus is a custom button that I programmatically turn off. In other cases, I use Monitor objects to create multi-dimensional arrays like this:
<WINDOW class="Monitor" text="b1" x="20" y="20" width="20" height="20" id="50" state="241" group="0" font="tahoma,20,0" send="1" osc_target="-2" midi_target="-2" kbmouse_target="-2" color="1596013" label="0" precision="3" unit="" value="0">
<VARIABLE name="value={7, {0.31, 0.31, 0.59, 0.59, 0.72, 0.72, 0.59}, {0.45, 0.12, 0.12, 0.97, 0.97, 0.76, 0.76}}" send="0" osc_target="0" osc_trigger="1" osc_message="/graphic/b1/value" midi_target="-1" midi_trigger="1" midi_message="0x90,0x90,0,0" midi_scale="0,16383" kbmouse_target="-1" kbmouse_trigger="1" kbmouse_message="0,0,0" kbmouse_scale="0,1,0,1"/>
</WINDOW>
<WINDOW class="Monitor" text="b2" x="20" y="20" width="20" height="20" id="51" state="241" group="0" font="tahoma,20,0" send="1" osc_target="-2" midi_target="-2" kbmouse_target="-2" color="1596013" label="0" precision="3" unit="" value="0">
<VARIABLE name="value={7, {0.31, 0.18, 0.18, 0.31, 0.31, 0.59, 0.59}, {0.34, 0.34, 0.55, 0.55, 0.12, 0.12, 0.91}}" send="0" osc_target="0" osc_trigger="1" osc_message="/graphic/b2/value" midi_target="-1" midi_trigger="1" midi_message="0x90,0x90,0,0" midi_scale="0,16383" kbmouse_target="-1" kbmouse_trigger="1" kbmouse_message="0,0,0" kbmouse_scale="0,1,0,1"/>
</WINDOW>
<WINDOW class="Monitor" text="b3" x="20" y="20" width="20" height="20" id="52" state="241" group="0" font="tahoma,20,0" send="1" osc_target="-2" midi_target="-2" kbmouse_target="-2" color="1596013" label="0" precision="3" unit="" value="0">
<VARIABLE name="value={7, {0.31, 0.31, 0.59, 0.59, 0.72, 0.72, 0.59}, {0.56, 0.12, 0.12, 0.76, 0.76, 0.55, 0.55}}" send="0" osc_target="0" osc_trigger="1" osc_message="/graphic/b3/value" midi_target="-1" midi_trigger="1" midi_message="0x90,0x90,0,0" midi_scale="0,16383" kbmouse_target="-1" kbmouse_trigger="1" kbmouse_message="0,0,0" kbmouse_scale="0,1,0,1"/>
</WINDOW>
<VARIABLE name="brkpoints={b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32}" send="1" osc_target="0" osc_trigger="1" osc_message="/graphic/brkpoints" midi_target="-1" midi_trigger="1" midi_message="0x90,0x90,0,0" midi_scale="0,16383" kbmouse_target="-1" kbmouse_trigger="1" kbmouse_message="0,0,0" kbmouse_scale="0,1,0,1"/>
<SCRIPT name="dispBrkpts(algNum)" script="
decl numPts, bpCfg;
bpCfg = brkpoints[algNum]; // contains the current algorithm line drawing info (stored in a monitor object)
// set the number of points, then set the X and Y coordinate info for each of those points
numPts = bpCfg.value[0];
setattribute(LineArt, 'nbr', numPts);
//LineArt is the Breakpoint object that is displaying the connecting lines between the operators
LineArt.x = subarray(bpCfg.value, 1, numPts);
LineArt.y = subarray(bpCfg.value, 1+numPts, numPts);
" trigger_script="" trigger_type="4" trigger="1" osc_message="/graphic/dispBrkpts" midi_message="0x90,0x90,0,0" midi_target="-1" flag="1"/>
This type of construct is at the heart of my application. It allows me to treat Lemur objects as objects and manipulate them with common code. If the dot notation is no longer supported, is there anything comparable or do I throw away 3+ months of work and start from scratch?dot notation is still supported, the only case it is not supported is when the part AFTER the dot is a variable referring to an object. in that case you should use setexpression()oldgearguy wrote:nick_liine wrote:oldgearguy wrote: I had a variable operators = {OP7, OP6, OP5, OP4, OP3, OP2, OP1};
Where OP7, OP6, etc are the names of containers.
Then I had code that did things like this:
tmpOp = operators;
setexpression(tmpOp.Focus, 'x', 0);
One can no longer use the dot notation indirectly, by placing a dot after a variable that was set to point to an object. Is 'Focus' the actual name of an object, or is it a variable pointing to an object?
in this case, Focus is a custom button that I programmatically turn off. In other cases, I use Monitor objects to create multi-dimensional arrays like this:
This type of construct is at the heart of my application. It allows me to treat Lemur objects as objects and manipulate them with common code. If the dot notation is no longer supported, is there anything comparable or do I throw away 3+ months of work and start from scratch?<WINDOW class="Monitor" text="b1" x="20" y="20" width="20" height="20" id="50" state="241" group="0" font="tahoma,20,0" send="1" osc_target="-2" midi_target="-2" kbmouse_target="-2" color="1596013" label="0" precision="3" unit="" value="0"> <VARIABLE name="value={7, {0.31, 0.31, 0.59, 0.59, 0.72, 0.72, 0.59}, {0.45, 0.12, 0.12, 0.97, 0.97, 0.76, 0.76}}" send="0" osc_target="0" osc_trigger="1" osc_message="/graphic/b1/value" midi_target="-1" midi_trigger="1" midi_message="0x90,0x90,0,0" midi_scale="0,16383" kbmouse_target="-1" kbmouse_trigger="1" kbmouse_message="0,0,0" kbmouse_scale="0,1,0,1"/> </WINDOW> <WINDOW class="Monitor" text="b2" x="20" y="20" width="20" height="20" id="51" state="241" group="0" font="tahoma,20,0" send="1" osc_target="-2" midi_target="-2" kbmouse_target="-2" color="1596013" label="0" precision="3" unit="" value="0"> <VARIABLE name="value={7, {0.31, 0.18, 0.18, 0.31, 0.31, 0.59, 0.59}, {0.34, 0.34, 0.55, 0.55, 0.12, 0.12, 0.91}}" send="0" osc_target="0" osc_trigger="1" osc_message="/graphic/b2/value" midi_target="-1" midi_trigger="1" midi_message="0x90,0x90,0,0" midi_scale="0,16383" kbmouse_target="-1" kbmouse_trigger="1" kbmouse_message="0,0,0" kbmouse_scale="0,1,0,1"/> </WINDOW> <WINDOW class="Monitor" text="b3" x="20" y="20" width="20" height="20" id="52" state="241" group="0" font="tahoma,20,0" send="1" osc_target="-2" midi_target="-2" kbmouse_target="-2" color="1596013" label="0" precision="3" unit="" value="0"> <VARIABLE name="value={7, {0.31, 0.31, 0.59, 0.59, 0.72, 0.72, 0.59}, {0.56, 0.12, 0.12, 0.76, 0.76, 0.55, 0.55}}" send="0" osc_target="0" osc_trigger="1" osc_message="/graphic/b3/value" midi_target="-1" midi_trigger="1" midi_message="0x90,0x90,0,0" midi_scale="0,16383" kbmouse_target="-1" kbmouse_trigger="1" kbmouse_message="0,0,0" kbmouse_scale="0,1,0,1"/> </WINDOW> <VARIABLE name="brkpoints={b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32}" send="1" osc_target="0" osc_trigger="1" osc_message="/graphic/brkpoints" midi_target="-1" midi_trigger="1" midi_message="0x90,0x90,0,0" midi_scale="0,16383" kbmouse_target="-1" kbmouse_trigger="1" kbmouse_message="0,0,0" kbmouse_scale="0,1,0,1"/> <SCRIPT name="dispBrkpts(algNum)" script=" decl numPts, bpCfg; bpCfg = brkpoints[algNum]; // contains the current algorithm line drawing info (stored in a monitor object) // set the number of points, then set the X and Y coordinate info for each of those points numPts = bpCfg.value[0]; setattribute(LineArt, 'nbr', numPts); //LineArt is the Breakpoint object that is displaying the connecting lines between the operators LineArt.x = subarray(bpCfg.value, 1, numPts); LineArt.y = subarray(bpCfg.value, 1+numPts, numPts); " trigger_script="" trigger_type="4" trigger="1" osc_message="/graphic/dispBrkpts" midi_message="0x90,0x90,0,0" midi_target="-1" flag="1"/>
If you can post a small JZML with an isolated example of your broken code, that would help.
nick_liine wrote:If you can post a small JZML with an isolated example of your broken code, that would help.
I will post it tonight when I get home. About 30% of the time I end up using Wordpad/Notepad to edit the .jzml directly to make changes, but in this case I do not think I can successfully cut down the application without seeing it in the editor.
The script in the code snippet above does not violate your rule and yet I think it was still flagged with a yellow triangle (but I can't be 100% sure now).
In fact, the original problem I posted was using setexpression and that was definitely marked as incorrect in version 5.0:
decl i=0, tmpOp, operators = {OP7, OP6, OP5, OP4, OP3, OP2, OP1}; //Where OP7, OP6, etc are the names of containers.
tmpOp = operators;
setexpression(tmpOp.Focus, 'x', 0); // Focus is a custom button living inside all my OPx containers
oldgearguy wrote:nick_liine wrote:If you can post a small JZML with an isolated example of your broken code, that would help.
I will post it tonight when I get home. About 30% of the time I end up using Wordpad/Notepad to edit the .jzml directly to make changes, but in this case I do not think I can successfully cut down the application without seeing it in the editor.
The script in the code snippet above does not violate your rule and yet I think it was still flagged with a yellow triangle (but I can't be 100% sure now).
In fact, the original problem I posted was using setexpression and that was definitely marked as incorrect in version 5.0:
decl i=0, tmpOp, operators = {OP7, OP6, OP5, OP4, OP3, OP2, OP1}; //Where OP7, OP6, etc are the names of containers.
tmpOp = operators;
setexpression(tmpOp.Focus, 'x', 0); // Focus is a custom button living inside all my OPx containers
Please send an isolated example JZML example (i.e. extracted from the larger template) that demonstrates the issue, you can send it directly to support@liine.net
nick_liine wrote: Please send an isolated example JZML example (i.e. extracted from the larger template) that demonstrates the issue, you can send it directly to support@liine.net
I'll do that. Is there anywhere I can re-download the 4.1.1 Windows editor? I upgraded my machine to 5.0 and I wanted to make sure the example I send is working in 4.1.1
This is all cool. Very excitig.
There is one thing though. My 98% template is now 100%+ and giving me errors because of missing stuff. Will take some time to fix it. I hope the size hit is not too big on 5.0. I was already fighting with every bit.
There is one thing though. My 98% template is now 100%+ and giving me errors because of missing stuff. Will take some time to fix it. I hope the size hit is not too big on 5.0. I was already fighting with every bit.
The new string functions, even though they mean total re-work of older templates, may perhaps ease off some stuff - not sure though!
Too early and I havent yet had a chance to check out all the new scripting stuff, plus I now have to study about html5 canvas.
BTW...minor bug in windows editor: when enabling aliasing, it crashes - perhaps if those radial objects have antaliasing enabled, thats what causes the windows editor to crash when uploaded from the iPad?
Too early and I havent yet had a chance to check out all the new scripting stuff, plus I now have to study about html5 canvas.
BTW...minor bug in windows editor: when enabling aliasing, it crashes - perhaps if those radial objects have antaliasing enabled, thats what causes the windows editor to crash when uploaded from the iPad?
http://files.liine.nl/n/Lemur-Installer-4.1.1.exeoldgearguy wrote:nick_liine wrote: Please send an isolated example JZML example (i.e. extracted from the larger template) that demonstrates the issue, you can send it directly to support@liine.net
I'll do that. Is there anywhere I can re-download the 4.1.1 Windows editor? I upgraded my machine to 5.0 and I wanted to make sure the example I send is working in 4.1.1