drobilla | n/m, sisco | 00:02 |
---|---|---|
rgareus | and a couple of others from the x42-plugins collection | 00:05 |
rgareus | also the latest harrison plugins are now embedded (no longer externalUI) | 00:07 |
drobilla | Tinkering with a native OSX Jalv | 00:14 |
drobilla | Got it working, for some very shaky definition of "working" | 00:14 |
rgareus | drobilla: have you forgotten about the code you wrote to handle Properties in Ardour? | 00:15 |
rgareus | drobilla: I can't honestly believe you said it's simple to make "#Dirty" a property first and special case it later to become /just an event/. | 00:15 |
drobilla | Though here, the platform forces me to finally actually have to add a plugin selector, soooo that's some work... | 00:15 |
drobilla | rgareus: I seriously don't understand why you think announcing it this way means it's a parameter or in state or whatever | 00:15 |
drobilla | Granted we overload basically every synonym there a lot | 00:16 |
rgareus | drobilla: basically the host just needs to ignore the value of the property | 00:16 |
rgareus | and treat every event as a "value changed" | 00:16 |
*** trebmuh has quit IRC | 00:17 | |
drobilla | I propose no change to the semantics | 00:17 |
drobilla | I simply said a property would be nice because having one defined is more useful/convenient | 00:17 |
drobilla | Since if you want to stick dirty in a dict somewhere, you can | 00:17 |
drobilla | That's all | 00:17 |
rgareus | also, if a property changes the state is dirty. So what if the #dirty property changes to "clean" ? | 00:17 |
drobilla | It is not a property in the plugin's state | 00:18 |
drobilla | Saving a dirty property in the state itself that's about the state is obviously silly | 00:18 |
drobilla | But whatever. A StateChanged event is fine. | 00:19 |
rgareus | so if a plugin supports that property, but a host does not [yet]? | 00:19 |
drobilla | If I need a property (which is likely) I'll just define one | 00:19 |
rgareus | the host will save it anyway | 00:19 |
drobilla | Plugins are responsible for saving their own state. There is no expectation of hosts to save every property that comes out of a plugin | 00:20 |
rgareus | indeed. that was a silly argument | 00:20 |
drobilla | In some other universe we could have done state that way, perhaps, but we didn't, so we don't need to care about that sort of thing | 00:20 |
rgareus | anyway, in Ardour's implementation we don't care much, we can intercept the Property early on (and simply ignore the value) | 00:21 |
*** NickSB has quit IRC | 00:21 | |
rgareus | but if there's a boolen it should be documented that it's special. ie there can be 2 events #Dirty value=true in a row (without value=false in between) and that's valid | 00:22 |
rgareus | (because the plugin itself cannot know when it's "clean") | 00:23 |
drobilla | I suspect some kind of thing to properly define ephemeral properties needs to happen at some point | 00:23 |
drobilla | Ingen kind of has that problem | 00:23 |
drobilla | But your position is reasonable, despite the terrible argument :) | 00:24 |
drobilla | I reflexively try to avoid defining special commands/events whenever possible, which is generally right and good, but this is slightly odd | 00:25 |
drobilla | state:StateChanged will do | 00:25 |
rgareus | yes, that's a better name | 00:26 |
drobilla | Though it is a bit of a burden to demand plugins send such a thing whenever the state changes at all | 00:26 |
drobilla | Which could = whenever any parameter changes at all | 00:26 |
drobilla | So probably need some rules there | 00:27 |
rgareus | state:InternalStateChanged or state:HiddenStateChanged | 00:27 |
drobilla | Still could = any parameter change (event-based control) | 00:27 |
drobilla | More correct names, maybe, but we universally call all that "state" anyway, implicit | 00:28 |
rgareus | the actual case which brought this up was setBfree , recall a midi-program or change CC assignments using the GUI | 00:29 |
drobilla | Question is, when should the plugin send it? | 00:29 |
drobilla | Only in cases where it's not "obvious" to the host that it has changed | 00:29 |
rgareus | yes | 00:29 |
drobilla | How to write that one up clearly I don't know | 00:29 |
rgareus | changes to any parameter that is not under host-control. | 00:30 |
drobilla | I guess if it changes as a result of anything that isn't a direct state change, via the API, or setting a property via message | 00:30 |
drobilla | Suppose it's inherently a bit of a fuzzy one, but that's fine | 00:31 |
drobilla | Why do I have a feeling getting UIs to position themselves correctly is going to be "fun" | 00:32 |
*** NickSB has joined #lv2 | 00:32 | |
drobilla | OSX is weird. Seems geared towards a lot of absolute pixel positions | 00:33 |
rgareus | and the y-axis points upwards | 00:33 |
rgareus | in Cocoa | 00:33 |
drobilla | I should idly research more GUI toolkits one of these days, but it seems from here that Gtk really got the packing thing right | 00:33 |
drobilla | (So far just passed the content view as the parent to suil, but it shows up offset way down the window) | 00:34 |
rgareus | drobilla: it works fine in ardour | 00:35 |
rgareus | which also uses suil | 00:35 |
drobilla | n/m, got it. Just needed to resize, which there's a handy method for | 00:37 |
drobilla | Text looks atrocious :/ | 00:38 |
*** Yruama_Lairba has quit IRC | 01:01 | |
*** oofus_lt has joined #lv2 | 07:45 | |
*** NickSB2 has joined #lv2 | 08:59 | |
*** NickSB has quit IRC | 09:24 | |
*** oofus_lt has quit IRC | 10:12 | |
*** NickSB has joined #lv2 | 10:12 | |
*** oofus_lt has joined #lv2 | 10:17 | |
*** trebmuh has joined #lv2 | 10:29 | |
*** Yruama_Lairba has joined #lv2 | 11:30 | |
*** edogawa has joined #lv2 | 12:07 | |
*** dsheeler has quit IRC | 12:15 | |
*** rncbc has joined #lv2 | 13:21 | |
*** Anchakor_ has joined #lv2 | 14:09 | |
*** NickSB has quit IRC | 14:22 | |
*** rncbc is now known as rncbc|AFK | 14:34 | |
*** Anchakor_ has quit IRC | 15:19 | |
*** falktx|work has joined #lv2 | 15:20 | |
*** NickSB has joined #lv2 | 16:01 | |
*** rncbc|AFK is now known as rncbc | 16:16 | |
*** rncbc has quit IRC | 18:06 | |
*** oofus_lt has quit IRC | 18:14 | |
*** Yruama_Lairba has quit IRC | 19:27 | |
*** Yruama_Lairba has joined #lv2 | 19:28 | |
*** rncbc has joined #lv2 | 20:15 | |
*** oofus_lt has joined #lv2 | 21:12 | |
*** edogawa has quit IRC | 21:25 | |
*** rncbc has quit IRC | 21:31 | |
*** oofus_lt has quit IRC | 22:36 | |
drobilla | So I got a tad side-tracked. Thoughts? http://drobilla.net/files/lv2.svg | 23:27 |
drobilla | (Needed a square logo) | 23:28 |
Generated by irclog2html.py 2.13.0 by Marius Gedminas - find it at mg.pov.lt!