Thursday, 2016-10-20

*** JaVelDa has quit IRC02:32
*** JaVelDa has joined #lv202:32
*** oofus_lt has joined #lv206:19
*** gianMOD has joined #lv206:21
*** oofus_lt has quit IRC06:44
*** oofus_lt has joined #lv206:45
*** gianMOD has quit IRC06:53
*** gianMOD has joined #lv206:58
*** oofus_lt has quit IRC07:04
*** JaVelDa has left #lv207:24
*** JaVelDa has quit IRC07:24
*** JaVelDa has joined #lv207:26
*** sigma6 has joined #lv207:36
*** gianMOD has quit IRC08:41
*** gianMOD has joined #lv208:45
*** trebmuh has joined #lv208:45
*** ugjka has quit IRC09:06
*** jbitdrop has joined #lv209:08
*** ugjka has joined #lv209:11
*** gianMOD has quit IRC09:14
*** gianMOD has joined #lv209:20
*** Yruama_Lairba has joined #lv210:17
*** gianMOD has quit IRC10:21
*** gianMOD has joined #lv210:22
*** gianMOD has quit IRC11:07
*** gianMOD has joined #lv211:07
*** gianMOD has quit IRC11:11
*** ocbtec has joined #lv211:19
*** gianMOD has joined #lv212:05
*** gianMOD has quit IRC13:10
*** gianMOD has joined #lv213:15
*** gianMOD has quit IRC13:49
*** gianMOD has joined #lv213:57
*** gianMOD has quit IRC14:13
*** gianMOD has joined #lv214:14
*** gianMOD has quit IRC14:16
*** rncbc has joined #lv214:23
rncbcrgareus: hi again14:24
rncbcrgareus: jfyi. got rid of that lv2_atom_forge_is_object_type() crap today, and with that goes forge->Resource down the drain, in qtractor that is14:26
rgareuscool.  I take it, the code is also "cleaner" now.14:28
rncbcrgareus: t6he Go3 aka. V1 suite has it ready re. StateChanged aka. Dirty whatnot:)14:29
rncbcs/t6he/the/14:32
rncbcrgareus: however im not rly sure whether it should be implemented, on the V1s i mean--most of that stuff has been workaround'ed with some bad old hacks and threading :)14:35
rncbcrgareus: i meaning on the plugin context14:35
rgareusrncbc: in my case it's only synths.  you can set some parameters using MIDI-CC or bind controls to MIDI.   and those cannot be exposed as "normal" parameters14:36
rncbcrgareus: thing is, V1s state are complete described by lv2 input control ports _and_ lv2 properties, attotw14:37
rgareusrncbc: then you don't need it.14:37
rgareusexcept if you still allow to "override"  input control ports14:37
rgareususing MIDI or GUI.  ie the host does not change the input control port itself.14:38
rncbcrgareus: since 0.7.5 (as of late june) all input control ports and midi controllable parameters are different internal computational entities14:39
rncbcrgareus: that is to say that lv2 input control ports _and_ MIDI contrller assignments (which include CC, RPN, NRPN and even CC14bit) do concurr to the same subject parameter14:42
rgareusrncbc: how do you resolve ambiguity?14:43
rgareusie a host sets a input-control to "27"  and at the same time sends a MIDI-CC that'd set the mapped parameter to "48"14:43
rncbcrgareus: inputs are polled to change in valçue (with 0.1% tolerance)14:43
*** gianMOD has joined #lv214:44
rncbcrgareus: and last value is cached14:44
rncbcrgareus: some input is even smoothed (maximum slew rate is applied)14:45
rgareusso  1) set input to 27.  -> plugin uses 27.    2) send MIDI-CC to set it to 48 ..  -> input is still 27, plugin uses 4814:46
rgareus3) save + quit  4) re-open session ->   host sets input to "27"  ->   plugin wrongly uses 27 (and not 48)14:47
rncbcrgareus: no quite. on case 2): plugin detects input changed from "27" to "48" and rectas accordingly14:47
rncbcs/rectas/reacts14:48
rncbcrgareus: that runs on the lv2:run context of cource14:48
rgareusis the "48" saved somewhere (in custom state)?14:49
rncbcrgareus: if the particular parameter/input port is not subject to smoothing, that occurs immediatly14:50
rgareusthat part is fine (mostly)14:50
rgareusit's  3, 4  where it really falls apart.14:50
rncbcrgareus: otherwise it gets ramped so that the new value will only be effective a few samples later14:51
rncbcrgareus: thing is, from plugin pov, the parameter value is say double-buffered14:53
rncbcrgareus: so that lv2 input control ports are never overwritten anymore (as once before)14:56
rgareusrncbc: so you save the "current" and "buffered"  values with the custom plugin state?14:58
rncbcrgareus: nope. think of it as "they live" (Carpenter's movie pun:))14:59
*** gianMOD has quit IRC14:59
rncbcrgareus: hint, hint "i have come here to chew bubblegum, and..." you know the thrill don't ya? :)15:03
rgareusrncbc: you sound like drobilla :)15:03
rncbcrgareus: dang. don't you get that line? i bet drobilla don't either15:05
rgareusrncbc: no, I don't15:05
rgareusrncbc: but for reference,  like cinnamon gum.15:05
rncbcrgareus: oh no. the lien follows as "... i'm out of bubblegum!" -- this is one of most crazy lines ina conspiracy theory comedy movie ever15:07
*** ugjka has quit IRC15:07
rgareusrncbc: in any case  calling "StateChanged" in case the double-buffered value changes is good, then.15:09
rncbcrgareus: maybe... the case at hand is, any change made from the lv2 input ports are, say, real changes to a lv2 plugin state. that gets noted in hosts like atractor alright, np. midi controller induced changes are, what? should they be considered changes in lv2 state? uh?15:13
*** ugjka has joined #lv215:13
rncbcs/atractor/qtractor ;)15:13
rgareusheh15:14
rgareusrncbc: do those plugins have a lv2:state interface?15:14
rncbcyep15:14
rgareus...and that state changes when you send it a MIDI message.15:14
rgareusand the host does not know about that lv2:state  changing.  Some MIDI message may change the state, some other MIDI message may not.15:15
rncbci get that there's a static state and there's a dynamic state15:16
rncbcstatic state is what lv2 state is about; a dynamic state reflects currect run-time and performence, it might not be what you want to store in session15:17
rncbcs/currect/current/15:18
rncbcs/performence/performance15:18
rncbci take it, for instance, that MIDI controller changes are not to be read as static state changes, but they maybe get saved, later n, as dynamic/current state changes.15:21
rncbcs/later n/later on/15:21
rncbciow. they don't go as dirty'ing the current state of the plugin, but it can and will be saved as snapshot if the user is pleased15:23
*** gianMOD has joined #lv215:24
*** gianMOD has quit IRC15:29
rncbcrgareus: the former (my) dilemma, in the V1s context, all state changes are already handled and flagged as dirty, either indirectly as an input control port change, or directly as a property/patch change.15:30
rncbcrgareus: so that hosts "know" when these plugin's lv2 state is invalid at any one time.15:32
rncbcs/invalid/outdated/15:33
*** edogawa has joined #lv215:36
*** sigma6 has quit IRC16:09
*** gianMOD has joined #lv216:38
*** gianMOD has quit IRC16:39
*** oofus_lt has joined #lv216:45
*** oofus_lt has quit IRC16:47
*** oofus_lt has joined #lv216:50
*** oofus_lt has quit IRC17:00
*** oofus_lt has joined #lv217:01
*** dsheeler has quit IRC19:12
*** ocbtec has quit IRC19:12
*** gianMOD has joined #lv219:30
*** oofus_lt has quit IRC19:35
*** gianMOD has quit IRC20:46
*** gianMOD has joined #lv221:03
*** rncbc has quit IRC21:41
*** gianMOD has quit IRC22:26
*** edogawa has quit IRC22:36
*** gianMOD has joined #lv222:41
*** gianMOD has quit IRC23:33
*** jbitdrop has quit IRC23:50

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