Tuesday, 2015-12-01

drobillargareus: Minor thing ingen's menu keeps reminding me of: we really need some category for things like MIDI filters01:43
drobillaNeed a verbey word for 'eventey stuff', but no idea what that could be01:45
rgareusdrobilla: I re-classified them as "lv2:UtilityPlugin"  recently02:05
* rgareus needs to make a new relase soon. 02:11
drobillargareus: Yeah, Utility is much better than Filter, but now Utility is even more a massive list of etc.02:19
drobillaI was thinking that classifying based on a mechanism might be questionable, a lot of them have higher level meanings, too (musical scale stuff, timing stuff, dynamics, etc)02:23
rgareusEventProcessor  is to geeky, I suppose02:24
drobillaBut you can have several classes, so no reason not to stick yourself in the existing hierarchy too if it makes sense02:24
drobillargareus: "MIDI" is less nerdy (at least to anyone who would be using it in the first place), but... well, then it's MIDI :)02:25
rgareusEventProcessor would be the super-class of Midi2Midi.02:26
drobilla"Events" isn't a verb, but some of the current ones aren't either (Dynamics, Delay sort of)02:26
rgareusverb? which category has a verb?02:27
*** NickSB2 has joined #lv202:27
drobillaGenerator, Modulator, Simulator02:27
rgareussince when is "Generator" a verb :)02:28
drobillaNevermind, it's already inconsistent so it doesn't matter02:28
rgareusthey're all nouns.02:28
drobillaOh, right.  I'm being sloppy with language02:28
rgareusexcept for some ambiguities.  comb works :)02:29
drobillaA description of the thing that does the action (plugin) vs the data itself02:29
* rgareus wants to use PitchPlugins to pitch LV2.02:30
drobillaClassifying things is tedious :)02:30
drobillaI don't know if I'd make intype=>outtype the second level02:31
rgareusI don't mind classifying the plugin itself. Coming up with good set of categories is the hard part.02:31
drobillae.g. something like PitchPlugin and TimingPlugin and a Converters for any inter-protocol business might make more sense02:31
drobillaMaybe just a MIDI for things that are very about MIDI...02:32
drobillaBut for now AFAIK yours is the only fully event-based set, so easiest is to just add lv2:EventPlugin and stick them directly in that02:32
drobillaMove 'em later if things get unwieldy there02:32
rgareusdrobilla: distinguishing them from instruments is the tricky part.02:32
drobillargareus: Well, they have no audio outputs, so...02:33
rgareuswhile we're at this.  where would "audio to midi" plugins fit it?02:33
rgareuslv2:ConverterPlugin is close.02:33
drobillaYeah, that's the best fit of the current classes I think02:35
drobillaThough maybe lv2:AnalyserPlugin would be more accurate for most02:36
drobilla(How many hosts present a hierarchical menu?)02:37
rgareus2?02:37
drobillaThough I should add a by-project menu to Ingen02:42
drobilla(Related note, it's kind of annoying to have the "Calf" or "MDA" or whatever prefix baked-in so the host can never show you just the name, but that won't change...)02:44
drobillaor, author=>project, maybe02:45
drobillargareus: Seeems we also need a MeterPlugin02:45
rgareus:)02:47
drobillaThough until there's other AnalyzerPlugins I guess it doesn't matter, just moves the hulk of meterplugins somewhere else and leaves that empty02:48
rgareuscalf has an AnalyzerPlugin, too02:48
drobillaChannel variants are unfortunate, but AU we ain't :/02:49
rgareusand yes, it's an odd choice to bake in "branding" in the name for FLOSS plugins.02:49
drobillargareus: Yeah, I was mainly thinking about what to do when actual analyzer plugins show up (as per other discussion)02:49
drobillargareus: Well, this *could* be forced away by host pressure02:49
drobillae.g. if you support project name stuff, and the data is there, auto-prefix it most everywhere02:50
drobillaSo they get Calf Calf Filter until they fix it :)02:50
rgareusIMHO it makes little sense.  most "collections" are diverse enough.02:51
rgareusanyway. I gotta sleep.02:52
drobillag'night02:52
rgareusCU in the morning.02:52
*** NickSB2 has quit IRC04:28
*** falktx` has joined #lv204:30
*** falktx has quit IRC04:34
*** ColaEuphoria has joined #lv206:21
*** edogawa has joined #lv207:31
*** drobilla has quit IRC07:49
*** NickSB___ has quit IRC07:50
*** NickSB has joined #lv207:51
*** falktx has joined #lv209:29
*** NickSB has quit IRC09:36
*** ddom has joined #lv209:39
*** ventosus has joined #lv209:43
*** ricardocrudo has joined #lv209:57
*** NickSB has joined #lv209:57
*** aombk2 has joined #lv210:21
*** falktx has quit IRC10:23
*** aombk has quit IRC10:23
*** ricardocrudo has quit IRC10:29
*** ricardocrudo has joined #lv210:44
*** falktx|work has joined #lv210:49
*** NickSB2 has joined #lv211:06
*** NickSB2 has quit IRC13:49
*** drobilla has joined #lv214:41
*** son0p has quit IRC14:49
*** son0p has joined #lv214:53
*** drobilla` has joined #lv217:18
*** drobilla` is now known as drobilla_lab17:19
*** rncbc has joined #lv217:26
*** ddom has quit IRC17:43
*** ssj71 has joined #lv218:27
*** ssj71 has quit IRC18:32
*** ssj71 has joined #lv218:33
*** SadKo has joined #lv218:47
SadKoHello all, is x42 here?18:50
ssj71rgareus: ^^18:53
*** SadKo has quit IRC18:54
rgareusI am now18:55
rgareuswhile we wait for him to come back: is there a host that supports multiple Atom ports (same direction)?18:55
rgareusSadKo wrote a plugin like that http://tracker.ardour.org/view.php?id=6679#c1767518:56
ssj71rgareus: considering thats the first such plugin I doubt it18:58
rgareusardour's engine can potentially do this, but some of the MIDI plumbing prevents it from working correctly.C[C[C[C[C[C[C[C[C[C[C[C18:58
ssj71why wouldn't one port just process all the atoms that come through?18:58
drobilla_labWe need to establish a property for 'this is my control port' for this reason18:59
drobilla_labThough plugins except those that *need* multiple streams inherently (MIDI mixers and routers and so on) should not do this18:59
ssj71can we add some verbage like "only one port shall be designated as lv2:control"19:01
ssj71or would that not suffice?19:01
drobilla_labIt seems to monitor some "UI sync" event port, *and* a float port for phase19:02
drobilla_labI have not looked deeper than that but I highly doubt this is sane :)19:02
rgareusmultiple midi i/o  is a valid use-case19:03
drobilla_labssj71: one port in each direction, perhaps, but something like that, yes19:03
rgareusardour allows for multiple event ports and does already handle it properly IFF one adds a custom 2nd midi port to the track.19:03
rgareusbut then no synth can be added to the track (there are none with 2 ins)19:04
drobilla_labA port that only exists for UI communication (assuming that should even exist at all) should probably be connectionOptional19:06
rgareusif you read back on the tracker - it all started because Ardour < 4.4-git does not re-send output port values when the UI is re-opened.19:08
rgareusI should not have mentioned Atom ports, but I'm glad I did.  new user groks the concept in no time and finds new edge-cases :)19:10
rgareusnot a a single complaint about RDF or URIs either - that must be a first :)19:12
drobilla_labToo long.  I skimmed it :)19:12
drobilla_labThe correct way to do this if you are using atoms is to have the UI send a request (typically patch:Get) when it's opened19:12
drobilla_lab(Though if they added those ports just to work around Ardour, ugh)19:13
rgareuscurrently release versions of ardour do not re-send the value when the GUI is closed/re-opened.   but the whole exercise is somewhat moot because 4.4-git does this now.19:16
rgareuswithout Atom it is not trivial to work around this. (I used some not-on-gui port handshake for force a change in the past)19:17
drobilla_labThat seems rather odd.  The only values around are the correct ones19:19
drobilla_labI guess it just doesn't update the UI on init whatsoever?19:20
* drobilla_lab should probably pay more attention to the Ardour tracker, but, well, life...19:20
rgareusdrobilla_lab: the backend stays around.  ardour did not send GUI port_events when the GUI is re-displayed19:20
drobilla_labrgareus: But it did initially?19:20
rgareusardour only sent port_events() to the GUI if the value changes.  (not every cycle)19:20
rgareusdrobilla_lab: yes.  show the GUI the first time: all fine.    close GUI, re-open -> no events *were* sent.19:21
rgareuswell,  for the first-time:  events were only sent if the current value did not match the default.  (that screwed up calf)19:22
drobilla_labI don't see how those two cases are even different19:22
drobilla_labBut whatever19:22
*** ricardocrudo has quit IRC19:24
*** NickSB2 has joined #lv219:55
*** falktx|work has quit IRC20:24
*** drobilla_lab has quit IRC20:59
falktx`rgareus: since some time ago carla does support multiple atom ports21:12
falktx`rgareus: the one with the designation 'control' (or falling back to the 1st one) is used as the main one21:13
falktx`that one gets the messages from the UI I think21:13
rgareusfalktx`: I have not seen the full code, nor know what SadKo's plugin does, but it looks like he uses  2 Atom ports for DSP to GUI notifications.21:15
falktx`does he set the 'port_index' in the write_function=21:15
falktx`?21:15
rgareusI don't know.21:16
falktx`carla can handle it if it does21:16
rgareusI can see that 2 Atom ports make sense for  2 separate MIDI i/o.  but it does not for plugin <> GUI comm.21:16
falktx`https://github.com/falkTX/Carla/blob/master/source/backend/plugin/CarlaPluginLV2.cpp#L294321:17
falktx`I agree with that21:17
falktx`(you)21:17
rgareusin ardour's case it [only] works if the track in question has 2 event-ports (e.g 2 midi-ins).  otherwise the ports are merged into the same buffer21:17
*** ventosus has left #lv221:53
*** ricardocrudo has joined #lv222:09
*** ricardocrudo has quit IRC23:14
*** ricardocrudo has joined #lv223:26

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