*** ricardocrudo has quit IRC | 00:23 | |
*** ddom has quit IRC | 00:36 | |
*** artfwo has quit IRC | 02:40 | |
*** falktx` has joined #lv2 | 04:18 | |
*** falktx has quit IRC | 04:21 | |
*** edogawa has joined #lv2 | 07:07 | |
*** six6110 has quit IRC | 08:49 | |
*** ricardocrudo has joined #lv2 | 09:01 | |
*** ventosus has joined #lv2 | 09:03 | |
*** falktx|work has joined #lv2 | 09:13 | |
*** ssj71 has quit IRC | 09:43 | |
falktx|work | drobilla: where is the suil git repo? I don't see it in http://git.drobilla.net/ | 09:48 |
---|---|---|
falktx|work | http://git.drobilla.net/cgit.cgi/suil.git/ says no repositories found | 09:48 |
rgareus | falktx|work: git clone http://git.drobilla.net/suil.git/ # works | 11:26 |
falktx|work | yeah, just noticed that | 11:27 |
falktx|work | but it's always nice to have the changes visible on the web browser | 11:27 |
rgareus | yeah, looks like a cgit setup issue or maybe some permission problem | 11:28 |
falktx|work | or drobilla just forgot about suil | 11:28 |
rgareus | http://git.drobilla.net/cgit.cgi/drobillad.git/tree/.gitmodules lists all the submodules | 11:29 |
*** NickSB2 has quit IRC | 11:46 | |
*** NickSB2 has joined #lv2 | 13:42 | |
*** artfwo has joined #lv2 | 13:58 | |
*** son0p has quit IRC | 14:13 | |
*** son0p has joined #lv2 | 14:15 | |
*** son0p has quit IRC | 14:20 | |
*** son0p has joined #lv2 | 14:22 | |
*** son0p has quit IRC | 14:27 | |
*** son0p has joined #lv2 | 14:29 | |
*** ricardocrudo has quit IRC | 14:54 | |
*** six6110 has joined #lv2 | 15:18 | |
drobilla | http://git.drobilla.net/cgit.cgi/suil.git/ | 16:32 |
*** ssj71 has joined #lv2 | 17:01 | |
*** ricardocrudo has joined #lv2 | 17:36 | |
ssj71 | is that supposed to be supported? | 17:42 |
ssj71 | qtractor calls the resize function with w and h == -1 | 17:42 |
*** ricardocrudo has quit IRC | 17:48 | |
*** NickSB has quit IRC | 18:07 | |
*** drobilla has quit IRC | 18:11 | |
*** NickSB has joined #lv2 | 18:13 | |
*** ssj71 has quit IRC | 18:14 | |
*** HarryHaaren has joined #lv2 | 18:21 | |
*** ssj71 has joined #lv2 | 18:22 | |
*** NickSB2 has quit IRC | 18:23 | |
*** HarryHaaren has quit IRC | 18:26 | |
*** NickSB2 has joined #lv2 | 18:41 | |
ssj71 | falktx`: since lilv won't load broken ttl does that mean I'll have to take the mime type thing I made up out? | 19:04 |
*** ssj71 has quit IRC | 19:13 | |
*** falktx|work has quit IRC | 19:27 | |
*** ssj71 has joined #lv2 | 19:43 | |
*** NickSB2 has quit IRC | 20:13 | |
falktx` | ssj71: no, that's fine | 20:15 |
falktx` | ssj71: the issue will be mostly with undefined prefixes | 20:15 |
ssj71 | ok. I've resolved all those now (finally) | 20:16 |
falktx` | ssj71: btw, why are rakarrack ports always integer? | 20:17 |
*** ventosus has left #lv2 | 20:18 | |
ssj71 | falktx`: rakarrack is always integer. I was trying to match their interface 100% | 20:19 |
falktx` | ssj71: but is integer really used in the dsp? | 20:19 |
ssj71 | no. I don't know why they did it that way | 20:19 |
ssj71 | its stupid. rkr2 won't use integer | 20:19 |
falktx` | we're going to do parameter smoothing later for mod. but that won't fork if internally plugins use integers :( | 20:20 |
ssj71 | indeed. You guys could just remove the integer property for mod | 20:20 |
falktx` | yes, but will that really do anything? | 20:20 |
ssj71 | hmm | 20:21 |
falktx` | I mean, if the dsp really uses integers, then the ports are correct as-is | 20:21 |
* ssj71 goes to the source | 20:21 | |
ssj71 | nope won't work. its cast to int | 20:21 |
falktx` | :( | 20:22 |
ssj71 | thats a stupid way to do it. who ported these? | 20:22 |
falktx` | I blame zyn | 20:22 |
falktx` | all zyn fx are that way too | 20:22 |
ssj71 | indeed that really is the reason | 20:22 |
falktx` | very likely because of midi | 20:22 |
ssj71 | I forget about that piece of history. The rakarrack devs didn't know any better so they kept it through the whole program | 20:23 |
* falktx` asks fundamental if floats can be used for zyn | 20:23 | |
ssj71 | one nice thing is it makes smaller presets | 20:24 |
*** ColaEuphoria has joined #lv2 | 20:45 | |
ColaEuphoria | do input ports point to contiguous spots in memory? | 20:57 |
rgareus | no. | 20:58 |
rgareus | standard control inputs point to a float | 20:58 |
rgareus | and that location is only valid during run() and may change every cycle (connect_ports() is usually called before run() ) | 20:59 |
ColaEuphoria | gotcha | 20:59 |
ColaEuphoria | so much for my matrix multiplication optimization idea | 20:59 |
rgareus | audio inputs point to continuous regions obviously, and atom-control ports, too. | 20:59 |
falktx` | also input ports are read-only, const | 21:00 |
rgareus | ColaEuphoria: you can create a localized array of all control data at the beginning. | 21:00 |
ColaEuphoria | when you say at the beginning, do you mean in run()? | 21:00 |
ColaEuphoria | at the top of run()? | 21:01 |
rgareus | yes | 21:01 |
ColaEuphoria | alright | 21:01 |
rgareus | it's usually good practice anyway. float param1 = *(self->port_1); if (param1 < min_val) param1 = min_val; etc etc | 21:01 |
ColaEuphoria | just wanted to see if the other thing was possible :) | 21:01 |
rgareus | according to the specs a plugin can't rely that parameters are within bounds and must be able to cope with arbitrary values. | 21:02 |
ColaEuphoria | gotcha | 21:02 |
falktx` | there's a feature to ensure bounds though, if you need it | 21:02 |
rgareus | for some kinds of DSP it may make no difference.. for others it can be critical that min/max boundaries are correct. YMMV | 21:03 |
ColaEuphoria | what may that feature be? | 21:03 |
ColaEuphoria | http://lv2plug.in/ns/ext/port-props/ | 21:04 |
ColaEuphoria | hasStrictBounds? | 21:04 |
falktx` | http://lv2plug.in/ns/ext/port-props/#hasStrictBounds | 21:04 |
ColaEuphoria | thanks | 21:04 |
rgareus | the pluin can only "omit value clamping for hasStrictBounds ports, if the feature is supported by the host" so the plugin has to check anyway | 21:05 |
rgareus | or better fail to instantiate if it does not do that and the host does not support it. | 21:05 |
ColaEuphoria | yep | 21:06 |
rgareus | it's one of the more useless parts of the LV2 specs, if you ask me. | 21:06 |
ColaEuphoria | i could see use for matrix operations (that only require reads and not writes) | 21:07 |
ColaEuphoria | on lower end devices | 21:07 |
* falktx` thinks all controls should always be within bounds | 21:07 | |
ColaEuphoria | oh wait | 21:08 |
rgareus | falktx`: they usually are. | 21:08 |
ColaEuphoria | it says it indicates that the VALUE of the port should never exceed min/max control points | 21:08 |
rgareus | falktx`: there are 2 edge-cases. float rounding: -1.0 may sometimes be -1.0000000000004. and toggle (which hard-defines true/false ignoring the range) | 21:09 |
ColaEuphoria | case OUTL: s->ports.outl = (float*)data; break; | 21:09 |
ColaEuphoria | case OUTR: s->ports.outr = (float*)data; break; | 21:09 |
ColaEuphoria | case MONOSTEREO: s->ports.stereo = (float*)data; break; | 21:09 |
ColaEuphoria | my question is | 21:10 |
rgareus | falktx`: and 3: bugs and weird users :) | 21:10 |
ColaEuphoria | does outr point to a value in memory contiguous to outl and stereo? | 21:10 |
ColaEuphoria | (pretend these are all input ports hehe) | 21:10 |
rgareus | audio i/o: yes. | 21:10 |
ColaEuphoria | but not for regular control ports? | 21:11 |
rgareus | correct. control ports are arbitrary. may even point to the stack of the host somewhere. | 21:11 |
ColaEuphoria | alrighty | 21:11 |
ColaEuphoria | thanks | 21:12 |
rgareus | also note: by default autio is processed in-place in many hosts. | 21:12 |
falktx` | audio ports, during run(), always point to a float array | 21:12 |
rgareus | the input data array may be the same as the output data array. | 21:12 |
rgareus | (zero copy) | 21:12 |
falktx` | what hosts do that beside ardour? ingen? | 21:12 |
rgareus | falktx`: jalv can. | 21:13 |
rgareus | falktx`: it uses jack ports directly. | 21:13 |
rgareus | which have the same property | 21:13 |
falktx` | jalv? but doesn't it use jack input ports data directly? | 21:14 |
rgareus | yes, exactly | 21:14 |
falktx` | which are in-place? | 21:14 |
rgareus | and if there's only a single app using a given port. it can be zero copy. | 21:14 |
rgareus | last I looked jack does not guarntee separate buffers. | 21:15 |
falktx` | sounds right. I wasn't 100% sure | 21:15 |
rgareus | falktx`: it depends. they may or may not be identical... | 21:15 |
rgareus | falktx`: do you know if qtractor use in-place ? | 21:17 |
falktx` | no idea | 21:17 |
falktx` | carla does in patchbay mode because of juce. but not in rack mode | 21:17 |
*** ricardocrudo has joined #lv2 | 21:23 | |
*** rncbc has joined #lv2 | 21:58 | |
*** rncbc has quit IRC | 22:08 | |
*** rncbc has joined #lv2 | 22:17 | |
*** ricardocrudo has quit IRC | 23:00 | |
*** ricardocrudo has joined #lv2 | 23:09 | |
*** six6110 has quit IRC | 23:33 |
Generated by irclog2html.py 2.13.0 by Marius Gedminas - find it at mg.pov.lt!