## Reviewed version
iOS app version 5.32 / Lemur Editor version 5.3.2 (Windows 10)
## Pros
++++ Real fun when you have something finished and setup
+++ Overall huge creative potential with great flexibility for controlling DAWs etc.
+++ Works also on old iOS 5 (!) devices, hence eventually a useful application for legacy iPads
++ Some useful and nifty default control elements (e.g. Fader, Knob, MultiBall, etc.)
++ Useful dynamic single line expressions, practical container based scoping and hierarchical "inheritance", sufficient standard math functions
+ Simple bi-directional sync between Lemur Editor and Lemur iOS app
+ Fair pricing when taking in account the possibilities for creating custom controllers
## Cons
---- CRITICAL BUG: Using double quotes in commented code lines leads to an XML parse error which then results in loss of the complete script and possibly other scripts of the project
---- CRITICAL BUG: Switching to another Windows application window from Lemur Editor can result in loss of unsaved code changes or even worse complete loss of the edited script
---- Extremely annoying script editor (e.g. HOME and END keys do not work as expected; CTRL+Z does not undo correctly; SHIFT+TAB does not work; TAB with selection deletes; TAB inserts two indents; CTRL+S followed by pressing RETURN selects random code, thus subsequent RETURN deletes it; DBLCLICK selection behavior strange; No line duplication or deletion; etc. ...)
--- Overall Lemur Editor GUI usability is really bad (e.g. CTRL+Z, TAB and RETURN change window/palette focus; Missing search and search/replace; Code inspection requires expanding collapsed tree branches; Missing refactoring capabilities; Expressions and scripts can not be renamed; Colors can only be set by a picker, thus no exact color selection; Nearly every interaction requires use of mouse; Very outdated look & feel in general ...)
--- BUG: Editor rarely crashes for unknown reasons, thus risk for loss of work
--- Very poor API documentation PDF which lacks many useful information (e.g. No documentation on parameter types or return values; No usage examples; No mention of quirks; Missing specs like MIDI message syntax, etc. ...)
--- Countless unusual scripting behavior/quirks which require workarounds (e.g. "On Load" is reliable in local scope only; All "On Expression" handlers trigger also during load, thus all buttons are fired on start-up; There is no type casting or the possibility to identify a type; There is no boolean or null type ... non-existent or uninitialized expressions are evaluated to 0 ... 0 equals 0.0 ... and to persist an expression it needs to be created uninitialized; It is not possible to change the execution type of a script, thus "On Frame" handlers can not be registered/unregistered; Colors not defined as hex but as integer (with RGB/HSV float conversion though); ... etc. etc.)
-- Scripting language offers not any string related functionality (e.g. it is not even possible to cast an integer to a string for printing it on screen without implementing ASCII conversion)
-- Cumbersome manual debugging (actually not even a console for printing debug output exists ...)
- No support for Unicode characters
- No code completion, very rudimentary syntax highlighting
- No online documentation resources beside an old-school forum with few recent activities
- Lemur Editor requires not bundled third party applications for MIDI loopback
## Opinion
One could say without doubt the more experienced you are in programming the less you will like coding Lemur content. By the same time the less you are in programming the more you will have trouble making your own content at all. That said, you should also note that only a few of the factory projects are useful and production ready, so you will likely want to code your own Lemur content. Or you need to rely entirely on the user library, which is quite fine for many users as well, I guess.
More important, looking at the current state of the editor lets me assume that the company is not actively developing the product anymore, that they have no quality management and that they heavily rely on the free content that the users provide. Nevertheless with the patience of Job, a high tolerance limit and decent programming skills it is possible to create cool and unique custom controllers.
## Conclusion
Nice idea, badly manufactured. Very sad!
If Liine fixes and improves all of the above Lemur will earn the 5 stars it deserves.
## Tips
* Make backups of your projects as often as you can while you work on them
* Make more backups
## Out of scope
Not tested, thus not reviewed here:
* Canvas element
* OSC messaging
* macOS version of Lemur Editor
* iOS in-app project editor
* User content
deluxe.cd about Lemur, v5.3.2