Saturday, 2014-04-26

*** ricardocrudo has quit IRC01:39
*** falktx has quit IRC03:47
*** edogawa has joined #lv207:28
*** bgribble has joined #lv210:25
*** falktx has joined #lv210:55
*** bgribble has quit IRC10:58
*** ricardocrudo has joined #lv212:51
*** falktx has quit IRC15:34
*** falktx has joined #lv215:36
*** ricardocrudo has quit IRC15:37
*** rncbc has joined #lv216:10
*** rncbc is now known as rncbc|AFK16:20
*** ricardocrudo has joined #lv216:24
drobillafalktx: 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
drobillaNo valgrind warnings with calf though, maybe I'm confused...17:40
drobillaI guess if it's only valid/used during instantiate it would be okay17:41
falktxit gets the desc->extension data pointer. afaik that is static17:43
drobillayes, but the struct itself is on the stack17:45
drobilla... also, didn't you recently suggest I deprecate these extensions? :)17:47
drobillahttp://dev.drobilla.net/changeset/536817:52
falktxI know, but some very special cases need direct access17:55
drobillaFair enough, but deprecated means "no new code should use this, period, because there are newer, superior alternatives"17:57
drobillaIt's shitty and questionable, but not deprecated :)17:57
*** edogawa_ has joined #lv218:13
*** edogawa has quit IRC18:16
Anchakordrobilla: reading this yesterday, I got quite confused: http://lv2plug.in/doc/html/lv2_8h.html#affedc7aabe2715522365f21a9c1ff65d18:35
Anchakordrobilla: is it necessary to have lv2_descriptor(uint32_t index) defined at all times, or is the lv2_lib_descriptor(...) enough?18:36
falktxI think plugins only need one. hosts should have both18:44
Anchakorwould 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
drobillaI guess some other word than "replaced"?18:49
*** bgribble has joined #lv218:49
*** rncbc|AFK has quit IRC18:50
Anchakorno, 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
Anchakoryeah reading that I was think "does it mean I don't have to define lv2_descriptor? maybe..."18:52
drobillaWell, define "have to", I suppose :)18:54
drobillaThere are two discovery APIs now.  It's... less than ideal18:54
drobillaI guess I see how it could be confusing, but don't really know what you expect it to say18:54
drobilla(It's kind of hand-wavey since that breakage flew under the radar)18:57
Anchakormaybe 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
drobillaMaybe just "plugins SHOULD provide lv2_descriptor if possible"18:59
Anchakormaybe s/implementation/addition/18:59
bgribbledrobilla: 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 surprise19:01
bgribbleI had already run into the problem that the lv2_lib_descriptor api was intended to solve, so when I saw it it made sense immediately19:01
bgribblebut 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
drobillabgribble: That's what examples are for19:02
drobillaProbably needs to be links to more forcefully redirect people to them19:02
Anchakorthe examples all use the old style discovery afaik19:02
drobillaEven the greatest reference documentation in the world is total crap for "here's how you do this"19:02
Anchakorlike the most recent: http://lv2plug.in/repo/trunk/plugins/eg06-fifths.lv2/fifths.c19:02
Anchakorbest would be to get http://lv2plug.in/book/ to some releasable state19:03
drobillaAnchakor: Most don't need the new thing19:03
drobillaand at first, support was brand new, so migrating everything would have been a bad idea19:03
drobilla(Moving the libs into lv2 proper will reduce that kind of situation)19:04
drobillaAnchakor: As far as what'd improve the docs most, yes19:05
drobillaAs far as what's the best use of my hyper ultra severely limited time lately, not so much19:05
drobillaI'll try to clean up the discovery thing19:06
drobillaBasically nobody cared, and nobody had to.  I blatantly added it for Ingen19:06
drobillaand theoretically anything else that needs to know its bundle at instantiation time, though I don't know if anything else does yet19:06
drobillaI'd like to make a release today, but nobody has touched the show/hide UI thing at all, so kinda stuck19:07
AnchakorI 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 helpful19:07
drobillaAnchakor: Hm, yeah, there should be a link19:08
drobillaThough the entire front page of lv2plug.in should really be revamped.  It's not exactly inviting19:08
Anchakortrue19:09
bgribbledrobilla: I need that new discovery api, for the same reason ingen does: a single runtime that supports many plugins that are just saved program data19:11
bgribbleyou have to know what plugin URI the host is looking for at discovery time, so you can say that you implement it19:12
drobillabgribble: yep19:12
drobillabgribble: What are you working on?19:12
bgribbleIt's a puredata type patching system, but with loads of exposed python plumbing.  https://github.com/bgribble/mfp19:26
*** bgribble has quit IRC19:37
drobillahttp://pastebin.com/5Qpd9YwB19:45
Anchakorgood work, with that explanation I wouldn't have been confused19:55
falktxdrobilla: I can make my carla-lv2 stuff use the new show api, can you add support for it jalv to test it?20:13
falktxmaybe the juce stuff as well, although they have x11UIs which is usually not an issue20:14
drobillafalktx: Isn't carla a host?20:19
falktxand a plugin as well :)20:19
drobillaah.20:19
falktxthe new 2.0-dev code exposes all the internal plugins as lv220:19
falktxI only have the rack-mode working as plugin for now20:19
falktxno fancy internal-patchbay yet20:19
drobillaI guess I should probably make one of the examples do it regardless20:20
falktxI'm going to try hacking it in carla and juce right now20:20
drobillaSupoose 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 funny20:21
drobillaHm..... I suppose this should work in *any* host, so even jalv (not gtk or qt) could do it21:06
drobillaBut if gtk hasn't been initialized...21:07
drobillaIs the known-good solution for this lurking around somewhere?21:07
* drobilla is lazy21:07
falktxdrobilla: ui:showInterface implemented here https://github.com/falkTX/zam-plugins-DPF/21:09
falktxsmall stuff for quick build21:10
falktxnow I'm going to see if I can make those UI work21:10
Anchakorso falktx is implemeting show API for carla as host, and drobilla for jalv as host for carla... this is getting complex :)21:16
drobillaI'm not even going there, at least at first.  Too complex.21:16
drobillaI need to add an intern interface to lilv so you don't have to alloc all these damned nodes21:40
*** ricardocrudo has quit IRC22:24
*** Gethiox has quit IRC22:29
drobillafalktx: You make me wonder if I ever should have said URNs are okay ;)22:44
drobillaTechnically the second field is a registered namespace, it's really not supposed to be urn:whatevertheheckanyonewants22:44
falktxit's temporary. they should get a proper url soon22:45
drobillaI got the sampler to show...... something, but just an empty window, presumably because idle isn't being driven22:45
drobillaYour causes a bunch of glib errors and dies22:45
* drobilla greps jalv for "idle" and finds nothing22:46
drobillahm.22:46
drobillaoh, right, baked in to suil22:46
falktxhmm won't that get a bit complex?22:48
drobillawhat?22:48
falktxfor regular hosts to implement22:49
drobillaI don't know what you're getting at22:49
falktxignore me22:50
drobillaHm, oh, right, there's no gtk main22:51
* drobilla hates this less than the recursively awful external-ui extension, but it sure isn't fun either22:52
drobillaMaybe gtk in qt only works because qt does have a glib main loop...22:52
drobillaThis was a bad idea, I probably won't be making any releases now22:53
drobillaI'm not sure this can even work for gtk uis in general22:54
falktxI think this could possibly solve x11 vs wayland vs mir UIs problem22:55
drobillaMaybe, but I don't even want to think about that...22:56
drobillaWhether mashing them all into one UI would actually be any better is unclear.22:57
drobillaCasting the embeddable baby out with the bathwater anyway.22:57
drobillaThere is another orthogonal/better solution for that, this is mainly a fallback22:58
drobillaBut 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 incentive22:58
drobillaI 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
Anchakorjust to rougly keep in loop: is this the gracefully-degrade-to-externalUI thing, or the generic-window-handle UI type?23:18
drobillaAnchakor: show/hide interface, which would be the former23:21
drobillaI guess if I implement idle, and call gtk_main_iteration in the plugin, it might work23:21
*** ricardocrudo has joined #lv223:23
falktxgot it working in carla23:26
falktxdrobilla: we need a way to pass the UI title23:27
falktxusing options perhaps23:27
*** ricardocrudo has quit IRC23:32
drobillafalktx: With those plugins as they are in git currently?23:33
falktxyes, but there was an issue with resize23:34
falktxfixing now23:34
drobillaI get http://pastebin.com/ZnNQzX5223:34
drobillaProbably because they aren't calling gtk_init?23:34
falktxthey use pugl23:35
drobillaHm.  Shouldn't be any gtk host side in this case...23:36
drobillaoh, right.  temporary kludge.  n/m23:36
falktxdrobilla: resize fixed. you can git pull. "make clean" required here23:38
falktxI get them closing properly too I think. both via host and ui button close23:39
falktxdrobilla: 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 IRC23:48

Generated by irclog2html.py 2.13.0 by Marius Gedminas - find it at mg.pov.lt!