| *** falktx has quit IRC | 00:19 | |
| *** falktx has joined #lv2 | 00:27 | |
| *** bgribble has joined #lv2 | 00:29 | |
| *** bgribble has quit IRC | 00:52 | |
| *** ricardocrudo has joined #lv2 | 01:07 | |
| *** bgribble has joined #lv2 | 01:27 | |
| *** bgribble has quit IRC | 02:07 | |
| * drobilla tinkers with sequence-of-float plugins | 02:19 | |
| *** ricardocrudo has quit IRC | 02:51 | |
| *** drobilla has quit IRC | 04:40 | |
| *** falktx has quit IRC | 06:59 | |
| *** edogawa has joined #lv2 | 07:19 | |
| *** falktx has joined #lv2 | 07:27 | |
| *** falktx has quit IRC | 08:10 | |
| *** falktx has joined #lv2 | 09:06 | |
| *** edogawa has quit IRC | 09:16 | |
| *** edogawa has joined #lv2 | 09:17 | |
| *** triune has quit IRC | 09:17 | |
| *** triune has joined #lv2 | 09:30 | |
| *** Joeboy_ has joined #lv2 | 09:47 | |
| *** Joeboy has quit IRC | 09:50 | |
| *** Anchakor has quit IRC | 09:51 | |
| *** Anchakor1 has joined #lv2 | 09:51 | |
| *** falktx has quit IRC | 09:57 | |
| *** NickSB2_ has joined #lv2 | 10:26 | |
| *** NickSB__ has joined #lv2 | 10:28 | |
| *** NickSB2 has quit IRC | 10:34 | |
| *** NickSB_ has quit IRC | 10:34 | |
| *** Joeboy has joined #lv2 | 10:50 | |
| *** Joeboy_ has quit IRC | 10:55 | |
| *** Yoda-- has quit IRC | 10:55 | |
| *** Yoda-- has joined #lv2 | 10:57 | |
| *** rgareus has quit IRC | 11:22 | |
| *** rgareus has joined #lv2 | 11:23 | |
| *** ddom has joined #lv2 | 11:39 | |
| *** bgribble has joined #lv2 | 11:50 | |
| *** edogawa_ has joined #lv2 | 11:51 | |
| *** edogawa has quit IRC | 11:54 | |
| *** bgribble has quit IRC | 11:54 | |
| *** ricardocrudo has joined #lv2 | 12:31 | |
| *** mlpug has joined #lv2 | 13:44 | |
| *** drobilla has joined #lv2 | 14:12 | |
| *** bgribble has joined #lv2 | 14:55 | |
| *** ddom has quit IRC | 15:04 | |
| drobilla | .................. shit | 15:08 |
|---|---|---|
| drobilla | The atom sequence output 'protocol' doesn't really allow for split cycles very well | 15:08 |
| drobilla | No separate size/capacity | 15:09 |
| drobilla | Maybe buffer capacity should be a different mechanism entirely instead of having to be in the data itself | 15:12 |
| *** bgribble has quit IRC | 15:24 | |
| drobilla | Anyone know any plugins with plain gtk UIs that don't modify style? | 15:35 |
| drobilla | My style modification stuff in Ingen doesn't seem to be working any more, for my test plugin, anyway | 15:35 |
| drobilla | (n/m, fixed it) | 16:43 |
| drobilla | or maybe NULL-terminated sequences | 16:43 |
| drobilla | The only alternative for hosts currently without changing the rules is to use a separate empty buffer for each sub-cycle, then copy :/ | 16:44 |
| drobilla | I thought connecting to atoms directly was nice, but maybe that was a bad idea and there should have been a specific buffer type | 16:50 |
| rgareus | drobilla: it'd be great to be able to specify min Atom buffersize as a * samples-per-cycle + b | 17:41 |
| rgareus | for plugins that I wrote where a != 0 I use sample-per-cycle = 8192 (which is jackd's max) for setting the minSize | 17:43 |
| rgareus | the hard part though is calculating 'b'. | 17:52 |
| drobilla | rgareus: Yeah. Though if it was dynamic (i.e. in API) you can skip trying to express it and just specify the value for that instance | 18:37 |
| drobilla | I am wondering if this might be a secondard excuse for a run(const void** inputs, void** outputs) extension | 18:37 |
| drobilla | or run(const void** inputs, void** outputs, LV2_Buffer_Metadata** meta) | 18:38 |
| rgareus | drobilla: the cycle-length can change. so the host would need to query it everytime the spp changes.. | 18:38 |
| rgareus | drobilla: if it was in the .ttl the host could just compute it. | 18:38 |
| drobilla | Hm, well, I guess indexing that way would be annoying.. otherwise, costs const-correctness :/ | 18:38 |
| drobilla | Anyway, the metadata bit | 18:38 |
| *** ricardocrudo has quit IRC | 18:39 | |
| drobilla | rgareus: Yeah. Maybe just using the (possibly improved) constraints in data is the way | 18:39 |
| drobilla | rgareus: The rules for sequence outputs where you can get the capacity from the output initially conflict with split cycles though | 18:40 |
| drobilla | Using the data constraints, the rule could just be it's an empty sequence and you know the non-dynamic capacity from elsewhere | 18:40 |
| drobilla | But for backwards compatibility we're stuck with the { atom:Chunk, capacity } | 18:41 |
| rgareus | drobilla: how so? a split cycle looks to a plugin just like the spp changes 2 times. | 18:41 |
| drobilla | could add "if type is not atom:Chunk, assume the buffer is initialized and do not clear it" or something, not too breakey | 18:41 |
| drobilla | rgareus: But the host may want that output written to a buffer with an offset | 18:41 |
| rgareus | drobilla: aah. | 18:42 |
| drobilla | e.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 end | 18:42 |
| * drobilla is finally actually implementing this in Ingen, didn't think of it before | 18:42 | |
| rgareus | drobilla: 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 |
| drobilla | rgareus: That's the problem. With sequences, you can't. | 18:43 |
| drobilla | rgareus: Workaround is to use a separate buffer and copy every sub-run(), but that's quite a bit of overhead | 18:43 |
| drobilla | (not to mention nuisance) | 18:43 |
| drobilla | I guess it's not terrible, but less than ideal... | 18:44 |
| drobilla | In my case I can just not do sample-accuracy in the control-in-plus-sequence-out case | 18:44 |
| rgareus | did 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 #lv2 | 18:45 | |
| drobilla | Presumably. That copy is always there for ardour anyway | 18:45 |
| drobilla | Ingen is a little fancier with buffer sharing and whatnot | 18:45 |
| drobilla | Well... I'll just ignore this for now and see how far I can get | 18:47 |
| drobilla | I have a float plugin with sequence in/out (atom:supports atom:Float) | 18:47 |
| drobilla | Split cycles when such an output is connected to a control input, so you can do sample accurate stuff with plugins with control inputs | 18:47 |
| drobilla | Working on "mix" down from float sequence => CV | 18:48 |
| drobilla | Then 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 |
| drobilla | http://drobilla.net/files/ingen_expressions.png | 18:50 |
| rgareus | the sane approach is to simply have the amp low-pass filter the gain and don't bother about sample-accuracy. | 18:53 |
| drobilla | That might work for twiddling a knob, not so much for midi control | 18:54 |
| drobilla | If you push a key at sample 64, everything related to that note start needs to start at sample 64 | 18:54 |
| rgareus | for 99% of all cases sample-accuracy is just a marketing ploy. | 18:54 |
| rgareus | midi is an order of magnitude less acurate anyway | 18:54 |
| drobilla | nonsense | 18:55 |
| drobilla | with large block sizes a synth built that way is totally unplayable | 18:55 |
| rgareus | midi is what 32kbaud or something? 2 successive events have a min distance of at least 10 samples or so at 48KSPS | 18:56 |
| rgareus | and unless you have isosynchroneous streams there's jitter | 18:56 |
| drobilla | "Block accuracy for events is okay" ~rgareus | 18:57 |
| drobilla | ;) | 18:57 |
| rgareus | well, yeah. sample accuracy is great - identical input -> identical output. | 18:57 |
| drobilla | Modular 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 sequence | 18:58 |
| drobilla | Interpolation/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 work | 18:59 |
| drobilla | Its not a big deal anyway, the splits happen internally to one node, not across the graph | 19:00 |
| drobilla | Feedback won't work correctly, but that's... deeper | 19:00 |
| *** ricardocrudo has joined #lv2 | 19:17 | |
| *** falktx has joined #lv2 | 19:27 | |
| drobilla | In related new I need a "Bang" object type | 19:31 |
| drobilla | Time to take that note proposal and make an expression extension, perhaps | 19:32 |
| *** ddom has joined #lv2 | 20:01 | |
| *** mlpug has quit IRC | 20:03 | |
| *** zth has quit IRC | 20:45 | |
| *** zth has joined #lv2 | 21:06 | |
| *** zth has quit IRC | 21:27 | |
| *** falktx_ has joined #lv2 | 21:45 | |
| *** rgareus_ has joined #lv2 | 21:50 | |
| *** triune_ has joined #lv2 | 21:51 | |
| *** falktx has quit IRC | 21:52 | |
| *** rgareus has quit IRC | 21:52 | |
| *** triune has quit IRC | 21:52 | |
| *** triune_ is now known as triune | 21:52 | |
| *** rgareus_ is now known as rgareus | 21:53 | |
| *** edogawa_ has quit IRC | 22:04 | |
| *** falktx has joined #lv2 | 22:11 | |
| *** falktx has quit IRC | 22:12 | |
| *** rncbc has joined #lv2 | 22:24 | |
| *** ricardocrudo has quit IRC | 22:34 | |
Generated by irclog2html.py 2.13.0 by Marius Gedminas - find it at mg.pov.lt!