Wednesday, 2016-12-28

rgareusdrobilla: https://github.com/drobilla/serd/blob/master/src/node.c#L163    adds a bool to a size_t;   that's + evil, indeed.00:25
rgareusdrobilla: I think it should be      evil ? 1 : 000:25
rgareus n/m  C99  does mandate true = 1,  false = 000:27
drobilla'course it does00:30
drobillaGranted, doing so directly is a bit... "creative", but I figure the implicit conversion of false = 0 and true = 1 is baked in to C code all over the place, so you might as well use it00:31
drobillaIt's really handy to avoid conditionals in arithmetic sometimes00:32
rgareusdrobilla: I'm searching where lilv_state_save() does strip the common prefix   so that the manifest has      rdfs:seeAlso <state.ttl>00:32
rgareusand not  rdfs:seeAlso <file:///absolute/path/... >       to track down  http://tracker.ardour.org/view.php?id=718600:33
drobillargareus: the base URI is set accordingly00:33
drobillaHm.  Is Zyn weird with state somehow?  IIRC works with other plugins?00:34
rgareusdrobilla: also mverb (in that session)00:36
rgareusdrobilla: I don't yet see where base_uri comes into play here.00:38
rgareus ardour calls   lilv_state_save (...., NULL, new_dir.c_str(), "state.ttl");    lilv_state_save()  eventually calls   add_state_to_manifest (...,NULL, path)00:39
rgareusand  src/state.c:1066  sets path   to  lilv_path_join(abs_dir, filename);00:40
drobillargareus: For file-URI states, the file URI is, well, the URI of the state00:41
drobillargareus: If the base URI of the document is the bundle or (equivalently because of how base URI resolution works), it comes out as just <state.ttl> or whatever00:41
drobillaCould be something weird going on in there, not sure.  Curious what the variable is here00:42
rgareusdrobilla: and stripping the base URI is sord's doing?00:42
rgareusI meant serd.00:42
drobillargareus: serd, but yes, it's a serialization thing00:43
rgareusI cannot reproduce the issue,  and that  <#07/...>  definitly looks weird.  best guess so far is some charset problem. (IIRC unfa is on a russian system)00:44
rgareusoops. Poland.00:45
rgareusthey have weird characters, too though :)00:46
drobillaah00:46
rgareusdrobilla: any insight?00:46
drobillaEscaping space like that, too... hm00:48
drobillalilv_path_join is not UTF-8 aware, but shouldn't matter.00:50
rgareusdrobilla: in case it matters,  https://nightly.ardour.org/list.php#build_deps  lists the versions we use.00:51
drobillaReproducible for you?00:54
* drobilla doesn't have an ardour build on this machine at the moment00:54
drobillaShould be easy to track down where the weird prefix comes from in particular if it is and you can break there00:54
drobillaMaybe a count is off because of wide chars and so it doesn't chop right, but serd itself is definitely utf-8 clean...00:55
rgareusdrobilla: I cannot reproduce it00:55
drobillaor local filesystem is some non-UTF8 code page?00:56
drobillaSo the BEL is actually in the path and this makes it go boom...00:56
rgareusdrobilla: that was my best guess:  http://tracker.ardour.org/view.php?id=7186#c1922100:56
drobilla(is this a thing that happens on l=Linux in 2016?)00:56
drobillaOh, yeah.  I suppose I could have read first :)00:57
drobillaI don't see how else something as odd as #07 could end up in there00:57
rgareusmaybe a NTFS external disk using ISO-whatever.    then again he said  Reproducibility:  random.  so it may also be some memory corruption00:57
drobillaor that00:57
rgareusold zyn version in old carla..  what could possibly go wrong :)   sorry, falktx.00:58
drobillaI definitely haven't tested any of this stuff on such systems00:58
rgareusat least Carla is on the move again.00:58
rgareusdrobilla: is encoding spaces as  \u0020  the correct way for a URI?01:00
* rgareus would have expected %2001:01
drobillaNo, that's weird, too.  Should be percent encoded01:01
drobilla... I think01:01
drobillahm.  it is legal, at least01:04
rgareusquestion of the day:   what does snprintf() do if locale is not some UTF-8 locale  and you printf a unicode char?01:04
rgareusand follow up question:  can serd_strlen() cope with it?01:05
drobillaNot sure.  Serd doesn't care about locale01:05
drobillaThough it turns out that all "length" measuring in UTF-8 terms was pointless to have in the library at all and nodes just waste space for it01:06
rgareuswell  serd_strlen() doesn't. but [sn]printf() does01:06
drobilla(and this is almost always true universally, "number of characters" is almost never a useful measure)01:06
rgareusindeed01:06
drobillaHm, some of the URI construction stuff does use snprintf.  Good question01:07
rgareusif serd  counts " " as 1 byte  but snprintf() formats it as   \u0020  6 bytes. that may explain things01:07
drobillaEasy enough to avoid that particular use of snprintf if it is problematic, at least01:09
* drobilla sometimes pointlessly fantasized about a libc-free serd01:10
rgareusdrobilla: re ^^ "BEL" that'd be "%07"  the URI has "#07"01:10
rgareusdrobilla: I've also asked for `locale` on the bug ticket.01:12
drobillaoh, right01:12
drobillaAnyway, yeah, I imagine we'll need to absolute path and FS encoding to figure that one out01:13
drobillaIn this case it'd be ardour's responsibility to deal with that if we have to, the libs are utf8everywhere01:14
rgareusinterestinly on the same day, a Mixbus/Windows user reported with a similar issue.  the state/ dir is always empty (harrison XT-TG)01:14
drobillaHm.  Never personally tested it on Windows01:17
rgareusardour creates the dir.   and the plugin state-save is not fancy (just a few floats).  it must likewise be some lilv/serd  file-path issue.01:17
drobillaMixbus/Ardour + state that is.  The lib stuff itself yes01:17
drobillaProbably.  Windows paths are the worst :)01:17
rgareusdrobilla: I tested it on windows and can't reproduce it, either.   it also works for many other users01:17
* drobilla blames locale01:18
rgareuslikely01:18
drobillaI try, but setting up weird filesystems is past my pay grade :)01:19
drobillaShould probably add some locale stuff to my test suites, though, come to think of it01:19
rgareusor  fopen() vs open()01:19
rgareusfopen() by default uses the ANSI codepage (and not unicode)01:21
*** artfwo has quit IRC01:22
*** trebmuh has quit IRC01:25
drobillaCould have something to do with the latter Windows case I suppose01:35
drobillai18n everything on that platform is an absolute nightmare01:35
*** drobilla has quit IRC02:53
*** falktx has quit IRC06:08
*** trebmuh has joined #lv209:50
*** artfwo has joined #lv211:57
*** deva has joined #lv212:22
*** falktx has joined #lv215:12
dock9I'm looking for a polyphonic synth that can generate pure sine waves.  Just starting music theory and want to see the pure pitches and harmonics of chords in Gareus' x42-eq spectrum analyzer.  Using Ardour under KX-Studio.  I don't know much about synths yet.  Help appreciated.15:59
rgareusdock9:  probably easiest is to use pure-data16:01
rgareusdock9: zynaddsubfx has an additive synth where you you set overtones easily16:02
dock9thanks rgareus, will dig in that direction.  Was just reading your code yesterday to see how a complex lv2 holds together.  :)16:07
rgareusdock9: actually zynaddsubfx (recent zyn-fusion LV2) may just be what you want.16:07
rgareuse.g.  http://robin.linuxaudio.org/tmp/zyn_addsynth.png   additive sine-waves   here:  fundamental  + 12th overtone16:09
rgareusit allows to shift the phase of every overtone as well...  and a whole lot of other things.16:10
dock9my zynaddsubfx UI doesn't look anything like that screenshot, although it does seem to be generating nice pure tones.  Is it a differnt plugin or is KX-Stereo repo out of date?16:17
rgareusdock9: probably  zyn-fusion was only released a few weeks ago.  and it's current UI is non-free16:17
rgareushttp://zynaddsubfx.sourceforge.net/download.html16:17
rgareusyou can get a demo version, though (turns silent after 10mins,  save/reload..  continue)16:18
rgareus..or support that amazing project for $5916:18
rgareusthe old 2.x version isn't bad. but the multi-window GUI can be a mouthful to navigate.16:20
dock9I'm not adverse to supporting good projects.16:20
dock9is he completely close-sourcing it though?16:21
rgareusin the old version:    main window > Edit Instrument -> Add SYnth  Edit->  Show Voice Parameters16:21
rgareusdock9: no. the synth itself is GPL and most of the GUI is as well.   the rendering engine is currently not.16:22
rgareusIIUC there's a plan to eventually release the code when he breaks even on development time..  but there's no official statement or something.  so who knows16:23
rgareusdock9: as you may have found out by reading some [LV2] sources.  the GUI is usually by far the most intense part.16:24
rgareusoops I forgot ^^   main window > Edit Instrument -> Add SYnth  Edit->  Show Voice Parameters  -> Change    to see the OSC view16:25
dock9gotta run, be back after "real work".  Thanks for the pointers, nice to meet you.16:25
rgareusdock9: likewise.  have fun!16:26
*** rncbc has joined #lv216:33
*** dsheeler has quit IRC18:23
*** oofus_lt has joined #lv218:42
*** dsheeler has joined #lv218:50
*** deva has quit IRC21:36
*** oofus_lt has quit IRC21:44
*** rncbc has quit IRC23:15
*** NickSB2 has quit IRC23:57

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