rgareus | drobilla: https://github.com/drobilla/serd/blob/master/src/node.c#L163 adds a bool to a size_t; that's + evil, indeed. | 00:25 |
---|---|---|
rgareus | drobilla: I think it should be evil ? 1 : 0 | 00:25 |
rgareus | n/m C99 does mandate true = 1, false = 0 | 00:27 |
drobilla | 'course it does | 00:30 |
drobilla | Granted, 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 it | 00:31 |
drobilla | It's really handy to avoid conditionals in arithmetic sometimes | 00:32 |
rgareus | drobilla: I'm searching where lilv_state_save() does strip the common prefix so that the manifest has rdfs:seeAlso <state.ttl> | 00:32 |
rgareus | and not rdfs:seeAlso <file:///absolute/path/... > to track down http://tracker.ardour.org/view.php?id=7186 | 00:33 |
drobilla | rgareus: the base URI is set accordingly | 00:33 |
drobilla | Hm. Is Zyn weird with state somehow? IIRC works with other plugins? | 00:34 |
rgareus | drobilla: also mverb (in that session) | 00:36 |
rgareus | drobilla: 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 |
rgareus | and src/state.c:1066 sets path to lilv_path_join(abs_dir, filename); | 00:40 |
drobilla | rgareus: For file-URI states, the file URI is, well, the URI of the state | 00:41 |
drobilla | rgareus: 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 whatever | 00:41 |
drobilla | Could be something weird going on in there, not sure. Curious what the variable is here | 00:42 |
rgareus | drobilla: and stripping the base URI is sord's doing? | 00:42 |
rgareus | I meant serd. | 00:42 |
drobilla | rgareus: serd, but yes, it's a serialization thing | 00:43 |
rgareus | I 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 |
rgareus | oops. Poland. | 00:45 |
rgareus | they have weird characters, too though :) | 00:46 |
drobilla | ah | 00:46 |
rgareus | drobilla: any insight? | 00:46 |
drobilla | Escaping space like that, too... hm | 00:48 |
drobilla | lilv_path_join is not UTF-8 aware, but shouldn't matter. | 00:50 |
rgareus | drobilla: in case it matters, https://nightly.ardour.org/list.php#build_deps lists the versions we use. | 00:51 |
drobilla | Reproducible for you? | 00:54 |
* drobilla doesn't have an ardour build on this machine at the moment | 00:54 | |
drobilla | Should be easy to track down where the weird prefix comes from in particular if it is and you can break there | 00:54 |
drobilla | Maybe 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 |
rgareus | drobilla: I cannot reproduce it | 00:55 |
drobilla | or local filesystem is some non-UTF8 code page? | 00:56 |
drobilla | So the BEL is actually in the path and this makes it go boom... | 00:56 |
rgareus | drobilla: that was my best guess: http://tracker.ardour.org/view.php?id=7186#c19221 | 00:56 |
drobilla | (is this a thing that happens on l=Linux in 2016?) | 00:56 |
drobilla | Oh, yeah. I suppose I could have read first :) | 00:57 |
drobilla | I don't see how else something as odd as #07 could end up in there | 00:57 |
rgareus | maybe a NTFS external disk using ISO-whatever. then again he said Reproducibility: random. so it may also be some memory corruption | 00:57 |
drobilla | or that | 00:57 |
rgareus | old zyn version in old carla.. what could possibly go wrong :) sorry, falktx. | 00:58 |
drobilla | I definitely haven't tested any of this stuff on such systems | 00:58 |
rgareus | at least Carla is on the move again. | 00:58 |
rgareus | drobilla: is encoding spaces as \u0020 the correct way for a URI? | 01:00 |
* rgareus would have expected %20 | 01:01 | |
drobilla | No, that's weird, too. Should be percent encoded | 01:01 |
drobilla | ... I think | 01:01 |
drobilla | hm. it is legal, at least | 01:04 |
rgareus | question of the day: what does snprintf() do if locale is not some UTF-8 locale and you printf a unicode char? | 01:04 |
rgareus | and follow up question: can serd_strlen() cope with it? | 01:05 |
drobilla | Not sure. Serd doesn't care about locale | 01:05 |
drobilla | Though 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 it | 01:06 |
rgareus | well serd_strlen() doesn't. but [sn]printf() does | 01:06 |
drobilla | (and this is almost always true universally, "number of characters" is almost never a useful measure) | 01:06 |
rgareus | indeed | 01:06 |
drobilla | Hm, some of the URI construction stuff does use snprintf. Good question | 01:07 |
rgareus | if serd counts " " as 1 byte but snprintf() formats it as \u0020 6 bytes. that may explain things | 01:07 |
drobilla | Easy enough to avoid that particular use of snprintf if it is problematic, at least | 01:09 |
* drobilla sometimes pointlessly fantasized about a libc-free serd | 01:10 | |
rgareus | drobilla: re ^^ "BEL" that'd be "%07" the URI has "#07" | 01:10 |
rgareus | drobilla: I've also asked for `locale` on the bug ticket. | 01:12 |
drobilla | oh, right | 01:12 |
drobilla | Anyway, yeah, I imagine we'll need to absolute path and FS encoding to figure that one out | 01:13 |
drobilla | In this case it'd be ardour's responsibility to deal with that if we have to, the libs are utf8everywhere | 01:14 |
rgareus | interestinly on the same day, a Mixbus/Windows user reported with a similar issue. the state/ dir is always empty (harrison XT-TG) | 01:14 |
drobilla | Hm. Never personally tested it on Windows | 01:17 |
rgareus | ardour 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 |
drobilla | Mixbus/Ardour + state that is. The lib stuff itself yes | 01:17 |
drobilla | Probably. Windows paths are the worst :) | 01:17 |
rgareus | drobilla: I tested it on windows and can't reproduce it, either. it also works for many other users | 01:17 |
* drobilla blames locale | 01:18 | |
rgareus | likely | 01:18 |
drobilla | I try, but setting up weird filesystems is past my pay grade :) | 01:19 |
drobilla | Should probably add some locale stuff to my test suites, though, come to think of it | 01:19 |
rgareus | or fopen() vs open() | 01:19 |
rgareus | fopen() by default uses the ANSI codepage (and not unicode) | 01:21 |
*** artfwo has quit IRC | 01:22 | |
*** trebmuh has quit IRC | 01:25 | |
drobilla | Could have something to do with the latter Windows case I suppose | 01:35 |
drobilla | i18n everything on that platform is an absolute nightmare | 01:35 |
*** drobilla has quit IRC | 02:53 | |
*** falktx has quit IRC | 06:08 | |
*** trebmuh has joined #lv2 | 09:50 | |
*** artfwo has joined #lv2 | 11:57 | |
*** deva has joined #lv2 | 12:22 | |
*** falktx has joined #lv2 | 15:12 | |
dock9 | I'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 |
rgareus | dock9: probably easiest is to use pure-data | 16:01 |
rgareus | dock9: zynaddsubfx has an additive synth where you you set overtones easily | 16:02 |
dock9 | thanks rgareus, will dig in that direction. Was just reading your code yesterday to see how a complex lv2 holds together. :) | 16:07 |
rgareus | dock9: actually zynaddsubfx (recent zyn-fusion LV2) may just be what you want. | 16:07 |
rgareus | e.g. http://robin.linuxaudio.org/tmp/zyn_addsynth.png additive sine-waves here: fundamental + 12th overtone | 16:09 |
rgareus | it allows to shift the phase of every overtone as well... and a whole lot of other things. | 16:10 |
dock9 | my 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 |
rgareus | dock9: probably zyn-fusion was only released a few weeks ago. and it's current UI is non-free | 16:17 |
rgareus | http://zynaddsubfx.sourceforge.net/download.html | 16:17 |
rgareus | you can get a demo version, though (turns silent after 10mins, save/reload.. continue) | 16:18 |
rgareus | ..or support that amazing project for $59 | 16:18 |
rgareus | the old 2.x version isn't bad. but the multi-window GUI can be a mouthful to navigate. | 16:20 |
dock9 | I'm not adverse to supporting good projects. | 16:20 |
dock9 | is he completely close-sourcing it though? | 16:21 |
rgareus | in the old version: main window > Edit Instrument -> Add SYnth Edit-> Show Voice Parameters | 16:21 |
rgareus | dock9: no. the synth itself is GPL and most of the GUI is as well. the rendering engine is currently not. | 16:22 |
rgareus | IIUC 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 knows | 16:23 |
rgareus | dock9: as you may have found out by reading some [LV2] sources. the GUI is usually by far the most intense part. | 16:24 |
rgareus | oops I forgot ^^ main window > Edit Instrument -> Add SYnth Edit-> Show Voice Parameters -> Change to see the OSC view | 16:25 |
dock9 | gotta run, be back after "real work". Thanks for the pointers, nice to meet you. | 16:25 |
rgareus | dock9: likewise. have fun! | 16:26 |
*** rncbc has joined #lv2 | 16:33 | |
*** dsheeler has quit IRC | 18:23 | |
*** oofus_lt has joined #lv2 | 18:42 | |
*** dsheeler has joined #lv2 | 18:50 | |
*** deva has quit IRC | 21:36 | |
*** oofus_lt has quit IRC | 21:44 | |
*** rncbc has quit IRC | 23:15 | |
*** NickSB2 has quit IRC | 23:57 |
Generated by irclog2html.py 2.13.0 by Marius Gedminas - find it at mg.pov.lt!