*** trebmuh has joined #lv2 | 06:38 | |
*** falktx has joined #lv2 | 07:24 | |
*** ocbtec has joined #lv2 | 07:27 | |
*** sigma6 has joined #lv2 | 08:04 | |
*** unclechu has quit IRC | 08:45 | |
*** unclechu has joined #lv2 | 08:58 | |
*** ventosus has quit IRC | 09:44 | |
*** ventosus has joined #lv2 | 09:47 | |
*** kmic is now known as kmicu | 11:22 | |
*** artfwo has quit IRC | 11:46 | |
*** Yruama_Lairba has joined #lv2 | 11:57 | |
*** edogawa has joined #lv2 | 12:08 | |
*** rncbc has joined #lv2 | 14:27 | |
*** trebmuh has quit IRC | 14:45 | |
*** trebmuh has joined #lv2 | 14:48 | |
*** gianMOD has joined #lv2 | 14:59 | |
*** gianMOD has quit IRC | 15:14 | |
*** gianMOD has joined #lv2 | 15:16 | |
*** ocbtec has quit IRC | 15:20 | |
*** gianMOD has quit IRC | 15:26 | |
*** gianMOD has joined #lv2 | 15:36 | |
*** sigma6 has quit IRC | 16:05 | |
*** gianMOD has quit IRC | 16:09 | |
rncbc | rgareus: hi, have seen the lv2state#Dirty on devel maillist and also vote for the plugin->host event solution | 16:10 |
---|---|---|
rgareus | rncbc: that's good to know. | 16:17 |
rgareus | rncbc: it's unlikely that we'll end up "voting" but if you would make a case on the mailing-list, that'll likely help to convince drobilla. | 16:18 |
rncbc | rgareus: i just read the digest archives. anyway im going to put into code on qtractor fwiw. | 16:19 |
rgareus | rncbc: for now I use a non-standard URI | 16:19 |
rncbc | rgareus: ill make a #ifdef LV2_STATE__Dirty something and | 16:20 |
rncbc | rgareus: #define LV2_STATE__Dirty LV2_STATE_PREFIX "#Dirty" | 16:20 |
rgareus | that makes sense | 16:21 |
rncbc | rgareus: i know you made it on ardour.org | 16:21 |
rgareus | currently it's http://ardour.org/lv2/state#Dirty (and setBfree has a example plugin implementation) | 16:21 |
rgareus | drobilla has considered http://lv2plug.in/ns/ext/state/#StateChanged | 16:22 |
rncbc | ah, didn't saw that coming, yet :) | 16:22 |
rgareus | it was here on IRC a few days ago | 16:22 |
rncbc | so it's #define LV2_STATE__StateChanged LV"_STATE_PREFIX "#StateChanged" | 16:23 |
rncbc | s/"/2 | 16:23 |
rgareus | yeah, except it's not official, let. | 16:23 |
rgareus | s/let/yet/ | 16:23 |
rncbc | if you agree, i can make it s/Dirty/StateChanged// from this moment. maybe you'll comply first on ardour and setbfree | 16:26 |
rgareus | I have 3 or 4 more plugins in the queue. I was going to wait until there's an official spec. | 16:27 |
rgareus | before updating them all. | 16:27 |
rncbc | weel, it's just one string anyway, #ifndef LV2_STATE__StateChanged, remember? :) | 16:28 |
rgareus | rncbc: OK i'll change it now | 16:29 |
rgareus | so http://ardour.org/lv2/state#StateChanged for the time being? | 16:29 |
rgareus | drobilla: ^^ do you have an ETA? | 16:29 |
rgareus | if we can get an official URI in - say - the next 48 hours, that'd be even better. | 16:30 |
rncbc | eh the #ifndef purpose is about the "pre-official" status of this conspiration :) | 16:31 |
rgareus | rncbc: there is also state:InternalStateChanged on the table | 16:32 |
rgareus | and HiddenStateChange (because actual state-changes are known to the host) | 16:32 |
rgareus | and I think the proper standard is with a lower-case letter | 16:32 |
rgareus | compare to http://lv2plug.in/ns/ext/state/#threadSafeRestore | 16:33 |
rncbc | afaict, LV2_STATE_PREFIX quals to "http://lv2plug.in/ns/ext/state#" | 16:34 |
rgareus | "state" is implicit to maybe just state:changed | 16:34 |
rncbc | so i better rephrase that as #define LV2_STATE__StateChanged LV2_STATE_PREFIX "StateChanged" | 16:35 |
rgareus | rncbc: if you have a better interim naming convention, I'm happy to change (hardcode) the URI (ardour + setBfree) | 16:37 |
rncbc | for that we'll have "http://lv2plug.in/ns/ext/state#StateChanged" | 16:37 |
rncbc | well, for the time being, at first glance, lv2state:StateChanged lv2state:InternalStateChanged are semantically equivalent to me. why have two? | 16:38 |
rgareus | no, not two | 16:41 |
rncbc | it sounds like we're discussing the names and not addressing the problem | 16:41 |
rgareus | we just tried to come up with a good name | 16:41 |
rgareus | I proposed "http://lv2plug.in/ns/ext/state/#Dirty" (mainly pitched the idea). | 16:42 |
rncbc | "Dirty" was (and is) a good name for me :) | 16:42 |
rncbc | if you read the whole the URI, literally it has not repetitions, no redundancy, i mean the "state" word is NOT repeated. ehehe | 16:44 |
rncbc | and semantically its really a one-way signaling flag anyway, isn't it? | 16:45 |
rncbc | it's about a plugin telling the host that "i, the plugin" made something "here" that "you, the host" are not aware about. | 16:47 |
rgareus | https://github.com/x42/lv2/commit/d5a4761e0a89aaf08efde752763c2fb75434c443 | 16:49 |
rgareus | I'll file a pull request. | 16:49 |
rncbc | ah, you paid real attention :) you made it as LV2_STATE__changed :) | 16:51 |
rgareus | yeah STATE__State was one "state" too many | 16:51 |
rncbc | yep | 16:52 |
rgareus | hmm. it looks like I can't just file a PR for a single commit on GH. it has to be a branch :( | 16:53 |
rgareus | https://github.com/drobilla/lv2/pull/9 | 16:55 |
rgareus | aah crap. invalid HTML doc | 16:56 |
rgareus | any last minute comments before I update it? | 16:57 |
drobilla | rgareus: Still an inconsistency, but n/m, I'll fetch and fixup it | 17:17 |
drobilla | Actually I don't think it's one state too many. The prefix shouldn't be considered part of the name, though it's a bit clumsy in practice. *shrug* | 17:19 |
drobilla | Lately I'm of the opinion that a good 90% of what's in LV2 should just be in the lv2 namespace and only very distinct stand-alone things in other ones, but here we are | 17:19 |
*** jbitdrop has joined #lv2 | 17:20 | |
drobilla | I'll verbose up the rules while I'm at it, I suppose | 17:25 |
drobilla | rgareus: Also there's no lv2:Class :) | 17:27 |
* drobilla hugs sord_validate | 17:28 | |
*** ocbtec has joined #lv2 | 17:29 | |
rgareus | drobilla: thanks. | 17:29 |
drobilla | Some day I should probably add more lintey things like the class name capitalization thing | 17:29 |
drobilla | anyway, commit upcoming | 17:30 |
drobilla | Thus bumps the minor version number. Some day we'll have a point release. Some day! | 17:31 |
drobilla | rgareus, rncbc: http://lv2plug.in/git/cgit.cgi/lv2.git/commit/?id=dbb18d82136d43eec435e321bffa835ba5776d6e | 17:38 |
drobilla | Re: names, "Dirtied" would have been the appropriate form of that one, I suppose, being a notification and not a property | 17:40 |
* drobilla shrugs | 17:40 | |
rgareus | ardour + setBfree are updated | 17:58 |
*** dsheeler has joined #lv2 | 18:16 | |
rncbc | drobilla, rgareus: so be it http://lv2plug.in/ns/ext/state#StateChanged , okidoki | 19:06 |
rgareus | drobilla: can you update the online doc? | 19:08 |
drobilla | mmmm | 19:14 |
drobilla | general practice this far has been to host the stable docs online only | 19:14 |
rgareus | ok. n/m then | 19:38 |
drobilla | Speaking of releases, maybe now's the time to quasi-unify | 20:01 |
drobilla | Very slightly missed the mark of everything being synced up, but not much | 20:01 |
drobilla | I think the only really realistic way of doing this is to just take the lib repos as they are, leave them as self-contained repos with coherent history and so on, migrate the to lv2plug.in and use submodules to put them in the dist | 20:02 |
drobilla | Despite how not-fun submodules are, I'm used to it enough by now | 20:02 |
drobilla | (More annoying from the puller POV) | 20:02 |
rgareus | drobilla: ./waf update # does the trick, doesn't it? | 20:11 |
drobilla | rgareus: Yeah, if you know it exists, anyway | 20:15 |
drobilla | (Though I tend to get ssh blocked by dreamhost doing that on mine because there's so many) | 20:16 |
drobilla | In some ideal world they'd be slightly reengineered and cleaned up and probably get more boring lv* names rather than the current somewhat-eccentrically-me ones, but whatever | 20:18 |
drobilla | The two external deps I wished were one is the biggest reservation for me | 20:18 |
drobilla | I guess I could do the --use-system-serd sort of thing, but that gets messy | 20:18 |
*** Anchakor_ has joined #lv2 | 20:25 | |
*** Anchakor_ has quit IRC | 20:31 | |
*** Anchakor_ has joined #lv2 | 20:32 | |
*** gianMOD has joined #lv2 | 20:38 | |
*** oofus_lt has joined #lv2 | 21:11 | |
*** oofus_lt has quit IRC | 21:32 | |
*** gianMOD has quit IRC | 22:02 | |
*** Yruama_Lairba has quit IRC | 22:08 | |
*** NickSB has quit IRC | 22:09 | |
*** NickSB has joined #lv2 | 22:13 | |
*** jbitdrop has quit IRC | 22:16 | |
*** trebmuh has quit IRC | 22:49 | |
*** edogawa has quit IRC | 22:53 | |
rncbc | rgareus: LV2_STATE__StateChanged implemented in qtractor v0.7.9.23+ https://github.com/rncbc/qtractor/commit/2cbc20a) | 23:10 |
rgareus | nice | 23:17 |
rgareus | rncbc: lv2_atom_forge_is_object_type () at what point was type == forge->Resource a valid object? | 23:17 |
rgareus | AFAIK, it was only "Blank" that was deprecated in favor of "Object" | 23:17 |
rncbc | rgareus: that part of the code is only for ancient lv2 distros <= 1.8.0 i guess | 23:19 |
rncbc | rgareus: are you having trouble building it now? | 23:19 |
* rgareus didn't build qtractor since.. maybe LAC 2011. | 23:20 | |
rgareus | debian does that for me. | 23:20 |
rgareus | rncbc: before 1.8.0 type == forge->Blank would be fine. since then type == g_lv2_urids.atom_Object.. | 23:21 |
rgareus | rncbc: https://github.com/rncbc/qtractor/commit/2cbc20a#diff-03175e279d5acfa0c97e92241a8cf76fR1060 I wonder why "Resource" as well | 23:21 |
rncbc | rgareus: it passed on travis-ci just a few minutes ago and that is lv2-1.8.0 for sure (ubuntu trusty) | 23:22 |
rgareus | maybe it's something that's missing in Ardour & Jalv. | 23:22 |
rgareus | in plugins I use: https://github.com/x42/meters.lv2/blob/master/src/uris.h#L31 | 23:22 |
rgareus | either lv2_atom_forge_object() since 1.8 or lv2_atom_forge_blank() older | 23:23 |
rgareus | but "Resource" ?? | 23:23 |
rncbc | rgareus: forge->Resource is there alright on lv2-1.8.0, i just pasted and adapted from forge.h | 23:24 |
rgareus | rncbc: the rest looks of the core reads fine to me. (I didn't parse the autotools) | 23:25 |
rncbc | rgareus: because forge->Object is missing back then | 23:25 |
rgareus | well, at least that was a painless LV2 extension. and only took ~1 week. | 23:26 |
rgareus | rncbc: so qtractor handles LV2's patch:Set/Put in the GUI thread? | 23:29 |
rgareus | there's nothing wrong with this per se (using a forge and all), except I don't see how this would work with automation playback for properties | 23:31 |
rncbc | rgareus: yes, via worker/schedule; it handles in the gui to populate the generic GUI of course | 23:31 |
rncbc | rgareus: erm. no. there is no automation, nor undo/redo for lv2 properties in qtractor, that's a fact | 23:32 |
rgareus | OK. that's fine then | 23:33 |
rgareus | rncbc: and no faster-than-realtime (jack freewheeling) export, either. I take it | 23:33 |
rncbc | wait. there's undo/redo alright | 23:33 |
rgareus | undo/redo is fine, that's a GUI operation anyway | 23:33 |
rgareus | no sample sync. | 23:33 |
rncbc | wait. what there's not is automation | 23:34 |
rncbc | no automation for lv2 properties | 23:34 |
rgareus | it'd only matter for cases "set property at exact sample-time X" | 23:34 |
rgareus | There are very few plugins that use properties currently anyway -- the only common one is "file-names" currently | 23:35 |
rncbc | that's a pita to implement right; i rather give up on think about it :) | 23:35 |
rgareus | drobilla: did you actually test ardour's integer + float properties with automation? | 23:36 |
rgareus | with some OpenMusicKontrollers LV2 or is there some eg-* plugin? | 23:37 |
rncbc | my v1s do use properties, for filenames and loop points, etc. | 23:37 |
rgareus | in Ardour there's no GUI to automate filenames -- though the backend should support it. | 23:37 |
rncbc | g2g | 23:39 |
rgareus | rncbc: 'night! | 23:39 |
rncbc | gnite | 23:39 |
rgareus | and thanks for adding this to qtractor. | 23:39 |
rncbc | yw | 23:39 |
*** rncbc has quit IRC | 23:40 | |
*** ocbtec has quit IRC | 23:42 |
Generated by irclog2html.py 2.13.0 by Marius Gedminas - find it at mg.pov.lt!