*** falktx has quit IRC | 00:42 | |
*** ricardocrudo has quit IRC | 00:44 | |
*** ricardocrudo has joined #lv2 | 01:01 | |
*** ricardocrudo has quit IRC | 01:19 | |
*** gianMOD has quit IRC | 02:30 | |
*** graghu has joined #lv2 | 03:03 | |
*** NickSB2 has joined #lv2 | 03:27 | |
*** grejppi_ has quit IRC | 06:51 | |
*** edogawa has joined #lv2 | 07:26 | |
*** grejppi_ has joined #lv2 | 07:42 | |
*** grejppi has joined #lv2 | 07:45 | |
*** junebug has joined #lv2 | 09:18 | |
*** graghu has quit IRC | 09:25 | |
*** junebug has quit IRC | 09:30 | |
*** falktx has joined #lv2 | 10:34 | |
*** edogawa_ has joined #lv2 | 10:49 | |
*** edogawa has quit IRC | 10:50 | |
*** edogawa_ is now known as edogawa | 10:50 | |
*** grejppi_ has quit IRC | 11:30 | |
*** ricardocrudo has joined #lv2 | 11:57 | |
*** falktx has quit IRC | 12:36 | |
*** falktx has joined #lv2 | 13:54 | |
*** falktx has quit IRC | 14:26 | |
*** zth has joined #lv2 | 17:23 | |
bgola | drobilla: is there a way to turn on / off a plugin instance in ingen (a host bypass) ? | 17:36 |
---|---|---|
drobilla | bgola: No. Bypass is surprisingly non-trivial to do right (what input goes where?) | 17:37 |
bgola | drobilla: yep, i know | 17:37 |
bgola | drobilla: we had this problem with mod-host ... | 17:38 |
drobilla | I a perfect world, all ports would be designated with something meaningful... | 17:38 |
bgola | drobilla: i tried to follow the discussion on lv2 mailing list, but there was no conclusion on what is best | 17:38 |
drobilla | Presumably the fallback is assuming indices are relevant and copying <type> input n => <type> output n | 17:39 |
drobilla | bgola: protocol/api wise, there's ingen:enabled which is used for patches | 17:40 |
drobilla | bgola: So just set that on the node | 17:40 |
drobilla | So no API/protocol can't currently do this at all issues like presets, just needs implementing | 17:40 |
drobilla | bgola: There's been a ticket for this for a while. I can add it tonight | 17:43 |
bgola | drobilla: hm, so setting ingen:enabled will do it? | 17:44 |
drobilla | bgola: "just needs implementing", i.e. no. | 17:47 |
drobilla | I mean, how to do so in the API/protocol is simple and obvious, just a property set | 17:48 |
drobilla | The engine internally just won't do anything | 17:48 |
drobilla | So it's a lot easier to do than presets, which is an LV2 extension change, whole new thing in the protocol, whole new concept of querying the server side lilv world, etc, etc | 17:50 |
*** ricardocrudo has quit IRC | 18:06 | |
bgola | drobilla: ok, found the ticket | 18:16 |
bgola | you meant you could implement the bypass tonight? | 18:17 |
drobilla | yes. | 18:22 |
*** ricardocrudo has joined #lv2 | 18:34 | |
bgola | drobilla: cool, tks... now back to the presets thing, why do you say it is an LV2 extension change? what if, at first, we dont need to expose the available presets? the client uses lilv to get a list of presets and tell the server to load a specific preset | 18:34 |
*** falktx has joined #lv2 | 18:34 | |
ax | cleary more work for the user but more powerful, like a modular synthesizer, why not just make a multi channel router instead of providing bypass.. | 18:35 |
drobilla | bgola: That already works. | 18:36 |
drobilla | bgola: Well, I guess not the last bit. | 18:36 |
bgola | drobilla: yep, that's what we need :) | 18:36 |
drobilla | bgola: Why? | 18:36 |
bgola | drobilla: there is no way to load a preset without using the ingen gui | 18:37 |
drobilla | bgola: I mean, if you can load the presets via lilv, you can load their control values too | 18:37 |
drobilla | I guess if presets have fancy state and stuff that's out | 18:37 |
drobilla | bgola: Just doing that is much easier | 18:37 |
bgola | drobilla: you mean setting each control value instead of using lilv_restore_state ? | 18:37 |
drobilla | Right, I didn't think of that | 18:38 |
drobilla | Which makes this an actual limitation and just just doing something you can already do in a different way that involves a ton of work | 18:38 |
drobilla | Which makes me more motivated to actually do it :) | 18:38 |
*** gianMOD has joined #lv2 | 18:39 | |
drobilla | ax: I don't get it. What's a "multi-channel router" and how does it replace bypass? | 18:40 |
drobilla | Also we *are* talking about a modular synthesizer :) | 18:40 |
* drobilla is starting to need a more elegant mechanism for handling special properties as they bloat ever further | 18:41 | |
ax | yeah, 'router' might not be the word, basically a panner audio -> panner => [effect] -> [mixer] where one of the panner's outputs goes to the effect and the other one goes directly to the mixer | 18:44 |
ax | by saying modular synthesizer i basically mean to differentiate it from a guitar stomp box, in a modular synth you generally have modules that are 'always on', providing no bypass | 18:47 |
bgola | drobilla: actually I studied the ingen code the past days, if you give me some pointers on where to begin implementing things (i.e. how should the API to load a preset..) I can start coding it | 18:47 |
drobilla | ax: Meh. Basically equivalent to "sorry, you don't get bypass" | 18:54 |
drobilla | ax: That would be my argument if I felt like just not doing what bgola needs :) | 18:54 |
ax | ha, yeah, i guess in a DAW bypass is nice, but in something like ingen I'd use the panner style approach | 18:55 |
drobilla | I still don't get what you mean by that | 18:55 |
drobilla | Like, the user should build a little thing to do it? | 18:55 |
drobilla | That's conceptually more elegant, and possible, but a PITA | 18:56 |
drobilla | and it requires a switch with the ability to not run unnecessary plugins, which is a level of hard about 999999999 times higher than implementing a simple bypass toggle | 18:56 |
drobilla | (though it would certainly be nice) | 18:57 |
drobilla | bgola: No API necessary. Set a property | 18:57 |
ax | yeah, i get that :) | 18:57 |
drobilla | bgola: I think we need to add a "current preset" property to the LV2 presets extension, people want it for other things too (UIs) | 18:57 |
bgola | drobilla: nice, sounds good | 18:58 |
drobilla | ax: I've tried implementing a switch... some day... | 18:58 |
ax | i've been building a physical modular synth so my head is in that world | 18:59 |
drobilla | Though one could argue that ability should only be possible at the subgraph level | 18:59 |
drobilla | Some way of selecting one of many oscillators but only paying for the one that's on is necessary, anyway | 19:00 |
drobilla | bgola: Changing properties in general is handled by DeltaEvent | 19:02 |
drobilla | special properties are probably the least elegant thing in the server, but it's not too terrible | 19:02 |
* drobilla wishes he had more time to work on Ingen :/ | 19:07 | |
bgola | drobilla: what about creating the property pset:current ? and then it would be something like setting pset:current to eg:mypreset; | 19:08 |
drobilla | bgola: yes, that. | 19:08 |
drobilla | pset:currentPreset probably | 19:09 |
bgola | drobilla: ok | 19:09 |
drobilla | (generally not good to rely on prefix for meaningful name) | 19:09 |
bgola | right | 19:13 |
drobilla | That ext really should have just been part of lv2core. Too many damned extensions | 19:14 |
bgola | drobilla: i will write some code now and send it to you to check if you think it's the way to go :) | 19:21 |
drobilla | bgola: Got bypass working | 19:46 |
drobilla | Could be a little faster for plugins with a massive number of ports, but whatever. | 19:48 |
drobilla | Which closes two long-standing tickets, actually, since that adds one to the subpatch menu for free. Yay. | 19:49 |
*** mlpug has joined #lv2 | 19:49 | |
bgola | drobilla: nice!! :) | 19:50 |
falktx | drobilla: is latest ingen safe to pull and use? or is there some specific version I'd be better at? | 19:52 |
drobilla | falktx: latest | 19:59 |
falktx | nice | 20:00 |
*** gianMOD_ has joined #lv2 | 20:04 | |
*** gianMOD has quit IRC | 20:04 | |
drobilla | bgola: n/m, there is already a pset:preset | 20:17 |
*** zth has quit IRC | 20:21 | |
bgola | drobilla: just read the docs, it is exactly what we wanted .. :P | 20:27 |
bgola | ok, now i'm trying to Set a special property and find out how it reaches the code in Delta.cpp | 20:28 |
drobilla | bgola: surely you must already be setting properties somehow if you're using ingen at all | 20:33 |
bgola | drobilla: i know how to set properties :) i mean how to implement the special case when the user sets the pset:preset property | 20:39 |
drobilla | bgola: OK. You don't need to care how it gets there, it will (all changes do) | 20:43 |
drobilla | bgola: You need to add a case for blocks in pre_process() and execute() | 20:44 |
drobilla | bgola: This one's a little trickier than some since you have to load that state and keep it around | 20:44 |
drobilla | bgola: You can do something like _set_events I suppose | 20:46 |
bgola | drobilla: i did this already (created a SpecialType::PRESET and added a case for blocks) | 20:46 |
bgola | drobilla: just wanted to check if it is reaching my case, can't find a way to log / debug | 20:46 |
drobilla | printf? :) | 20:49 |
drobilla | (there is fancy log stuff but it's not worth it for this) | 20:50 |
bgola | drobilla: i know, i tried printf but isnt printing anything | 20:50 |
bgola | tried when setting port value as well, to make sure... norhting | 20:50 |
bgola | nothing* | 20:50 |
bgola | im probably doing something stupid heh | 20:51 |
*** mlpug has quit IRC | 20:55 | |
*** gianMOD_ has quit IRC | 20:57 | |
*** ricardocrudo has quit IRC | 21:32 | |
*** gianMOD has joined #lv2 | 22:03 | |
falktx | apart from qmidiarp, do we have any midi generator plugins? | 22:06 |
*** gianMOD has quit IRC | 22:15 | |
*** triune has quit IRC | 22:27 | |
*** triune has joined #lv2 | 22:29 | |
*** triune has quit IRC | 22:34 | |
*** wumpus has quit IRC | 22:54 | |
*** NickSB has quit IRC | 22:54 | |
*** gabrbedd has quit IRC | 22:54 | |
*** Anchakor_ has quit IRC | 22:54 | |
*** Anchakor has quit IRC | 22:54 | |
*** rgareus has quit IRC | 22:54 | |
*** JohannesG has quit IRC | 22:54 | |
*** Haskellfant has quit IRC | 22:54 | |
*** edogawa has quit IRC | 22:54 | |
*** drobilla has quit IRC | 22:54 | |
*** NickSB2 has quit IRC | 22:54 | |
*** o0o0o has quit IRC | 22:54 | |
*** falktx has quit IRC | 22:54 | |
*** bgola has quit IRC | 22:54 | |
*** Joeboy has quit IRC | 22:54 | |
*** grejppi has quit IRC | 22:54 | |
*** damo22 has quit IRC | 22:54 | |
*** ax has quit IRC | 22:54 | |
*** drobilla has joined #lv2 | 23:06 | |
*** ax__ has joined #lv2 | 23:06 | |
*** NickSB2 has joined #lv2 | 23:06 | |
*** Anchakor1 has joined #lv2 | 23:06 | |
*** ax_ has joined #lv2 | 23:06 | |
*** wumpus has joined #lv2 | 23:06 | |
*** Haskellfant has joined #lv2 | 23:06 | |
*** JohannesG has joined #lv2 | 23:06 | |
*** NickSB has joined #lv2 | 23:06 | |
*** gabrbedd has joined #lv2 | 23:06 | |
*** o0o0o has joined #lv2 | 23:09 | |
*** rgareus has joined #lv2 | 23:09 | |
*** ax_ has quit IRC | 23:09 | |
*** damo22 has joined #lv2 | 23:12 | |
*** falktx_ has joined #lv2 | 23:12 | |
*** grejppi has joined #lv2 | 23:12 | |
*** Joeboy has joined #lv2 | 23:12 | |
*** bgola has joined #lv2 | 23:12 | |
*** 7GHAAMDMO has joined #lv2 | 23:12 | |
*** gianMOD has joined #lv2 | 23:26 | |
*** gianMOD has quit IRC | 23:31 | |
*** gianMOD has joined #lv2 | 23:37 |
Generated by irclog2html.py 2.13.0 by Marius Gedminas - find it at mg.pov.lt!