|
|
clear vision of how to proceed Sunday, September 22 2013
I continued with my Lightroom plugin development today, interrupted only occasionally by such things as viewing the dreary & depressing penultimate episode of Breaking Bad. There were a number of roadblocks that I needed to break through before I had any confidence I'd have something to show my client tomorrow. The most initially troubling of these concerned the way the SDK provides for communication between data and the GUI. GUI elements are "bound" to keyed items in a data structure residing in a variable. (In the Lua programming universe, these data structures are confusingly referred to as "tables," though they are actually hierarchical associative arrays (of the kind often serialized by PHP) and have nothing to do with database tables.) The binding of the GUI elements to the keyed data items allows the GUI elements to be changed by changing the bound data, though there are limitations: GUI elements cannot be added on the fly as they can be in, say, an HTML form being manipulated by Javascript. Initially I thought there was a further limitation: that the underlying datastructure connected to the GUI had to be local to the function generating the GUI. Had that been the case, the asynchronous SQLite query results (see yesterday's description of that problem) wouldn't have been able to affect the GUI. And since the plugin is basially the interaction between a GUI and a database, that would have made the plugin an impossibility. Happily, though, it turned out that underlying data structure for the GUI can be global in nature. Once I had that figured out, I realized that everything I needed to produce a rough prototype for tomorrow's meeting was in place. Having a clear vision of how to proceed was enormously liberating. It was so liberating that I even allowed myself a stiff drink as I watched Breaking Bad, even though I knew I'd be staying up late coding in Lua. I ended up staying up until nearly 2:00am, producing a crude-but-serviceable prototype and giving myself a few small issues to work out in my dreams (I kid you not!).
For linking purposes this article's URL is: http://asecular.com/blog.php?130922 feedback previous | next |