Thursday, 2015-01-15

*** falktx has quit IRC00:42
*** ricardocrudo has quit IRC00:44
*** ricardocrudo has joined #lv201:01
*** ricardocrudo has quit IRC01:19
*** gianMOD has quit IRC02:30
*** graghu has joined #lv203:03
*** NickSB2 has joined #lv203:27
*** grejppi_ has quit IRC06:51
*** edogawa has joined #lv207:26
*** grejppi_ has joined #lv207:42
*** grejppi has joined #lv207:45
*** junebug has joined #lv209:18
*** graghu has quit IRC09:25
*** junebug has quit IRC09:30
*** falktx has joined #lv210:34
*** edogawa_ has joined #lv210:49
*** edogawa has quit IRC10:50
*** edogawa_ is now known as edogawa10:50
*** grejppi_ has quit IRC11:30
*** ricardocrudo has joined #lv211:57
*** falktx has quit IRC12:36
*** falktx has joined #lv213:54
*** falktx has quit IRC14:26
*** zth has joined #lv217:23
bgoladrobilla: is there a way to turn on / off a plugin instance in ingen (a host bypass) ?17:36
drobillabgola: No.  Bypass is surprisingly non-trivial to do right (what input goes where?)17:37
bgoladrobilla: yep, i know17:37
bgoladrobilla: we had this problem with mod-host ...17:38
drobillaI a perfect world, all ports would be designated with something meaningful...17:38
bgoladrobilla: i tried to follow the discussion on lv2 mailing list, but there was no conclusion on what is best17:38
drobillaPresumably the fallback is assuming indices are relevant and copying <type> input n => <type> output n17:39
drobillabgola: protocol/api wise, there's ingen:enabled which is used for patches17:40
drobillabgola: So just set that on the node17:40
drobillaSo no API/protocol can't currently do this at all issues like presets, just needs implementing17:40
drobillabgola: There's been a ticket for this for a while.  I can add it tonight17:43
bgoladrobilla: hm, so setting ingen:enabled will do it?17:44
drobillabgola: "just needs implementing", i.e. no.17:47
drobillaI mean, how to do so in the API/protocol is simple and obvious, just a property set17:48
drobillaThe engine internally just won't do anything17:48
drobillaSo 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, etc17:50
*** ricardocrudo has quit IRC18:06
bgoladrobilla: ok, found the ticket18:16
bgolayou meant you could implement the bypass tonight?18:17
drobillayes.18:22
*** ricardocrudo has joined #lv218:34
bgoladrobilla: 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 preset18:34
*** falktx has joined #lv218:34
axcleary 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
drobillabgola: That already works.18:36
drobillabgola: Well, I guess not the last bit.18:36
bgoladrobilla: yep, that's what we need :)18:36
drobillabgola: Why?18:36
bgoladrobilla: there is no way to load a preset without using the ingen gui18:37
drobillabgola: I mean, if you can load the presets via lilv, you can load their control values too18:37
drobillaI guess if presets have fancy state and stuff that's out18:37
drobillabgola: Just doing that is much easier18:37
bgoladrobilla: you mean setting each control value instead of using lilv_restore_state ?18:37
drobillaRight, I didn't think of that18:38
drobillaWhich makes this an actual limitation and just just doing something you can already do in a different way that involves a ton of work18:38
drobillaWhich makes me more motivated to actually do it :)18:38
*** gianMOD has joined #lv218:39
drobillaax: I don't get it.  What's a "multi-channel router" and how does it replace bypass?18:40
drobillaAlso 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 further18:41
axyeah, '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 mixer18:44
axby 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 bypass18:47
bgoladrobilla: 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 it18:47
drobillaax: Meh.  Basically equivalent to "sorry, you don't get bypass"18:54
drobillaax: That would be my argument if I felt like just not doing what bgola needs :)18:54
axha, yeah, i guess in a DAW bypass is nice, but in something like ingen I'd use the panner style approach18:55
drobillaI still don't get what you mean by that18:55
drobillaLike, the user should build a little thing to do it?18:55
drobillaThat's conceptually more elegant, and possible, but a PITA18:56
drobillaand 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 toggle18:56
drobilla(though it would certainly be nice)18:57
drobillabgola: No API necessary.  Set a property18:57
axyeah, i get that :)18:57
drobillabgola: 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
bgoladrobilla: nice, sounds good18:58
drobillaax: I've tried implementing a switch... some day...18:58
axi've been building a physical modular synth so my head is in that world18:59
drobillaThough one could argue that ability should only be possible at the subgraph level18:59
drobillaSome way of selecting one of many oscillators but only paying for the one that's on is necessary, anyway19:00
drobillabgola: Changing properties in general is handled by DeltaEvent19:02
drobillaspecial properties are probably the least elegant thing in the server, but it's not too terrible19:02
* drobilla wishes he had more time to work on Ingen :/19:07
bgoladrobilla: what about creating the property pset:current ? and then it would be something like setting pset:current to eg:mypreset;19:08
drobillabgola: yes, that.19:08
drobillapset:currentPreset probably19:09
bgoladrobilla: ok19:09
drobilla(generally not good to rely on prefix for meaningful name)19:09
bgolaright19:13
drobillaThat ext really should have just been part of lv2core.  Too many damned extensions19:14
bgoladrobilla: i will write some code now and send it to you to check if you think it's the way to go :)19:21
drobillabgola: Got bypass working19:46
drobillaCould be a little faster for plugins with a massive number of ports, but whatever.19:48
drobillaWhich closes two long-standing tickets, actually, since that adds one to the subpatch menu for free.  Yay.19:49
*** mlpug has joined #lv219:49
bgoladrobilla: nice!! :)19:50
falktxdrobilla: is latest ingen safe to pull and use? or is there some specific version I'd be better at?19:52
drobillafalktx: latest19:59
falktxnice20:00
*** gianMOD_ has joined #lv220:04
*** gianMOD has quit IRC20:04
drobillabgola: n/m, there is already a pset:preset20:17
*** zth has quit IRC20:21
bgoladrobilla: just read the docs, it is exactly what we wanted .. :P20:27
bgolaok, now i'm trying to Set a special property and find out how it reaches the code in Delta.cpp20:28
drobillabgola: surely you must already be setting properties somehow if you're using ingen at all20:33
bgoladrobilla: i know how to set properties :) i mean how to implement the special case when the user sets the pset:preset property20:39
drobillabgola: OK.  You don't need to care how it gets there, it will (all changes do)20:43
drobillabgola: You need to add a case for blocks in pre_process() and execute()20:44
drobillabgola: This one's a little trickier than some since you have to load that state and keep it around20:44
drobillabgola: You can do something like _set_events I suppose20:46
bgoladrobilla: i did this already (created a SpecialType::PRESET and added a case for blocks)20:46
bgoladrobilla: just wanted to check if it is reaching my case, can't find a way to log / debug20:46
drobillaprintf? :)20:49
drobilla(there is fancy log stuff but it's not worth it for this)20:50
bgoladrobilla: i know, i tried printf but isnt printing anything20:50
bgolatried when setting port value as well, to make sure... norhting20:50
bgolanothing*20:50
bgolaim probably doing something stupid heh20:51
*** mlpug has quit IRC20:55
*** gianMOD_ has quit IRC20:57
*** ricardocrudo has quit IRC21:32
*** gianMOD has joined #lv222:03
falktxapart from qmidiarp, do we have any midi generator plugins?22:06
*** gianMOD has quit IRC22:15
*** triune has quit IRC22:27
*** triune has joined #lv222:29
*** triune has quit IRC22:34
*** wumpus has quit IRC22:54
*** NickSB has quit IRC22:54
*** gabrbedd has quit IRC22:54
*** Anchakor_ has quit IRC22:54
*** Anchakor has quit IRC22:54
*** rgareus has quit IRC22:54
*** JohannesG has quit IRC22:54
*** Haskellfant has quit IRC22:54
*** edogawa has quit IRC22:54
*** drobilla has quit IRC22:54
*** NickSB2 has quit IRC22:54
*** o0o0o has quit IRC22:54
*** falktx has quit IRC22:54
*** bgola has quit IRC22:54
*** Joeboy has quit IRC22:54
*** grejppi has quit IRC22:54
*** damo22 has quit IRC22:54
*** ax has quit IRC22:54
*** drobilla has joined #lv223:06
*** ax__ has joined #lv223:06
*** NickSB2 has joined #lv223:06
*** Anchakor1 has joined #lv223:06
*** ax_ has joined #lv223:06
*** wumpus has joined #lv223:06
*** Haskellfant has joined #lv223:06
*** JohannesG has joined #lv223:06
*** NickSB has joined #lv223:06
*** gabrbedd has joined #lv223:06
*** o0o0o has joined #lv223:09
*** rgareus has joined #lv223:09
*** ax_ has quit IRC23:09
*** damo22 has joined #lv223:12
*** falktx_ has joined #lv223:12
*** grejppi has joined #lv223:12
*** Joeboy has joined #lv223:12
*** bgola has joined #lv223:12
*** 7GHAAMDMO has joined #lv223:12
*** gianMOD has joined #lv223:26
*** gianMOD has quit IRC23:31
*** gianMOD has joined #lv223:37

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