*** artfwo has quit IRC | 01:37 | |
*** diqidoq has quit IRC | 01:41 | |
*** NickSB2 has quit IRC | 03:27 | |
*** ssj71 has quit IRC | 05:50 | |
*** rncbc has joined #lv2 | 06:03 | |
*** rncbc has quit IRC | 06:28 | |
*** sigma6 has joined #lv2 | 06:49 | |
*** m4l3z has joined #lv2 | 07:53 | |
*** NickSB2 has joined #lv2 | 08:54 | |
*** wumpus has quit IRC | 08:56 | |
*** wumpus has joined #lv2 | 08:58 | |
*** NickSB2 has quit IRC | 10:30 | |
*** NickSB2 has joined #lv2 | 10:31 | |
*** m4l3z has quit IRC | 11:15 | |
*** artfwo has joined #lv2 | 11:38 | |
*** arguy has joined #lv2 | 11:48 | |
*** yann-kaelig has joined #lv2 | 12:50 | |
*** ssj71 has joined #lv2 | 14:39 | |
*** sigma6 has quit IRC | 14:40 | |
*** NickSB2 has quit IRC | 14:42 | |
*** rncbc has joined #lv2 | 14:49 | |
*** diqidoq has joined #lv2 | 16:50 | |
*** deva has joined #lv2 | 18:08 | |
*** trebmuh has quit IRC | 18:53 | |
*** trebmuh has joined #lv2 | 18:57 | |
*** deva has quit IRC | 19:16 | |
*** yann-kaelig has quit IRC | 19:27 | |
*** NickSB2 has joined #lv2 | 20:10 | |
raphaal1 | could you give me a example lv2 plugin which requires instance access feature? | 20:47 |
---|---|---|
ssj71 | raphaal1: as in it really needs it or just one that uses that feature? | 20:51 |
ssj71 | IIRC the V1 suite uses instance access | 20:52 |
raphaal1 | just one that uses... | 20:52 |
raphaal1 | ssj71: could you give me a link to this? | 20:53 |
ssj71 | https://sourceforge.net/p/synthv1/code/ci/master/tree/src/synthv1.lv2/synthv1_ui-qt5.ttl#l6 | 20:54 |
ssj71 | typically you want to avoid such a dependency | 20:55 |
ssj71 | most cases don't actually need it | 20:55 |
ssj71 | falktx: or rgareus may know of simpler examples than that | 20:55 |
*** NickSB__ has quit IRC | 20:56 | |
raphaal1 | thanks | 20:56 |
rgareus | apart from adding the meta-data key lv2:requiredFeature<> to the .ttl, you'll just iterate over features in the GUI | 21:05 |
rgareus | alike https://github.com/x42/meters.lv2/blob/master/gui/goniometer.c#L1059-L1069 and get a pointer to the DSP handle | 21:05 |
ssj71 | raphaal1: that goniometer probably is a simpler example to reference | 21:08 |
rgareus | it's the only plugin that I wrote that uses instance access. Passing *raw* audio-data for low-latency realtime visualization is one of the very few valid use-cases for instance access | 21:10 |
rgareus | I'm not sure if it's good example, but it's the only one I wrote | 21:11 |
*** rncbc has quit IRC | 21:12 | |
rgareus | falktx probably has no code for this. Carla completely separates the UI, no instance access. | 21:12 |
rgareus | the goniometer uses a shared lock-free ringbuffer. in general for instance access you also need to take care of atomics and memory barriers.. | 21:14 |
raphaal1 | thanks again :) | 21:16 |
rgareus | raphaal1: you're welcome | 21:18 |
raphaal1 | so, why ringbuffer is required, lv2 control ports are not enough? | 21:21 |
rgareus | raphaal1: they are, you can pass raw audio via Atom ports just fine | 21:22 |
rgareus | raphaal1: but they usually arrive at the host's liberty some time later | 21:22 |
rgareus | the goniometer use openGL and vblank (externalUI) to work around the host's event loop | 21:23 |
raphaal1 | interesting | 21:23 |
rgareus | raphaal1: http://lv2plug.in/book/#_simple_oscilloscope is an example how to pass raw audio data to the GUI | 21:24 |
rgareus | in case of the scope it doesn't matter if it arrives late. the scope triggers anyway | 21:24 |
raphaal1 | yeah, a saw that | 21:24 |
rgareus | also the GUI is usually run in the host's event loop. usually 25Hz or so (40ms) | 21:25 |
raphaal1 | the refresh rate is too slow or the refresh rate can vary? what is worse? | 21:27 |
rgareus | depends on the plugin | 21:28 |
rgareus | if it's a dedicated meter both are equally bad :) | 21:28 |
rgareus | if it's just some animation or visualiztion, nobody cares | 21:29 |
rgareus | in general I'd say "too slow" is worse. the human eye doesn't care much about jitter | 21:29 |
rgareus | 10fps looks ugly. but some variable rate 23..28Hz may go unnoticed | 21:30 |
*** NickSB has joined #lv2 | 23:09 |
Generated by irclog2html.py 2.13.0 by Marius Gedminas - find it at mg.pov.lt!