Wednesday, 2016-08-03

*** ricardocrudo has quit IRC00:18
*** NickSB2 has quit IRC01:44
*** NickSB has quit IRC01:44
*** NickSB has joined #lv201:45
*** NickSB2 has joined #lv201:57
*** NickSB2 has quit IRC02:02
*** NickSB2 has joined #lv202:02
*** unclechu has quit IRC02:54
*** falktx` has joined #lv203:37
*** falktx has quit IRC03:41
*** oofus has quit IRC05:18
*** drobilla has quit IRC05:53
*** sigma6 has joined #lv207:00
*** drobilla has joined #lv207:40
*** ricardocrudo has joined #lv208:13
*** edogawa has joined #lv209:10
*** edogawa has quit IRC09:44
*** kwmiebach has quit IRC09:49
*** kwmiebach has joined #lv209:51
*** trebmuh has joined #lv212:17
*** unclechu has joined #lv213:12
*** artfwo has joined #lv213:20
*** falktx|work has joined #lv213:56
*** frinknet has quit IRC14:07
*** son0p_ has quit IRC14:19
*** son0p_ has joined #lv214:23
*** artfwo has quit IRC14:41
*** deva has joined #lv214:51
*** sigma6 has quit IRC15:57
*** ssj71 has quit IRC16:11
*** oofus_lt has joined #lv216:26
*** ssj71 has joined #lv216:35
ssj71is it documented somewhere what hosts use the same buffers for input and output?16:44
falktx|workbuffers are the size of the run() frames16:54
falktx|worknothing else is guaranteed afaik16:54
* falktx|work completely misunderstood the question16:55
falktx|workssj71: ardour does quite extensively16:55
falktx|workjalv and carla might do it sometimes, depends on the jack connections16:55
*** oofus_lt has quit IRC16:56
ssj71does jack sometimes pass the same buffer for input and output?16:56
falktx|workvery rare, but I think it happens sometimes16:57
ssj71it seems very odd to me that it would happen sometimes and not other times16:57
falktx|workwell, it's a patchbay16:58
falktx|worktbh I don't know for sure16:58
falktx|workwe also have 2 different jack versions. so hard to say a definitive no16:58
ssj71well it probably only seems odd because I don't have a clue about it16:58
ssj71to me I'd think you'd have a unique buffer for each port16:59
ssj71rkr lv2 does a wet/dry mix after applying the effect but if the in and out buffers are the same, then it mixes the buffer with itsself!17:00
ventosusssj71: you can force unique buffers per audio port via http://lv2plug.in/ns/lv2core/#inPlaceBroken17:00
ssj71ah that would fix this17:01
falktx|workthen it won't load in ardour :)17:02
ssj71ah. but if it doesn't load in anything then there will be no more bugs!17:03
ssj71ok so plan b is check each cycle if the input == output and make a copy if so17:04
ssj71not the most efficient approach, but the quickest to apply to 40+ plugins17:04
ssj71I'll do it right in rk217:04
falktx|workzyn plugins have the same problem17:06
ssj71makes sense as rkr is a fork of zyn17:08
*** Spark[01] has joined #lv217:08
ventosuss/force/kindly-request-if-supported :)17:08
ssj71well the host can just politely say no and not load it :)17:09
*** unclechu has quit IRC17:28
*** unclechu has joined #lv217:28
*** unclechu has quit IRC17:35
*** unclechu has joined #lv217:35
*** artfwo has joined #lv217:56
rgareusssj71: with jack it depends on connections   (and jack version)18:00
rgareusssj71: and of course the host.  jalv just passes through jack buffers  it can be in-place.18:01
ssj71is there a 2 minute explanation on what conditions result in this?18:01
rgareusssj71: in short if it's a linear graph.18:01
rgareusA -> B -> C18:01
ssj71ok, and thats just so you don't have to copy buffers as often18:01
ssj71?18:01
rgareusbuffers can be re-used18:02
rgareusif it's   A -> B+C  -> D    then no.18:02
ssj71ram and cpu benefits18:02
rgareusssj71: cache18:02
ssj71ah18:02
rgareusthe less memory you touch, the better18:02
ssj71makes sense. Well I'm throwing that out the window in rkrlv2 because if they're shared we copy the input to a temporary buffer18:03
rgareusgood DSP also worries about instruction cache.  and CPU register usage18:03
rgareuslocalize variable into registers, avoid derefering pointers in the inner loop etc.18:03
ssj71the rakarrack architecture doesn't lend well to sharing them. A few effects work just fine that way and they'll continue too do so18:03
ssj71I could probably improve some things by avoiding pointers in inner loops18:04
ssj71I haven't put much effort there18:04
rgareusssj71: last step..  when it works  optimize18:04
ssj71ya, there's bigger fish to fry18:05
ssj71and only a tiny pan, so it will be a while18:05
rgareusventosus: actually I'll change that soonish.  ardour could load #inPlaceBroken  plugins these days  (pin managment also requires copying things into buffers)18:06
rgareusthere's a new mode "no-inplace"  in A5 now.18:07
ssj71if ardour has a mono plugin going to a stereo plugin, could the L and R input buffers be shared also?18:13
rgareusssj71: no.18:14
*** deva has quit IRC18:14
rgareusssj71: it's usually the outputs that define things18:14
rgareusout 1 <- in 1.  (same buffer)18:14
rgareusout 2 (different buffer)18:14
ssj71hmm18:15
rgareusbut yes  writing out1   will overwrite in1.18:15
ssj71yes, that makes sense18:15
ssj71I had another issue this morning with rkr lv2 that I'm not sure what to make of18:16
ssj71the plugin had a constant DC offset in the L channel18:16
ssj71well, first it crashed ardour when I left it overnight, then when I reopened the project this morning I saw that there was the DC offset18:17
ssj71I tried deleting and reloading the plugin with no change. Even tried loading it in carla as a plugin, same result18:18
ssj71then after deleting the carla instance, and reloading the plugin suddenly the offset went away18:19
ssj71seems like there was something else I did too. Anyway. Weird bug, not sure how to approach it18:25
*** ricardocrudo has quit IRC18:31
*** falktx|work has quit IRC18:33
*** edogawa has joined #lv218:54
*** unclechu has quit IRC18:55
*** unclechu has joined #lv218:57
*** unclechu has quit IRC20:01
drobillaRe: C++, I think I give up on the overhead-free thing.  It's too much of a PITA for not much gain in a context where all calls are indirect anyway.20:11
drobillaThough it would be nice to be able to re-use the plugin classes internally (not via the LV2 API) and not pay the virtual price...20:11
* drobilla has been batting around the various radical simplification ideas that need to happen20:12
*** ricardocrudo has joined #lv220:34
*** rncbc has joined #lv220:44
*** trebmuh has quit IRC21:58
*** rncbc has quit IRC21:59
*** edogawa has quit IRC22:30
*** ricardocrudo has quit IRC22:35
*** unclechu has joined #lv223:39
*** frinknet has joined #lv223:54

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