*** ricardocrudo has quit IRC | 01:39 | |
*** falktx has quit IRC | 03:47 | |
*** edogawa has joined #lv2 | 07:28 | |
*** bgribble has joined #lv2 | 10:25 | |
*** falktx has joined #lv2 | 10:55 | |
*** bgribble has quit IRC | 10:58 | |
*** ricardocrudo has joined #lv2 | 12:51 | |
*** falktx has quit IRC | 15:34 | |
*** falktx has joined #lv2 | 15:36 | |
*** ricardocrudo has quit IRC | 15:37 | |
*** rncbc has joined #lv2 | 16:10 | |
*** rncbc is now known as rncbc|AFK | 16:20 | |
*** ricardocrudo has joined #lv2 | 16:24 | |
drobilla | falktx: I think your extdata feature in jalv has a pointer to a temporary stack variable for data... | 17:37 |
---|---|---|
drobilla | (discovered via -Wconst-qual) | 17:37 |
drobilla | (which is why the other features aren't done that way) | 17:37 |
drobilla | No valgrind warnings with calf though, maybe I'm confused... | 17:40 |
drobilla | I guess if it's only valid/used during instantiate it would be okay | 17:41 |
falktx | it gets the desc->extension data pointer. afaik that is static | 17:43 |
drobilla | yes, but the struct itself is on the stack | 17:45 |
drobilla | ... also, didn't you recently suggest I deprecate these extensions? :) | 17:47 |
drobilla | http://dev.drobilla.net/changeset/5368 | 17:52 |
falktx | I know, but some very special cases need direct access | 17:55 |
drobilla | Fair enough, but deprecated means "no new code should use this, period, because there are newer, superior alternatives" | 17:57 |
drobilla | It's shitty and questionable, but not deprecated :) | 17:57 |
*** edogawa_ has joined #lv2 | 18:13 | |
*** edogawa has quit IRC | 18:16 | |
Anchakor | drobilla: reading this yesterday, I got quite confused: http://lv2plug.in/doc/html/lv2_8h.html#affedc7aabe2715522365f21a9c1ff65d | 18:35 |
Anchakor | drobilla: is it necessary to have lv2_descriptor(uint32_t index) defined at all times, or is the lv2_lib_descriptor(...) enough? | 18:36 |
falktx | I think plugins only need one. hosts should have both | 18:44 |
Anchakor | would be nice if the docs were a little clearer on the topic "This is part of the old discovery API, which has been replaced" (+ all examples use the old-style descriptor) | 18:45 |
drobilla | I guess some other word than "replaced"? | 18:49 |
*** bgribble has joined #lv2 | 18:49 | |
*** rncbc|AFK has quit IRC | 18:50 | |
Anchakor | no, I mean something there should be written that you can choose if you implement lv2_lib_descriptor or lv2_descriptor (or both) | 18:50 |
drobilla | "However, this API is still supported and plugins are not required to migrate." | 18:51 |
Anchakor | yeah reading that I was think "does it mean I don't have to define lv2_descriptor? maybe..." | 18:52 |
drobilla | Well, define "have to", I suppose :) | 18:54 |
drobilla | There are two discovery APIs now. It's... less than ideal | 18:54 |
drobilla | I guess I see how it could be confusing, but don't really know what you expect it to say | 18:54 |
drobilla | (It's kind of hand-wavey since that breakage flew under the radar) | 18:57 |
Anchakor | maybe in lv2_lib_descriptor comment say something like "implementation of old-style discovery by lv2_descriptor is to be considered for legacy hosts, unless bundle_path is required" | 18:59 |
drobilla | Maybe just "plugins SHOULD provide lv2_descriptor if possible" | 18:59 |
Anchakor | maybe s/implementation/addition/ | 18:59 |
bgribble | drobilla: as a fairly new lv2 plugin author, the basic problem I've had with the dox is that it's hard to find a good description of what you have to do to make a plugin. I ran into this dual-discovery API issue too, and it was quite a surprise | 19:01 |
bgribble | I had already run into the problem that the lv2_lib_descriptor api was intended to solve, so when I saw it it made sense immediately | 19:01 |
bgribble | but I had just never seen any document that said, "you can do it this way, or this way, and here are the tradeoffs" | 19:02 |
drobilla | bgribble: That's what examples are for | 19:02 |
drobilla | Probably needs to be links to more forcefully redirect people to them | 19:02 |
Anchakor | the examples all use the old style discovery afaik | 19:02 |
drobilla | Even the greatest reference documentation in the world is total crap for "here's how you do this" | 19:02 |
Anchakor | like the most recent: http://lv2plug.in/repo/trunk/plugins/eg06-fifths.lv2/fifths.c | 19:02 |
Anchakor | best would be to get http://lv2plug.in/book/ to some releasable state | 19:03 |
drobilla | Anchakor: Most don't need the new thing | 19:03 |
drobilla | and at first, support was brand new, so migrating everything would have been a bad idea | 19:03 |
drobilla | (Moving the libs into lv2 proper will reduce that kind of situation) | 19:04 |
drobilla | Anchakor: As far as what'd improve the docs most, yes | 19:05 |
drobilla | As far as what's the best use of my hyper ultra severely limited time lately, not so much | 19:05 |
drobilla | I'll try to clean up the discovery thing | 19:06 |
drobilla | Basically nobody cared, and nobody had to. I blatantly added it for Ingen | 19:06 |
drobilla | and theoretically anything else that needs to know its bundle at instantiation time, though I don't know if anything else does yet | 19:06 |
drobilla | I'd like to make a release today, but nobody has touched the show/hide UI thing at all, so kinda stuck | 19:07 |
Anchakor | I really like how http://lv2plug.in/book/ is already, I think there is very little to add, perhaps just link to it from http://lv2plug.in/ without any exciting announcement yet, it is already very helpful | 19:07 |
drobilla | Anchakor: Hm, yeah, there should be a link | 19:08 |
drobilla | Though the entire front page of lv2plug.in should really be revamped. It's not exactly inviting | 19:08 |
Anchakor | true | 19:09 |
bgribble | drobilla: I need that new discovery api, for the same reason ingen does: a single runtime that supports many plugins that are just saved program data | 19:11 |
bgribble | you have to know what plugin URI the host is looking for at discovery time, so you can say that you implement it | 19:12 |
drobilla | bgribble: yep | 19:12 |
drobilla | bgribble: What are you working on? | 19:12 |
bgribble | It's a puredata type patching system, but with loads of exposed python plumbing. https://github.com/bgribble/mfp | 19:26 |
*** bgribble has quit IRC | 19:37 | |
drobilla | http://pastebin.com/5Qpd9YwB | 19:45 |
Anchakor | good work, with that explanation I wouldn't have been confused | 19:55 |
falktx | drobilla: I can make my carla-lv2 stuff use the new show api, can you add support for it jalv to test it? | 20:13 |
falktx | maybe the juce stuff as well, although they have x11UIs which is usually not an issue | 20:14 |
drobilla | falktx: Isn't carla a host? | 20:19 |
falktx | and a plugin as well :) | 20:19 |
drobilla | ah. | 20:19 |
falktx | the new 2.0-dev code exposes all the internal plugins as lv2 | 20:19 |
falktx | I only have the rack-mode working as plugin for now | 20:19 |
falktx | no fancy internal-patchbay yet | 20:19 |
drobilla | I guess I should probably make one of the examples do it regardless | 20:20 |
falktx | I'm going to try hacking it in carla and juce right now | 20:20 |
drobilla | Supoose I can probably fit that and a 7000 line diff review in today... | 20:20 |
* drobilla is so unprepared for LAC it's not even funny | 20:21 | |
drobilla | Hm..... I suppose this should work in *any* host, so even jalv (not gtk or qt) could do it | 21:06 |
drobilla | But if gtk hasn't been initialized... | 21:07 |
drobilla | Is the known-good solution for this lurking around somewhere? | 21:07 |
* drobilla is lazy | 21:07 | |
falktx | drobilla: ui:showInterface implemented here https://github.com/falkTX/zam-plugins-DPF/ | 21:09 |
falktx | small stuff for quick build | 21:10 |
falktx | now I'm going to see if I can make those UI work | 21:10 |
Anchakor | so falktx is implemeting show API for carla as host, and drobilla for jalv as host for carla... this is getting complex :) | 21:16 |
drobilla | I'm not even going there, at least at first. Too complex. | 21:16 |
drobilla | I need to add an intern interface to lilv so you don't have to alloc all these damned nodes | 21:40 |
*** ricardocrudo has quit IRC | 22:24 | |
*** Gethiox has quit IRC | 22:29 | |
drobilla | falktx: You make me wonder if I ever should have said URNs are okay ;) | 22:44 |
drobilla | Technically the second field is a registered namespace, it's really not supposed to be urn:whatevertheheckanyonewants | 22:44 |
falktx | it's temporary. they should get a proper url soon | 22:45 |
drobilla | I got the sampler to show...... something, but just an empty window, presumably because idle isn't being driven | 22:45 |
drobilla | Your causes a bunch of glib errors and dies | 22:45 |
* drobilla greps jalv for "idle" and finds nothing | 22:46 | |
drobilla | hm. | 22:46 |
drobilla | oh, right, baked in to suil | 22:46 |
falktx | hmm won't that get a bit complex? | 22:48 |
drobilla | what? | 22:48 |
falktx | for regular hosts to implement | 22:49 |
drobilla | I don't know what you're getting at | 22:49 |
falktx | ignore me | 22:50 |
drobilla | Hm, oh, right, there's no gtk main | 22:51 |
* drobilla hates this less than the recursively awful external-ui extension, but it sure isn't fun either | 22:52 | |
drobilla | Maybe gtk in qt only works because qt does have a glib main loop... | 22:52 |
drobilla | This was a bad idea, I probably won't be making any releases now | 22:53 |
drobilla | I'm not sure this can even work for gtk uis in general | 22:54 |
falktx | I think this could possibly solve x11 vs wayland vs mir UIs problem | 22:55 |
drobilla | Maybe, but I don't even want to think about that... | 22:56 |
drobilla | Whether mashing them all into one UI would actually be any better is unclear. | 22:57 |
drobilla | Casting the embeddable baby out with the bathwater anyway. | 22:57 |
drobilla | There is another orthogonal/better solution for that, this is mainly a fallback | 22:58 |
drobilla | But it's half-baked and the other side isn't done and nobody's interested in actually working with it, so I might just strip it out for now and come back to it later when there's actually some incentive | 22:58 |
drobilla | I guess if we can make this work, okay, but I distinctly feel like I've wasted many hours of my day, and I have lots, and lots, and lots, and lots of more important things to do, both in LAD and otherwise... | 22:59 |
Anchakor | just to rougly keep in loop: is this the gracefully-degrade-to-externalUI thing, or the generic-window-handle UI type? | 23:18 |
drobilla | Anchakor: show/hide interface, which would be the former | 23:21 |
drobilla | I guess if I implement idle, and call gtk_main_iteration in the plugin, it might work | 23:21 |
*** ricardocrudo has joined #lv2 | 23:23 | |
falktx | got it working in carla | 23:26 |
falktx | drobilla: we need a way to pass the UI title | 23:27 |
falktx | using options perhaps | 23:27 |
*** ricardocrudo has quit IRC | 23:32 | |
drobilla | falktx: With those plugins as they are in git currently? | 23:33 |
falktx | yes, but there was an issue with resize | 23:34 |
falktx | fixing now | 23:34 |
drobilla | I get http://pastebin.com/ZnNQzX52 | 23:34 |
drobilla | Probably because they aren't calling gtk_init? | 23:34 |
falktx | they use pugl | 23:35 |
drobilla | Hm. Shouldn't be any gtk host side in this case... | 23:36 |
drobilla | oh, right. temporary kludge. n/m | 23:36 |
falktx | drobilla: resize fixed. you can git pull. "make clean" required here | 23:38 |
falktx | I get them closing properly too I think. both via host and ui button close | 23:39 |
falktx | drobilla: if you set ui:parent as null, it will print "Parent Window Id missing, host should use be ui:showInterface..." | 23:40 |
*** edogawa_ has quit IRC | 23:48 |
Generated by irclog2html.py 2.13.0 by Marius Gedminas - find it at mg.pov.lt!