Saturday, 2017-01-28

*** rncbc has joined #lv200:02
*** rncbc has quit IRC00:25
*** drobilla has quit IRC00:36
*** oofus_lt has quit IRC01:07
*** NickSB__ has quit IRC01:08
*** NickSB has joined #lv201:14
*** edogawa has quit IRC01:36
*** badosu has quit IRC01:51
*** trebmuh has quit IRC02:15
*** Yruama_Lairba has quit IRC03:01
ventosusrgareus: yes, I had come up with a JSON-LD wrapper for moony's web-ui06:51
ventosusLV2 atoms can nicely be expressed with JSON-LD06:51
ventosusmy implementation only supported the 'exapanded' form though, which is quite bulky06:52
ventosuswith serd we should be able to implement the 'compacted' form06:53
ventosus'compacted' form is similar to the @prefix syntax in turtle06:53
ventosusI've used it successfully to communicate via websockets, but have migrated to GL in the meantime06:54
ventosusas 'expanded' JSON-LD is a pain to use from within js, I took the following route:07:36
ventosusC atoms -> expanded JSON-LD -> compacting expanded JSON-LD with json-ld.js07:37
ventosusconstruct compacted JSON-LD -> expanding compacted JSON-LD with json-ld.js -> expanded JSON-LD -> C atoms07:37
ventosusas there is a single expanded JSON-LD form, exchanging that form between host and browser is the most straight-forward (needs more bandwidth, though)07:43
ventosusif you instead want to exchange compacted JSON-LD between host and browser, there's the need to implement the whole bunch of compacting/expanding algos on the host side07:44
ventosusas I've failed to find any C library out there implementing the involved algos, I opted for json-ld.js and thus doing the compacting/expanding in js itself07:46
*** deva has joined #lv209:38
*** edogawa has joined #lv209:41
*** rncbc has joined #lv212:07
*** son0p has quit IRC12:30
*** trebmuh has joined #lv212:31
*** Yruama_Lairba has joined #lv212:46
*** son0p has joined #lv212:53
*** edogawa has quit IRC13:02
*** jbitdrop has joined #lv213:06
*** ocbtec has joined #lv213:06
*** Yruama_Lairba has quit IRC13:13
*** deva has quit IRC15:11
*** JaVelDa has left #lv215:35
*** JaVelDa has joined #lv215:38
*** drobilla has joined #lv215:55
*** Yruama_Lairba has joined #lv218:01
*** naptastic has joined #lv218:24
naptasticHow do I debug LV2 plugin loading in more detail than Ardour provides? (It says it's not installed on the system.)18:24
naptasticIt was working, and then I modified the .ttl files in preparation for publication. So, no doubt I screwed those up somehow.18:24
*** oofus_lt has joined #lv218:31
naptasticWhat's supposed to be in ~/.lv2/presets/manifest.ttl ?18:34
naptasticjalv complains about its absence, and complains if it's empty.18:34
ventosusnaptastic: does your plugin validate? http://lv2plug.in/pages/validating-lv2-data.html18:34
naptasticventosus, thanks for the pointer--I'll check that right now.18:35
ventosusnaptastic: some hosts won't load plugins that don't validate anymore, iirc18:35
naptasticventosus, yeah... Ardour just says it isn't installed. I haven't tried other hosts.18:36
naptasticholy crap... I have no idea how to fix this18:37
naptasticdid the file format change between now and when the example plugin was published? 'Cos this just makes no sense at all.18:39
ventosustoo many errors? how did you invoke sord_validate?18:42
rgareusjalv.gtk is nice as a test-host.  also handy for gdb   with jackd -d dummy18:44
naptastic$ sord_validate manifest.ttl18:44
naptasticI also used sord_validate against .ttl files in the example plugins in the lv2 git repo, with similar results. So I'm probably doing something wrong.18:44
ventosusnaptastic: that's not enough. you have to include ALL .ttl files of the whole LV2 spec18:45
ventosus+ your plugin's .ttl files18:45
naptasticoh I see18:46
naptasticsord_validate $( find /home/david/downloads/lad/lv2 -name '*.ttl' ) *.ttl18:48
ventosussomething like that, yeah18:49
naptasticnow it's throwing errors on files in the lv2 spec :|18:50
rgareusmore likely lv2 example plugins18:50
naptasticwhy didn't we use JSON or YAML or ini or something?18:50
naptasticwell, it's not saying what file has the errors18:50
* naptastic drums his fingers and thinks18:50
ventosusmaybe you did not include the schema files18:50
ventosusthat's the wrapper I use: https://paste.open-music-kontrollers.ch/lv2validate18:51
* rgareus uses sord_validate `find ~/src/lv2/ -name '*.ttl' | grep -v plugins` "$@"18:51
naptasticI think it didn't read the schema files first.18:52
naptasticI made it read *just* the schema directory and it reported zero errors. So that's a start.18:52
naptastichttps://dpaste.de/3N6e18:53
naptasticnow what do I do with this?18:53
rgareusprobably you didn't mark your plugin as   a  lv2:plugin18:55
naptastichttps://dpaste.de/p2Q418:55
naptasticthat's the manifest.ttl file... maybe there's a syntax error? I don't know this format.18:56
rgareusthat file by itself is fine.18:58
rgareusyou probably need to validate  both  manifest and nap-smash.ttl  at the same time.18:59
naptasticPerhaps I should just publish what I have. I'm still getting errors from sord_validate, and Ardour still won't load the plugin.18:59
* naptastic tries that18:59
rgareuslv2:Plugin needs a doap:name18:59
drobillanaptastic: Things in LV2_PATH including ~/.lv2 are expected to contain LV2 bundles, i.e. there probably shouldn't be a ~/.lv2/presets/19:12
drobillaYes, we reeeeally need to include a wrapper for this :)19:13
naptasticlol19:13
drobillaor program (it's a bit weird, dependency-wise ATM)19:14
naptasticand while we're at it, can we please put it in ~/.config/lv2 instead of ~/.lv2?19:14
naptastictoo many programs just plop themselves down in my homedir (I'm looking at you, MuseScore)19:14
naptasticbtw, that sord_validate command produces tens of errors for all of the example plugins in lv2's git repo.19:16
drobillaBeing not configuration files, no, not really19:16
drobilla$ sord_validate $(find ~/src/lv2 -name '*.ttl')19:16
drobillaFound 0 errors among 106 files (checked 0 restrictions)19:16
drobilla19:16
naptastic(that's `sord_validate ~/downloads/lad/lv2/schemas.lv2/*ttl *ttl`)19:16
naptastic...what the hell...19:17
naptasticmaybe my sord is out of date?19:17
drobillaPossible.  Some of the number stuff got a bit smarter recently19:17
naptasticWas your last update Dec. 16?19:18
naptasticsorry, Dec. 1119:18
* drobilla notices this machine is out of date19:21
naptasticdrobilla, could running Debian Sid be part of the problem? I'm up-to-date now on everything, and the example plugins still throw errors on validation. https://dpaste.de/TkO719:21
naptasticthough, that is a *lot* better19:21
drobillasord 0.16.0 shouldn't do that19:22
drobilla  * sord_validate: Tolerate xsd:decimal literals for double and float19:22
drobilla    properties if literals match pattern19:22
drobilla19:22
naptasticsord_validate 0.15.1 <http://drobilla.net/software/sord>19:23
naptasticgit push, maybe?19:23
naptasticmaybe I have the wrong remote? http://git.drobilla.net/drobillad.git19:23
drobillahttp://git.drobilla.net/cgit.cgi/sord.git/commit/?id=31ea384f24e12778d6e30cc7a30b0f48f3d5052319:24
naptasticxsd:pattern "[+-]?[0-9]*\\.?[0-9]*([eE][-+]?[0-9]+)"19:26
naptasticwhy does xsd:pattern want the decimal to be escaped? That seems like a mistake.19:26
drobillaTurtle itself supports escapes, so to get a \ in the pattern, you need to escape the \19:28
naptasticah19:28
* naptastic is too used to Perl...19:29
naptasticalso, I didn't do `git submodule update` so I wonder if that's why I have an old version.19:29
* naptastic is compiling...19:29
drobilla./waf update is your friend19:32
naptasticI didn't even know that was a thing19:33
naptasticFound 44 errors among 3 files (checked 0 restrictions)19:33
naptasticso, my plugin's .ttl files are royally screwed up :P19:34
drobillaamong 3 files implies you aren't including the schemas19:35
drobillaYou need to run it on all the things in LV2, and your plugin bundle19:35
drobillasord_validate is dumb, all the rules come from ttl schemas19:35
naptasticyeah, it would also be nice if it told me which file contained which errors19:36
naptasticit's C++, right?19:36
naptasticWhat does "Object not in property range" mean?19:37
drobillaC19:37
drobillaYes, this is a limitation of sord at the moment.  Origin metadata for every statement is not stored in memory19:37
drobilla"object" is the value (third thing in a triple)19:38
drobillaso the value there is not in the specified range of the property19:38
* naptastic begins typing, deletes sentence, starts again, 4 times, then goes to read the .ttl files for the example plugins19:39
naptasticdrobilla, does LV2 not like https URLs?19:46
*** deva has joined #lv219:47
naptastic'license' and 'HardRTCapable' were misspelled. (At some point, someone changed 'Rt' to 'RT' in the definitions.)19:49
drobillaIt doesn't care about URL scheme19:51
drobillaBut an https URL is not equivalent to an http one19:51
naptastichow so? (Should I host my plugin on http instead of https?)19:52
drobillaI am not sure how to answer that question.  One has an s in it where the other does not? :)19:52
naptasticLOL19:52
naptasticalright then19:52
drobillaI don't really know what the general semweb best practice is for this, but you can make your plugin URI whatever you like within reason19:53
naptasticdrobilla, well, sord_validate doesn't think that doap:maintainer is a valid thing, so I'm just going to leave that out for now...20:02
naptasticdrobilla, it still doesn't load in Ardour, and all my .ttl files pass without error. What else should I check?20:04
naptastic(unrelated: Why is /usr/local/lib/lv2 owned root:staff, and the group-sticky bit set on all the plugin directories?)20:06
ventosusnaptastic: does it load in another host? e.g. jalv20:08
ventosusunresolved symbols maybe? link with -Wl,-z,defs to warn about them20:10
drobillanaptastic: It's not, but it's also common.  We were sloppy back in the day (this is why lv2:project exists, which is usually a much nicer way of describing that stuff anyway)20:14
drobillaYes, try a simpler host.  Can't really say much without knowing what "doesn't load" actually means (show up at all? instantiate?)20:15
drobillalv2ls and lv2info are also useful20:15
* naptastic nods20:16
naptasticok, trying stuff20:16
naptasticalso, drobilla, would you take a patch to make lv2ls not dump so much noise to STDERR?20:17
naptasticdrobilla, the only error message I'm able to get (lv2ls, lv2info, jalv) is "plugin not found"20:21
ventosusnaptastic: well, where/how did you install it?20:23
naptasticventosus, I copied the plugin directory to /usr/local/lib/lv2/20:23
naptasticso /usr/local/lib/lv2/nap-smash.lv2/ contains the .ttl files, the .o file, etc...20:24
ventosusok, 'lv2ls | grep naptastic' gives you nothing?20:26
naptasticThere's a lot of output. But I notice right before it mentions nap-smash.ttl, it says "error: failed to expand CURIE `doap:name'"20:27
naptasticmaybe I forgot to include doap in one of my .ttl files20:27
naptasticIf that were a problem though, shouldn't sord_validate have caught it?20:28
naptasticThat was it. I removed the doap:name from manifest.ttl (which doesn't load doap) and lv2ls sees the plugin. Now to check Ardour...20:29
*** oofus_lt has quit IRC20:31
naptasticventosus, lv2ls also dumps everything to STDERR, afaict, so you've got to add 2&>1 before your |grep20:31
naptasticor 2>&120:31
naptasticI can never remember which20:31
ventosuslv2ls here does not write anything to stderr...20:32
*** edogawa has joined #lv220:32
*** oofus_lt has joined #lv220:32
naptastic:|20:33
naptasticjalv happily loads the plugin, then tries to start JACK (which is already running) then exits. ($? = 1) How do I make it work with the JACK that's already running?20:40
naptasticjalv --help doesn't give any clues, unless I'm missing something20:41
naptasticPlugin <http://lv2.naptastic.com/nap-smash.lv2> is missing port 0/320:42
naptasticFINALLY A USEFUL ERROR MESSAGE!20:42
naptasticok, fixed that, and now Ardour fails to load my plugin, with no error message at all.20:46
naptasticlilv_plugin_instantiate(): error: No plugin <https://lv2.naptastic.com/nap-smash.lv2> in <file:///usr/local/lib/lv2/nap-smash.lv2/nap-smash.so>20:55
*** ocbtec has quit IRC20:56
*** oofus_lt has quit IRC20:56
naptasticoh, I think I know what that means20:56
drobillaYou fixed all the invalid problems, so clearly the messages were useful in some respect :P20:57
drobillaYour binary and data aren't using the same URI20:57
naptasticyep--they didn't match21:00
naptasticok, Jalv now loads it, but Ardour doesn't find it.21:01
naptasticI think it's time for a break. I'mma go play some Overwatch for a bit.21:02
naptasticok. I'm an idiot. The name changed, so Ardour thought it was missing when I loaded my session.21:07
naptasticremove, re-add, all's good.21:07
*** deva has quit IRC21:15
*** drobilla has quit IRC21:37
*** wumpus has quit IRC22:22
*** wumpus has joined #lv222:23
*** NickSB has quit IRC23:10
*** NickSB has joined #lv223:22
*** NickSB has quit IRC23:56
*** NickSB has joined #lv223:57

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