Page 1 of 1

Resources for learning advanced programming of Lemur

Posted: 16 Oct 2017 12:14
by Laithar
I'm fairly new to Lemur having only had it a couple of months.
I was drawn by - 'Lemur, the professional MIDI and OSC controller app that doesn't cut any corners, has evolved. Now easier to use than ever, more customisable and with more out-of-the-box functionality. Any software or hardware that receives MIDI or OSC can be controlled by Lemur. Control DJ software, live electronic music performance software, studio production software (DAWs), VJ software, visual synthesis software, stage lighting and more.'
I busily got into creating simple things like buttons, switches and pads to control my DAW and as I searched for more information in the Forum so that I can add finesse and additional functionality, I noticed some of the questions asked were being replied to but they were not being answered. This is leading me to believe that either there are not enough resources for people to find the answers or people aren't sharing the information but I refuse to believe that. Of course there are going to be instances where Lemur cannot do everything requested but I am sure there are people in this Forum who know quite a lot about the internal workings of Lemur. Maybe some of the 'veterans' are starting to lose interest but new interest is being generated all the time and this 'new blood' is eager and willing to learn, to share new ideas or revamp the old ones. This app has been going for a long time so I can't believe answers aren't out there. I have seen the video for Composer Tools Pro and so I know that Lemur is capable of a lot more than what is written in the basic manual. Is anyone willing to share decent resources on how they got to grips with this amazing piece of software?
Nigel

Re: Resources for learning advanced programming of Lemur

Posted: 16 Oct 2017 13:47
by janiliamilanes
I also use Composer Tools Pro and it's incredible. It changed the way I make music. I am also computer programmer (web dev, php, mostly, some C++), so I can answer question. If you want learn about Lemur...learn computer science. I think people have a dream that Lemur is "simple" and you just "script", but it's not so easy. Sure, you can program a few buttons to do a simple things, but just like the real-world if you want do complex things it is always "non-trivial" and you need a serious knowledge about computer programming. There is no easy. Lemur "scripting" is straight up hardcore computer programming--- there is no gentle way to say it. Sure, Lemur is not powerful like C++ but all the same principle are true. Why would advanced guys share their IP? It took years to develop like it took me years to develop my server-side scripting. Most Lemur users arent programmers, so to come here and answer questions means they have to be computer programming teachers--- no one has time to teach musicians about for-loops and bit masks, and no one is paying them. Ive tried many modules in the user library and like 90% are filled with bugs that I'm sure the creator has no knowledge about because they dont even know what they don't know (if it makes sense). Testing is work! The amount of work going into Composer Tools Pro is intense, and it's on the same level as any serious iOS app. Not just the application layer, but also the graphics rendering using HTML canvas (not easy let me tell you, to draw using code!). Then there is also a persistence layer, and also interacting with external frameworks, and performance profiling--- it's a serious thing. This the way I see it... at least.

How about start here: https://www.youtube.com/watch?v=KkMDCCdjyW8

JM

Re: Resources for learning advanced programming of Lemur

Posted: 18 Oct 2017 00:55
by phase_change
Why aren't people helping? https://forum.liine.net/viewtopic.php?f ... emium+apps This thread is basically why. I've made a few templates and released them as donation-ware. I haven't received any money in spite of over 4k downloads. Not all of them were great, but nobody felt generous enough to give me anything. Since then, I haven't really been putting effort into helping ppl here. I'll post every now and again if work is slow or I'm bored. Liine doesn't put a lot of effort into supporting this app or documenting this app and doesn't offer any compensation to the few members of the community that do. A lot of new users want help and were happy to pay Liine to buy the app, but aren't willing to give anything to the people they're asking help from. And there's a very real chance if we do share our knowledge, someone will take it and build a "commercial app" with it, without giving us any acknowledgement or a cut of their profits.

Re: Resources for learning advanced programming of Lemur

Posted: 18 Oct 2017 14:12
by janiliamilanes
I have seen this thread. It is very interesting. My personal opinion is commercial templates are awesome and Liine should support them directly (like Apple App Store). But as you say there needs to be a way to protect your IP. It is "non-trivial" to build a complex controller. And you have to support your users, do updates, release new features, etc.

What I want to resist though is an idea that Lemur is "not documented" or "not supported". Every single object and function is 100% documented in the Lemur User Manual and there are tons of online documents. There is no "missing" or "secret" manual for Lemur. The "missing manual" is a computer science degree, lol. I get it, musicians are not programmers, but asking Liine to solve programming problems is like asking Steinberg how to write musics, or asking Apple how to build your iOS apps. It is a totally unreal idea. I blame a little the marketing. Obviously Liine can't say "Hey do you have a computer science degree? Check out what you can build!" lol. So they have to use cute words like "scripting". I exaggerate of course--- the language is simple enough that you can truly learn to "script" simple things, just don't expect make complex controller.

