Tuesday, 2017-01-17

*** Domino has quit IRC00:31
drobillargareus: Presumably with LV2_OPTIONS_INSTANCE?  In which case it means the plugin instance (since subject is meaningless with that context)00:49
drobilla(Yes, this is documented poorly now that I look at it)00:49
rgareusdrobilla: is there a way to find all possible options?00:52
drobillargareus: From a plugin?  opts:supportedOption and opts:requiredOptions.  Nothing dynamic.01:22
rgareusdrobilla: from the specs01:24
rgareusfor a host to see which options there are to implement01:24
rgareusfor a host *author* to *learn* which options there are to implement01:25
rgareusis there some nice RDF query that one can run on the specs?01:26
joelkraehemannthank you for your efforts01:28
drobillargareus: Not really01:38
drobillargareus: You can query for things that are a opts:Option01:38
drobillargareus: But it's not required that anything used as an option be (deliberately)01:39
drobillargareus: context?01:39
drobillargareus: You can query (* opts:supportedOption ?opt) and (* opts:requiredOption ?opt) for all plugins I suppose01:40
rgareuscontext is joelkraehemann asking earlier what options to imlement in his host01:40
rgareusand the answer is pretty much: look at jalv (or ardour)  -- currently only http://lv2plug.in/ns/ext/buf-size01:42
rgareusIIRC falktx has a few non-standard options in carla01:42
rgareusI'm not sure01:43
*** artfwo has quit IRC01:55
drobillaI would say the answer is to look at plugins you want to work, as always, but sure, looking at well-known implementations will get you a reasonable must-have list02:59
drobillahttp://git.drobilla.net/cgit.cgi/jalv.git/tree/src/jalv.c#n107402:59
*** Yruama_Lairba1 has quit IRC02:59
joelkraehemannthx03:34
*** oofus has quit IRC09:11
*** Domino has joined #lv209:12
*** trebmuh has joined #lv210:48
*** artfwo has joined #lv212:08
*** Yruama_Lairba has joined #lv212:23
*** ventosus has quit IRC13:03
*** ventosus has joined #lv213:04
*** jcelerier has joined #lv214:10
jcelerierhello :)14:11
jcelerierso, effects start working correctly with my host. Now I'd like to support instruments14:11
jcelerierbut I don't really understand how MIDI is handled14:11
jcelerierbetween lv2.atom, lv2.event14:11
jcelerieretc14:11
jcelerierbasically, how can I make a plug-in play a note at a given sample ?14:12
drobillajcelerier: http://lv2plug.in/git/cgit.cgi/lv2.git/tree/plugins/eg-midigate.lv214:27
jcelerierdrobilla: so MIDI will always be through "http://lv2plug.in/ns/ext/atom#AtomPort", not event port or midi port ?14:49
rgareusjcelerier: correct   event-ports were deprecated 3 years ago.14:49
jcelerierokay14:50
jcelerierwell let's just hope that there aren't too many legacy plug-ins...14:50
rgareusjcelerier: pretty much all have moved to LV2 AtomSequences14:50
jcelerierso.. is there a reliable way to know that a port will be expecting MIDI information and not OSC or some other protocol ?14:53
rgareusjcelerier:   atom:supports midi:MidiEvent14:53
rgareusin the .ttl  with expanded URIs:       http://lv2plug.in/ns/ext/atom#supports  http://lv2plug.in/ns/ext/midi#MidiEvent14:54
rgareusfor a given port14:55
jcelerierso.. I guess I could use the lv2_evbuf in Jalv (and ardour also it seems) ? Is it meant to facilitate this ?15:11
rgareusyep.15:17
rgareuswell, you need a bit more infrastructure first.  URI-map  (translate a URI to a number)15:18
jcelerierI have URI-map already15:19
jcelerierwhat I don't really grasp is at which point in my host should I "write" the event to the plug-in15:20
rgareusjcelerier: before calling the plugin's  run()15:20
rgareusjcelerier: queue all MIDI events   with a timestamp  for the given cycle15:20
rgareusbasically build some molecules out of Atoms:   [ timestamp + Midi-event ] ;   then make a sequence of those15:23
rgareustimestamp is relative to cycle-start    0 ..  (n_samples - 1)15:26
jcelerierrgareus: in this code : https://github.com/rncbc/qtractor/blob/69fef3e091fd84d6928f8a0f0c0b2142be60ada4/src/lv2/lv2_atom_helpers.h#L21915:30
jcelerierisn't timestamping done already ?15:30
jcelerier(ev->time.Frames = frames)15:30
rgareusyes15:32
rgareus   LV2_Atom_Event  =  timestamp  +  Atom-Event15:33
rgareustype == mapped URI  of  http://lv2plug.in/ns/ext/midi#MidiEvent15:33
rgareusin your case15:34
jceleriernice, thanks15:34
*** oofus_lt has joined #lv215:40
drobillaI'd say bothering with event ports in new code at this point is a waste of time, but you can if you like.  IIRC calf is the only significant straggler16:05
jcelerier:'(16:06
rgareusdrobilla: you're behind times16:12
rgareusdrobilla: calf switched to Atom ports over 2 years ago16:12
ventosuseven pianoteq has switched to atom ports last year :)16:15
rgareusventosus: I thought they already did in 201516:16
rgareusaround the time when they also introduced the   unescaped space in the URI.    april or may '15 IIRC16:17
* ventosus searches his mailbox for the 'feature request'16:18
rgareusventosus: do you know who's in charge of LV2 at pianoteq?16:18
rgareuswould be nice to invite them to LAC in Lyon.16:19
jcelerieroh nice, set-up by the GRAME :)16:20
jcelerierdo you know if the call for communications is still open ?16:20
rgareusjcelerier: http://lac.linuxaudio.org/201716:20
rgareusjcelerier: call for papers?16:20
rgareusyes, still open until Feb/1016:21
ventosusrgareus: I've sent the request to please change to atoms march 201616:21
jceleriernice16:21
jcelerierthanks16:21
jcelerierI've already got a paper to submit for the end of the month but I'll try to fit a poster16:21
jcelerierrgareus: are you working at GRAME or not at all ?16:23
ventosusrgareus: don't know who's responsible, my email was answered by julien pommier16:24
ventosushaving pianoteq at LAC would be nice indeed16:24
rgareusjcelerier: I'm working, but not at GRAME :)16:29
* rgareus has his own company, which works mostly for harrisonconsoles.com16:30
jceleriernice, ok16:30
jcelerier(I was asking because what I'm currently doing is retrofitting LV2 into one of their libs, LibAudioStream)16:31
rgareusjcelerier: I contributed a bit to FAUST, but that was mostly for stanford's benefit16:31
rgareusI know Stephane and and yann since maybe 10 years, but I've never visited at GRAME.16:32
jcelerierokay :) I'm working with Stephane for this one16:33
rgareusjcelerier: say hi to him.16:33
jcelerierbut they are both knee-deep in faust currently :p16:33
rgareusjcelerier: are you in Lyon?16:34
jcelerierrgareus: naye, Bordeaux16:34
*** Yruama_Lairba1 has joined #lv216:46
*** Yruama_Lairba has quit IRC16:48
*** oofus_lt has quit IRC16:48
*** ademilsonfp has joined #lv217:05
*** oofus_lt has joined #lv217:09
jcelerierif only the stuff in Carla was refactored into a nice easy to use library ! it seems that the code is pretty complete17:19
*** oofus_lt has quit IRC17:23
drobillargareus: Fair enough.  I probably only remember the calf thing as a "we didn't provide a strictly non-breaking upgrade path for that" mental note17:25
drobillaI make no claim to actually be up to date on the general state of plugins that exist.  Almost tempted to add a phone home mechanism in lilv but you can imagine that shitshow :)17:25
drobilla(and frankly you're not missing out on much but shiny GUIs there anyway, so I just never really cared)17:26
jcelerierwho does not like a shiny gui :D17:27
drobillajcelerier: There is not much to writing, really. lv2_atom_sequence_append_event does it.17:29
drobillaIf you're only writing MIDI, that's the easiest way.  For mixed streams of MIDI and fancier things the forge is handy17:29
jcelerierdrobilla: I don't have this function17:33
jcelerierwhere is it defined ?17:33
drobillaatom/util.h17:33
jcelerierthanks17:38
jceleriergonna buy some coffee, see you17:38
*** oofus_lt has joined #lv217:41
*** oofus_lt has quit IRC18:04
*** HarryHaaren has joined #lv219:19
*** dsheeler has joined #lv219:23
*** oofus_lt has joined #lv219:34
*** ademilsonfp has quit IRC20:37
*** dsheeler has quit IRC20:43
*** dsheeler has joined #lv220:51
*** deva has joined #lv221:16
*** deva has quit IRC21:45
jcelerierjq21:47
jcelerieryeahhhhh22:02
jcelerierI'm getting these sweet sweet midi note22:02
rgareusjcelerier: what synth are you testing with?22:03
jcelerieramsynth22:03
jcelerierthe calf stuff seems to work too22:10
*** HarryHaaren has quit IRC22:51
*** LAbot has joined #lv223:21

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