Friday, 2014-08-29

*** falktx has quit IRC00:19
*** falktx has joined #lv200:27
*** bgribble has joined #lv200:29
*** bgribble has quit IRC00:52
*** ricardocrudo has joined #lv201:07
*** bgribble has joined #lv201:27
*** bgribble has quit IRC02:07
* drobilla tinkers with sequence-of-float plugins02:19
*** ricardocrudo has quit IRC02:51
*** drobilla has quit IRC04:40
*** falktx has quit IRC06:59
*** edogawa has joined #lv207:19
*** falktx has joined #lv207:27
*** falktx has quit IRC08:10
*** falktx has joined #lv209:06
*** edogawa has quit IRC09:16
*** edogawa has joined #lv209:17
*** triune has quit IRC09:17
*** triune has joined #lv209:30
*** Joeboy_ has joined #lv209:47
*** Joeboy has quit IRC09:50
*** Anchakor has quit IRC09:51
*** Anchakor1 has joined #lv209:51
*** falktx has quit IRC09:57
*** NickSB2_ has joined #lv210:26
*** NickSB__ has joined #lv210:28
*** NickSB2 has quit IRC10:34
*** NickSB_ has quit IRC10:34
*** Joeboy has joined #lv210:50
*** Joeboy_ has quit IRC10:55
*** Yoda-- has quit IRC10:55
*** Yoda-- has joined #lv210:57
*** rgareus has quit IRC11:22
*** rgareus has joined #lv211:23
*** ddom has joined #lv211:39
*** bgribble has joined #lv211:50
*** edogawa_ has joined #lv211:51
*** edogawa has quit IRC11:54
*** bgribble has quit IRC11:54
*** ricardocrudo has joined #lv212:31
*** mlpug has joined #lv213:44
*** drobilla has joined #lv214:12
*** bgribble has joined #lv214:55
*** ddom has quit IRC15:04
drobilla.................. shit15:08
drobillaThe atom sequence output 'protocol' doesn't really allow for split cycles very well15:08
drobillaNo separate size/capacity15:09
drobillaMaybe buffer capacity should be a different mechanism entirely instead of having to be in the data itself15:12
*** bgribble has quit IRC15:24
drobillaAnyone know any plugins with plain gtk UIs that don't modify style?15:35
drobillaMy style modification stuff in Ingen doesn't seem to be working any more, for my test plugin, anyway15:35
drobilla(n/m, fixed it)16:43
drobillaor maybe NULL-terminated sequences16:43
drobillaThe only alternative for hosts currently without changing the rules is to use a separate empty buffer for each sub-cycle, then copy :/16:44
drobillaI thought connecting to atoms directly was nice, but maybe that was a bad idea and there should have been a specific buffer type16:50
rgareusdrobilla: it'd be great to be able to specify min Atom buffersize as   a * samples-per-cycle + b17:41
rgareusfor plugins that I wrote where a != 0   I use sample-per-cycle = 8192 (which is jackd's max) for setting the minSize17:43
rgareusthe hard part though is calculating 'b'.17:52
drobillargareus: Yeah.  Though if it was dynamic (i.e. in API) you can skip trying to express it and just specify the value for that instance18:37
drobillaI am wondering if this might be a secondard excuse for a run(const void** inputs, void** outputs) extension18:37
drobillaor run(const void** inputs, void** outputs, LV2_Buffer_Metadata** meta)18:38
rgareusdrobilla: the cycle-length can change. so the host would need to query it everytime the spp changes..18:38
rgareusdrobilla: if it was in the .ttl the host could just compute it.18:38
drobillaHm, well, I guess indexing that way would be annoying.. otherwise, costs const-correctness :/18:38
drobillaAnyway, the metadata bit18:38
*** ricardocrudo has quit IRC18:39
drobillargareus: Yeah.  Maybe just using the (possibly improved) constraints in data is the way18:39
drobillargareus: The rules for sequence outputs where you can get the capacity from the output initially conflict with split cycles though18:40
drobillaUsing the data constraints, the rule could just be it's an empty sequence and you know the non-dynamic capacity from elsewhere18:40
drobillaBut for backwards compatibility we're stuck with the { atom:Chunk, capacity }18:41
rgareusdrobilla: how so?  a split cycle looks to a plugin just like the spp changes 2 times.18:41
drobillacould add "if type is not atom:Chunk, assume the buffer is initialized and do not clear it" or something, not too breakey18:41
drobillargareus: But the host may want that output written to a buffer with an offset18:41
rgareusdrobilla: aah.18:42
drobillae.g. I might want to run a 1024 frame block in chunks, and get a single Sequence at the output for all 1024 at the end18:42
* drobilla is finally actually implementing this in Ingen, didn't think of it before18:42
rgareusdrobilla: I don't think that should be up to the plugin.  the host should re-connect the port-buffer to whatever offset it needs.18:43
drobillargareus: That's the problem.  With sequences, you can't.18:43
drobillargareus: Workaround is to use a separate buffer and copy every sub-run(), but that's quite a bit of overhead18:43
drobilla(not to mention nuisance)18:43
drobillaI guess it's not terrible, but less than ideal...18:44
drobillaIn my case I can just not do sample-accuracy in the control-in-plus-sequence-out case18:44
rgareusdid you check ardour3?  I think in the case of split cycles  it completes the sub-cycle (and flushes seq buffers).18:44
*** zth has joined #lv218:45
drobillaPresumably.  That copy is always there for ardour anyway18:45
drobillaIngen is a little fancier with buffer sharing and whatnot18:45
drobillaWell... I'll just ignore this for now and see how far I can get18:47
drobillaI have a float plugin with sequence in/out (atom:supports atom:Float)18:47
drobillaSplit cycles when such an output is connected to a control input, so you can do sample accurate stuff with plugins with control inputs18:47
drobillaWorking on "mix" down from float sequence => CV18:48
drobillaThen I'll make the note etc internals have those outputs, and Ingen will be sorta 'value based' for programming ala pd (with a suitable set of plugins)18:49
drobillahttp://drobilla.net/files/ingen_expressions.png18:50
rgareusthe sane approach is to simply have the amp low-pass filter the gain and don't bother about sample-accuracy.18:53
drobillaThat might work for twiddling a knob, not so much for midi control18:54
drobillaIf you push a key at sample 64, everything related to that note start needs to start at sample 6418:54
rgareusfor 99% of all cases sample-accuracy is just a marketing ploy.18:54
rgareusmidi is an order of magnitude less acurate anyway18:54
drobillanonsense18:55
drobillawith large block sizes a synth built that way is totally unplayable18:55
rgareusmidi is what 32kbaud or something?  2 successive events have a min distance of at least 10 samples or so at 48KSPS18:56
rgareusand unless you have isosynchroneous streams there's jitter18:56
drobilla"Block accuracy for events is okay" ~rgareus18:57
drobilla ;)18:57
rgareuswell, yeah. sample accuracy is great - identical input -> identical output.18:57
drobillaModular done that way is half useless.  In practice it means you can't really connect controls, period.  Anything trigger related has to be CV, or sequence18:58
drobillaInterpolation/lowpass certainly has its place, but if you want to do decent visual DSP programming with plugins that unfortunately have control ports, this needs to work18:59
drobillaIts not a big deal anyway, the splits happen internally to one node, not across the graph19:00
drobillaFeedback won't work correctly, but that's... deeper19:00
*** ricardocrudo has joined #lv219:17
*** falktx has joined #lv219:27
drobillaIn related new I need a "Bang" object type19:31
drobillaTime to take that note proposal and make an expression extension, perhaps19:32
*** ddom has joined #lv220:01
*** mlpug has quit IRC20:03
*** zth has quit IRC20:45
*** zth has joined #lv221:06
*** zth has quit IRC21:27
*** falktx_ has joined #lv221:45
*** rgareus_ has joined #lv221:50
*** triune_ has joined #lv221:51
*** falktx has quit IRC21:52
*** rgareus has quit IRC21:52
*** triune has quit IRC21:52
*** triune_ is now known as triune21:52
*** rgareus_ is now known as rgareus21:53
*** edogawa_ has quit IRC22:04
*** falktx has joined #lv222:11
*** falktx has quit IRC22:12
*** rncbc has joined #lv222:24
*** ricardocrudo has quit IRC22:34

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