JM

Re: Resources for learning advanced programming of Lemur

Posted: 19 Oct 2017 01:28
by phase_change
Dude, pretty much none of what you're saying makes any sense to me. I can name a few things that aren't documented at all that Oldgearguy has shown me. Idk how long you've been lurking here, but I've been an active part of this forum for a minute now. I have a master's degree in IT and work as a sysadmin, so most of my day job is scripting and I freelance developing software. I'm proficient in Php and python. This is straight up a scripting language - there's no library, it's not object oriented, you don't create classes, as far as I can tell it's not a compiled language - so yeah, pretty much fails on all points that differentiate a scripting language from a programming language. So it's not that I don't know cs, it's that this app is poorly documented. It's also poorly supported. Support isn't really responding to questions and Nick Liine only checks in once in a while. I reported the SSL cert for the website and forum was expired last year and they didn't do anything about it for weeks. There also haven't been any updates to this app in a while. But yeah, sure, join the forum for a few months, make like 11 posts and tell ppl what's up here. Sorry if I sound annoyed, but you're coming off super smug.

Re: Resources for learning advanced programming of Lemur

Posted: 19 Oct 2017 05:10
by janiliamilanes
Fine, sorry I don't want to get into a flame war. Maybe having a bad days lately. Maybe it is my terrible English.

I use the word "scripting" not at all in a meaning that you and I know it (I do the exact same job as you); nothing with compiled vs interpreted languages, etc. I use it in a way maybe someone without any programming experience maybe think of it--- something simple: a "script" like on the level of a keyboard macro. It is a word that I think is misleads musicians to thinking is something simple about Lemur. This is the point I am getting at; I know you understand it as a programmer, that to build something in code is never "non-trivial". There is no "missing manual" to building software, it is the knowledge and skill of the dev.

I guess we must respectfully disagree on how much support the dev of Lemur must give. If something is buggy then absolutely it is his job to fix. I don't know about not answering support questions, and it is bad if they do not. But at the same time, I simply do not think people should expect the dev to come here and teach musicians about variables and conditional branching etc. Actually the manual does give a introduction to programming and provide many examples. I think if a musician has enough patience and desire he can achieve what he needs from this manual.

I am curious to know the undocumented functions? Lemur Manual Chapter 12 is Object Reference where all properties of every object are described. Then from Chapter 13 to the end is a listing of all the built-in and arithmetic functions, object related functions, vectorial functions, etc, etc. There is also additional addendum for Canvas. Maybe undocumented is meaning it's no longer supported? I know that the iPad version dropped support for object creation (I have used Lemur since Jazzmutant days).

Anyways, apologies if it is rude.

Re: Resources for learning advanced programming of Lemur

Posted: 22 Oct 2017 17:39
by phase_change
Hey,
First I want to apologize for my heated response, I didn't realize English wasn't your first language and I may have misunderstood what you were saying. I pretty much do agree with you that for someone with no understanding of writing scripts, this platform isn't the most friendly. When I say things are poorly documented, I don't mean that there need to be better tuts on fundamentals of scripting/programming like how to use while loops, data structures etc. I'm with you on that. Liine shouldn't be expected to teach people with no experience how to script and if they really want to, they can figure it out themselves with other resources.

As an example of one poorly documented function - setattribute:
setattribute(Switch[0],'color', {background, foreground}); is a way to have multicolored grids of pads/switches. Background, foreground part isn't in the manual at all as far as I can tell and I've been thru it cover to cover a few times. If you just look up things oldgearguy has posted, he has a wealth of knowledge gained from lots of tinkering and testing. He's proposed creating a new user manual that could be sold by the people who support Lemur on this forum. There's a few ppl here that know a lot about this app in particular and most of them complain ab how poorly it's documented. As far as I know, Macciza made the lemur manual and used to moderate this forum until it blew up. I more or less gave up on making Lemur templates - I've p much abandoned all of mine and don't plan on making more. I'd rather spend my time learning Objective C and make my own apps than contribute to Liine's bottom line.

Re: Resources for learning advanced programming of Lemur

Posted: 22 Oct 2017 21:33
by denoiser
Second that. Every bit. By visiting this board and not seeing updates in long time, no staff responses, almost dead silence... i wouldn't like it, but think this app is soon to be dead.

Re: Resources for learning advanced programming of Lemur

Posted: 23 Oct 2017 15:37
by midikinetics
Definitely not dying. Lemur is an enormous project spanning 4 operating systems (5 if you count Lemur itself).
Don't underestimate the length/cost of the dev cycle of such a project.
MOH