*** falktx has joined #lv2 | 00:24 | |
*** rachidori has quit IRC | 00:52 | |
*** ricardocrudo has quit IRC | 02:34 | |
*** falktx has quit IRC | 07:46 | |
*** grejppi has quit IRC | 09:08 | |
*** zth has joined #lv2 | 09:13 | |
*** grejppi has joined #lv2 | 09:18 | |
*** zth has quit IRC | 10:49 | |
*** rncbc has joined #lv2 | 11:04 | |
*** rachidori has joined #lv2 | 11:08 | |
*** rachidori has quit IRC | 11:37 | |
*** falktx has joined #lv2 | 13:47 | |
*** rachidori has joined #lv2 | 13:56 | |
*** ricardocrudo has joined #lv2 | 15:10 | |
*** falktx has quit IRC | 15:16 | |
*** zth has joined #lv2 | 15:48 | |
*** falktx has joined #lv2 | 16:01 | |
*** falktx has quit IRC | 16:23 | |
*** falktx has joined #lv2 | 16:47 | |
*** drobilla has joined #lv2 | 17:41 | |
*** falktx has quit IRC | 17:52 | |
*** zth has quit IRC | 17:57 | |
*** falktx has joined #lv2 | 17:59 | |
* drobilla wonders what a const-correct serd would look like | 18:41 | |
drobilla | One of the more annoying things about C is that the instant you have a pointer in a struct in your API, const-correctness goes right out the window | 18:42 |
---|---|---|
drobilla | I could split the string out and only use a struct for 'metadata' (size and so on), but that would be annoying, and doesn't mesh with the plan of unifying the node types to have serd and sord as one | 18:43 |
drobilla | (and potentially use the same node type in a lilv successor, as well. push the numerics all the way down, much simpler overall) | 18:43 |
* falktx is missing the context | 18:45 | |
drobilla | There isn't one, really :) | 18:45 |
falktx | btw, I had some patches for lv2 | 18:46 |
drobilla | e.g. serd can work with user-supplied strings, even static ones | 18:46 |
drobilla | which means you're passing a non-const char* to a static const string to a library, or sometimes vice-versa | 18:46 |
drobilla | Well, you know where I prefer those ;) | 18:49 |
drobilla | email will do, too | 18:49 |
falktx | I think I lost it, I had it nice and ready | 18:49 |
drobilla | On that, I guess I could waste the day migrating to git, but I'd much rather do something more... pleasant | 18:50 |
falktx | found it, http://kxstudio.sourceforge.net/Paste/repo/eW0J1 | 18:52 |
falktx | drobilla: ignoring the const changes, there is at least 2 things that can be imported | 18:53 |
falktx | 1. clang deprecated support | 18:53 |
falktx | 2. missing extern "C" on some headers | 18:53 |
drobilla | Yeah, already broke things for people with hasty const changes. Won't be doing that again. | 18:53 |
falktx | drobilla: the issue with clang is that it defines __GNUC__ but doesn't support "pragma GCC diagnostic" | 18:54 |
falktx | oh, also this bit: | 18:55 |
falktx | -out = (LV2_Atom_Forge_Ref)forge->buf + forge->offset; | 18:55 |
drobilla | Hm, odd. I guess there are no functions in those headers so it didn't really matter. | 18:55 |
falktx | +out = (LV2_Atom_Forge_Ref)forge->buf + (LV2_Atom_Forge_Ref)forge->offset; | 18:55 |
falktx | I had warnings when building with strict c++ rules | 18:55 |
drobilla | Can't imagine why, equivalent | 18:55 |
falktx | I'm going to watch the game now, ttyl | 18:56 |
* drobilla sighs | 18:56 | |
drobilla | This would be way less of a PITA if you'd use the standard directory structure instead of wrecking everything | 18:56 |
falktx | I bundle the lv2 headers in a single dir, easier for me | 18:57 |
falktx | sorry about that! | 18:57 |
falktx | anyway, later | 18:57 |
*** falktx has quit IRC | 18:57 | |
drobilla | Yeah, well.. easier until the names clash | 18:57 |
drobilla | or you want to build against the stock install | 18:58 |
drobilla | or 18 million other reasons you don't just assume a bunch of rules on another project, AGAIN | 18:58 |
* drobilla moves on to other things | 18:58 | |
*** rachidori has quit IRC | 19:26 | |
*** rachidori has joined #lv2 | 19:26 | |
*** rachidori has quit IRC | 19:39 | |
drobilla | Anyone know a plugin that writes to a control out off the top of their heads? | 20:32 |
* drobilla should write a query tool for this | 20:32 | |
drobilla | Oh, right, meters | 20:34 |
*** falktx has joined #lv2 | 20:58 | |
*** LAbot has joined #lv2 | 22:31 | |
*** zth has quit IRC | 22:35 | |
drobilla | rgareus: State change thing is reproducible in Jalv by saving the same preset twice | 22:49 |
drobilla | I think maybe unloading everything previously from the bundle might be okay sometimes usually... | 22:49 |
rgareus | drobilla: unloading/reloading the whole world may take a few seconds, no? | 22:51 |
rgareus | drobilla: is it complicated to invalidate a given subset of the world? ie just force-reload the state? | 22:52 |
rgareus | e.g. lilv_world_force_load_resource() or similar. | 22:53 |
drobilla | rgareus: Yeah, but that might cause even more problems. Every reference to lilv everything would have to go | 22:53 |
drobilla | rgareus: Every triple is annotated with the bundle it came from, so dropping an entire bundle should be doable | 22:54 |
drobilla | If any LilvNodes are around that refer to those nodes... I guess they hold a reference so it shouldn't explode... | 22:54 |
rgareus | drobilla: sounds like properly cleaning up is more complex than just reloading the world. | 22:55 |
drobilla | rgareus: Well, imagine auditing ardour so that every LilvNode or other lilv reference everywhere is deleted and refreshed | 22:56 |
drobilla | rgareus: Doesn't sound very fun to me | 22:56 |
rgareus | drobilla: could something be missed when reloading the world? | 22:56 |
drobilla | At least this way, it's contained to just that bundle | 22:56 |
drobilla | rgareus: Well, anything and everything could theoretically change | 22:57 |
drobilla | Serious changes are bound to screw things up anyway, but you can usually get away with it | 22:57 |
rgareus | drobilla: mmh URIs of existing plugins would need to be re-mapped as well.. | 22:57 |
drobilla | Ideally there'd be a bool parameter to lilv_world_load_bundle for this, but there isn't | 22:58 |
* drobilla dreams of a world where C had default argument value and appending new parameters with defaults didn't change ABI | 22:59 | |
rgareus | drobilla: it seems the API under the hood is prepared. there's sord_remove and there's zix_tree_remove as well. | 22:59 |
* drobilla wonders if removing is actually done anywhere at present | 23:00 | |
rgareus | though in this case we'd just need to override, not actually remove + add. | 23:00 |
rgareus | drobilla: only used in test code. | 23:01 |
drobilla | Nope. | 23:01 |
drobilla | rgareus: What does "override" mean? | 23:01 |
rgareus | drobilla: replace value | 23:01 |
drobilla | Which is different from remove and add how? :) | 23:01 |
rgareus | overwrite | 23:01 |
rgareus | drobilla: the key can stay :) | 23:02 |
drobilla | Well, this is only tricky with blank nodes | 23:02 |
drobilla | With URIs and literals, anyway, triples are values. Equivalence is real equivalence | 23:02 |
drobilla | (which is why duplicates don't make sense) | 23:02 |
rgareus | drobilla: I wanted to check what happens if I change lilv's world zix_tree_new() allow_duplicates to 'true'... | 23:03 |
rgareus | ..but I got distacted by the world-cup final :) | 23:03 |
drobilla | rgareus: Definitely nothing good, and those trees aren't the sord ones anyway | 23:03 |
drobilla | (Though sord uses that tree too, less than ideally. I need to make a less shit tree for that one of these days and make some look-at-me benchmarks for the store side of things) | 23:04 |
drobilla | Spent the last many weeks working on a *parallel* high-nary-tree, so I should be able to implement a bloody B+-tree easily enough. Anyway. | 23:05 |
drobilla | I will have a go at just making load_bundle drop everything from it first | 23:06 |
drobilla | Likely it works enough | 23:06 |
drobilla | Then I need to wade through LV2 itself and see if I can make some releases... | 23:07 |
* drobilla needs less packages in his life | 23:22 | |
*** rncbc has quit IRC | 23:42 |
Generated by irclog2html.py 2.13.0 by Marius Gedminas - find it at mg.pov.lt!