Wednesday, 2015-02-11

*** john_cephalopoda has left #lv200:01
*** gianMOD has joined #lv200:15
*** gianMOD_ has joined #lv200:17
*** gianMOD has quit IRC00:19
*** gianMOD_ has quit IRC00:21
*** gianMOD has joined #lv201:45
*** gianMOD has quit IRC01:50
*** badosu has joined #lv201:52
*** gianMOD has joined #lv202:46
*** gianMOD has quit IRC02:50
*** gianMOD has joined #lv203:47
*** gianMOD has quit IRC03:51
*** grejppi has quit IRC04:41
*** grejppi has joined #lv204:41
*** gianMOD has joined #lv204:48
*** gianMOD has quit IRC04:53
*** gianMOD has joined #lv205:48
*** gianMOD has quit IRC05:53
*** gianMOD has joined #lv206:07
*** gianMOD has quit IRC06:34
*** gianMOD has joined #lv207:20
*** gianMOD has quit IRC07:24
*** edogawa has joined #lv207:53
*** john_cephalopoda has joined #lv208:04
*** gianMOD has joined #lv208:44
*** edogawa has quit IRC08:56
*** ddom has joined #lv209:27
*** gianMOD has quit IRC09:38
*** gianMOD has joined #lv209:39
*** gianMOD has quit IRC09:39
*** gianMOD has joined #lv209:40
*** gianMOD has quit IRC09:40
*** gianMOD has joined #lv209:41
*** gianMOD has quit IRC09:41
*** gianMOD has joined #lv209:42
*** gianMOD has quit IRC09:47
*** gianMOD has joined #lv209:54
*** ricardocrudo has joined #lv210:11
*** ricardocrudo has quit IRC10:53
*** gianMOD has quit IRC11:03
*** deva has joined #lv211:11
devaI have created a sequence and am trying to append a midi event to it.11:37
devaThe sequence is to be passed to a plugin through lilv11:38
devahttp://pastebin.com/wLqE1kND11:38
devabut my plugin receives an  empty sequence... what am I doing wrong?11:38
*** gianMOD has joined #lv211:57
*** gianMOD has quit IRC12:11
*** falktx has joined #lv212:31
*** rncbc_jolla has joined #lv212:53
*** rncbc_jolla has quit IRC12:57
*** ricardocrudo has joined #lv214:02
*** NickSB2 has quit IRC14:03
*** ricardocrudo has quit IRC15:45
*** falktx has quit IRC16:03
*** ricardocrudo has joined #lv216:17
drobilladeva: Looks like you set the output capacity to the size of an empty sequence16:50
drobilladeva: So there's no space to append the event16:50
devadrobilla, Thanks, I think I already figured it out ;)16:50
drobillaCheck the return code...16:50
devaHow is that handled in Ardour?16:50
deva I mean, if a sequence is created with a default maximum size and a given buffer contains more midi events?16:51
devaWill they be skipped?16:51
devaOr is the sequence buffer size increased?16:51
drobilla"default maximum size"?16:53
drobillaI'm not sure what you mean.16:53
drobillaThe host allocates buffers, so they can be whatever size it wants16:53
drobillacapacity != size16:53
devaWhast I am currently doing is; create a char buffer of size n. Typecast it to a Sequence and use n as the capacity16:53
devaBut what if the sequence needs to hold more events that can be put in n bytes?16:54
drobillaI assume you're talking about a different version of code than shown in this paste...16:54
devaThe buffer is assigned to the port once during initialisation is it not?16:54
drobillaWell......... they won't fit?  Obviously? :P16:55
drobillaNo.16:55
devaOh, yes, sorry16:55
drobillaconnect_port can be called numerous times16:55
devaSo, if there at some point need to be fed more midi events to the plugin during a single run call, then the sequence can simply be realloced and a new connect call can be performed?16:56
drobillanot "during a single run call"16:57
drobillabut you can connect to whatever then run16:57
devaHmm.. wont that be a kind of "chicken and the egg" problem?16:58
drobillaMost hosts are real-time ones where this sort of situation doesn't really come up and you can't do that anyway16:58
drobillaWhy?  The host passes things to be processed to the plugin16:58
drobillaHow can the amount of stuff it wants to be processed change after it's...... asked the plugin to process stuff?16:58
devaIf we read from one buffer (ie. the midi interface on the soundcard) and get some unknown number of midi events that we need to , in the same run, feed to a plugin?16:59
drobillaIf I connect a plugin to 1 2 3 4 and call run, well, 1 2 3 4 is what it gets.  That can't somehow change while run() is running16:59
devaIt could be a plugin creating the events?16:59
drobillaOutputs are an entirely different situation17:00
drobillaI would need to know what actual situation you are considering to be able to say anything meaningful here17:00
devaBut if one writes a midi output plugin, it would still be using the buffer (sequence) allocated by the host?17:00
drobillaBut in general, allocating "big enough" buffers and hoping that's the case is just how RT programming goes17:00
drobillaYes.17:01
devaok, that was kind of what I was getting at ;)17:01
drobillaThe plugin can request larger buffer sizes with properties in its metadata17:01
drobilla(or dynamically, but few hosts support that and it's a questionable idea)17:01
devaHave you any "analysis" of how many midi events is a reasonable amount to use as a maximum?17:01
deva... and are you currently using a fixed one or one depending on the audio buffer size?17:02
devaI'm thinking the larger the audio buffer (and thereby the timespan of each midi run call) the more events could potentially be triggered17:02
drobillaMaximum for what?  Where?  When?17:03
devaThe buffer for the sequence as allocated by the host17:03
drobillaIn a host that gets this data from where?17:03
devaThe host that calls a plugin which produces midi events17:04
drobilla..............17:04
drobillaI know what a host is.17:04
john_cephalopodaIs lv2 also compatible with Mac OSX and windows operating systems?17:04
john_cephalopodawikipedia says "Unix/Linux" but lv2 sites talk about .dlls.17:04
drobillaThe reason I was asking about any kind of actually concrete situation is because many APIs tell you this.17:04
drobillae.g. if the host is using Jack, you use the MIDI buffer size from Jack17:05
devaIt is in no way concrete... mainly food for thought17:05
drobillaOtherwise, whatever.  Pick a number.17:05
drobillaRoughly the same size as an audio buffer should be fine.  Considerably smaller is probably also fine.17:05
devaBut lets assume it runs jack and jack has a 16 sample buffersize17:05
drobillaIt should be a parameter.17:05
drobillaIf it's Jack then you get this actual number from Jack and avoid the guesswork.17:05
devaIn this case it could be assumed that the midi plugin produces fewer events per iteration than it would if the jack buffer size were say 2048 samples17:06
devaDoes jack have a maximum number of midi events for each iteration?17:06
drobillaJack has a MIDI buffer size.17:07
drobillaWhich is configurable.17:07
devaok, and this buffer size is "resused" for the plugin->plugin communication because all calls go back into jack?17:08
deva*reused17:08
drobillaWell, the run block size is presumably also going to be the Jack block size17:10
devaok17:10
drobillaSo in the overwhelming majority of cases (instruments and filters) that'll do17:10
devaI think that answers my question :-)17:10
drobillaOnly actual MIDI generator plugins could be problematic17:10
deva... unless you have an elephant sitting on your keyboard :p17:10
drobillaWhich is what the properties in http://lv2plug.in/ns/ext/resize-port/ are for17:11
devaBut then you probably have other problems than those of midi buffer sizes...17:11
john_cephalopodaSo is it possible to use lv2 on windows and mac or not?17:13
john_cephalopodaA jumping elephant.17:13
devajohn_cephalopoda, actually a vibrating one... at 400 bpm ... shake that booty17:14
john_cephalopodaA vibrating booty shaker elephant on a keyboard. That sounds like a great plot for a comic.17:15
devahaha17:15
drobillajohn_cephalopoda: Yes.  The API itself is just portable C declarations17:18
drobillajohn_cephalopoda: The usual host libraries work on all major OSs17:18
john_cephalopodaNice.17:21
*** ddom has quit IRC17:22
*** edogawa has joined #lv217:27
john_cephalopodadeva: [nsfw-y]: http://picpaste.com/pics/be-voTKZGTe.1423677518.png17:58
john_cephalopodadrobilla: ^18:00
*** Anchakor_ has quit IRC18:06
*** falktx has joined #lv218:08
*** ricardocrudo has quit IRC18:08
*** Anchakor_ has joined #lv218:11
devajohn_cephalopoda, nice one ;)18:14
john_cephalopodaKrita is out-of-order atm so I had to use mypaint. Never really used mypaint before. It is awesome for sketching.18:15
john_cephalopodahttp://picpaste.com/pics/pyqt-I3qhjc49.1423679278.png18:28
john_cephalopodaMypaint has the advantage that I am too lazy to learn it and look where I can change the layers. I just draw and erase instead of using 1000 layers.18:29
john_cephalopodaBut back to lv2 talk ;D18:29
*** mlpug has joined #lv218:56
*** ricardocrudo has joined #lv219:03
*** rncbc has joined #lv219:47
*** rncbc is now known as rncbc|AFK19:52
*** deva has quit IRC20:36
*** ricardocrudo_ has joined #lv220:41
*** ricardocrudo has quit IRC20:44
*** ricardocrudo_ has quit IRC20:46
*** mlpug has quit IRC20:56
*** rncbc|AFK is now known as rncbc21:02
*** NickSB2 has joined #lv221:04
*** rncbc is now known as rncbc|AFK21:35
*** gianMOD has joined #lv221:37
*** rncbc|AFK is now known as rncbc21:57
* drobilla re-enables accounts on dev.drobilla.net and gets 6 spam accounts in a few hours22:14
drobillaSigh.  I need to do something about this22:14
john_cephalopodaHmm, it would be cool to be able to run everything on the system through jack.22:19
john_cephalopodaAnd patch it together.22:20
john_cephalopodaWith lv2 plugins.22:20
john_cephalopodaYou could route the output of mplayer through distortion, equalizers and vocoders.22:20
john_cephalopodaI wonder if performance would change a lot.22:21
drobillaThat's what Jalv is for22:22
drobillaBut yes, performance impact vs a single plugin host would be severe22:23
*** edogawa has quit IRC22:31
*** gianMOD has quit IRC22:38
john_cephalopodaIt would be cool to be able to handle audio routing on kernel level.22:39
*** gianMOD has joined #lv222:40
john_cephalopodaBut an address space switch every time you got some program there...22:40
john_cephalopodaSomehow not efficient.22:40
*** gianMOD has quit IRC23:08
drobillabugseverywhere seems the best, but also seems pretty dead.23:09
drobilladebbugs is alright if not git-backed, but it needs a subdomain which I can't set up on lv2plug.in (and is probably less than fun to set up in the first place)23:09
*** falktx has quit IRC23:16
*** NickSB2 has quit IRC23:18

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