Sunday, 2015-10-11

*** falktx has quit IRC00:28
*** wumpus has quit IRC00:36
*** tytel has joined #lv201:47
*** drobilla has joined #lv202:10
*** ricardocrudo has quit IRC03:52
*** tytel has quit IRC05:17
*** tytel has joined #lv206:12
*** tytel has quit IRC06:16
*** tytel has joined #lv207:06
*** tytel has quit IRC07:10
*** tytel has joined #lv208:00
*** tytel has quit IRC08:04
*** edogawa has joined #lv208:09
*** wumpus has joined #lv208:26
*** deva has joined #lv208:40
*** tytel has joined #lv208:54
*** tytel has quit IRC08:58
*** uncle-j_j has joined #lv209:04
*** drobilla has quit IRC09:11
*** tytel has joined #lv209:18
*** tytel has quit IRC09:23
*** ventosus has joined #lv209:33
*** artfwo has quit IRC10:05
*** rncbc has joined #lv210:22
*** uncle-j_j1 has joined #lv210:44
*** uncle-j_j has quit IRC10:44
*** falktx has joined #lv210:47
*** NickSB2 has joined #lv210:47
*** edogawa has quit IRC11:20
*** aombk2 has quit IRC12:07
rgareusrncbc: quick, question re https://github.com/x42/midifilter.lv2/issues/812:13
rgareusrncbc: what is the midi buffer size in qtractor?12:14
rgareusrncbc: how many midi-events can a plugin generate in one cycle without causing qtractor to segfault?12:14
rgareuslooks like the user in question tries some fancy eurotechno.  1 midi-event in ->  50 events per 0.1 beats out... so 500 events per beat for every incoming midi-event12:15
rncbcrgareus: hi, not sure if it's 2K bytes or events12:15
rgareusardour, jalv have 32KB .12:16
rgareus500 events that's  500 * 3 bytes/event 1.5KBytes    (+ LV2 atom seq overhead: 2 bytes??)   per beat.  he didn't mention BPM12:17
rncbcrgareus: qtractor is 1K (1024) MIDI events12:18
rncbcrgareus: the lv2 sequence buffer will double that12:19
rgareusrncbc: I don't know if   lv2_atom_forge_*  does size-checks (but I think it does).  so the LV2 sequence is valid.. - just lots and lots of events12:20
rncbcrgareus: so it's = sizeof(LV2_Atom_Event) + 4) * 2048 bytes12:20
rgareusif the lv2-seq already overflows.. well, it's the plugin's fault (or lv2-headers, whatever,..)12:21
rgareusrncbc: yes well I don't know what the user sends into the plugin.   might as well be  more than 1 event  and high BPM.12:22
rncbcrgareus: yep12:22
rgareushe says hi hats.12:22
rgareusnote-on + note-off -> actually *212:23
rncbcrgareus: yes, that's why the lv2 buffer size is doubled12:23
rgareusrncbc: I'll see if I can find an easy way to check if the plugin honors LV2 buffersize.  If the answer is yes, it must be qtractor..12:26
rncbcrgareus: trying with reps=50 0.1beat on 120bpm, ok.12:26
rncbcrgareus: trying with reps=50 0.1beat on 240bpm, still ok.12:27
rgareussend more notes :)12:28
rncbcrgareus: trying with reps=50 0.1beat on 280bpm, still ok.12:29
rgareusrncbc: how does it sound?12:29
rncbcrgareus: trying with reps=64 0.1beat on 280bpm, seems fine.12:29
rgareusrncbc: I just checked: the MIDI-event forge does not overflow, but there is potentially an incomplete event at the end.12:32
*** NickSB2_ has joined #lv212:35
rncbcrgareus: wait... at 0.1ms it doesn't seem to repeat the notes i send in...12:45
rncbcrgareus: i may be running an old midifilter.lv212:51
rncbcrgareus: midifilter.so dates from Jan 20 201412:54
rncbcrgareus: ok, will try again from a freshly git pull12:57
rgareusrncbc: there have not been any real changes (only typo fixes and portability)13:00
rgareusI just pushed a fix for the potential truncated event at sequence end, though13:01
rncbcrgareus: yes, but at 0.1ms i don't really seem to notice any repeated notes13:01
rncbcrgareus: sorry, not ms but repeat-time in beats13:03
*** NickSB2_ has quit IRC13:05
rncbcrgareus: i now wonder if the repeat-time is shorter than input note duration might have a role here13:07
rgareusrncbc: that's fine. note-off events are generated in that case13:07
rgareusrncbc: I just checked with  jack-keyboard ->  jalv.gtk  "http://gareus.org/oss/lv2/midifilter#ntapdelay  -> jack_midi_dump13:08
rncbcrgareus: so you might have interleaved note-ons and offs ???13:08
rgareusno13:08
rgareusthe plugin is smart enough13:08
rgareusor should be.13:09
rgareusstill, dup note-on, or dup note-off would not cause crashes.13:10
rncbcrgareus: but fail in the instrument rendering13:11
rncbcrgareus: ok. i only seem to hear the repeat-time=0.1beat notes when i slow down the tempo bpm eg. 30bpm13:12
rncbcrgareus: maybe im just failing to see how this n-tay thing is supposed to work13:13
rncbcrgareus: but again it doesn't crash on rep-time=0.1 reps=50 on 30..280bpm13:15
* rncbc goes lunch13:15
rgareusrncbc: aah you're right.. there' a bug.13:15
rgareusonly the repeats send on/off.13:16
rgareusthe actual passed through event is not taken into account13:16
*** NickSB2_ has joined #lv213:16
rgareusnote-on (pass thru).   on, off, on, off, on,  off (pass thru), off (close of last repeat)   :(13:18
*** falktx has quit IRC14:00
*** falktx has joined #lv214:01
*** drobilla has joined #lv215:31
*** NickSB2_ has quit IRC16:11
rgareusrncbc: phew. that was more complicated than I thought; fixed the n-tap-delay dup on/off16:31
rgareusdrobilla: have got a minute or 5 for ingen?16:33
rgareusdrobilla: I'm halfway through debugging "no Atom message sent to UI" issue  and want a  2nd opinion before filing a ticket.16:34
rgareusthe actual issue:    Buffer::update_value_buffer()  simply returns because there's no value_buffer allocated for it.16:35
rgareusthere's no value_buffer, because for Atom-ports  _value_type == 016:36
rgareusLV2Block::instantiate()   does not bother to check  atom:supports  and set  _value_type to  _uris.atom_Object or ...16:37
rgareusbut that points to a deeper issue.  it seems that in ingen  a single atom-port can only every support one type16:37
drobillargareus: Atom ports that support a supported value type should have a value and all the stuff that goes along with it16:51
drobillargareus: But I haven't tinkered with this stuff in a while and AFAIK nobody else has ever done anything that would rely on it yet...16:51
drobillargareus: But if you are thinking about messages, you do *not* want any value stuff, because that port does not have a "value"16:52
drobilla"value" meaning it has some specific individual persistent probably scalar thing16:52
drobillargareus: i.e. for messages you don't want to look at that stuff at all16:54
drobillargareus: The code that is supposed to do this is PortImpl::monitor16:55
rgareusdrobilla: ok, so I'm on the wrong track there.16:55
drobillaif (port is explicitly broadcasted && port is sequence) foreach(ev) send_to_client(ev)16:56
rgareusdrobilla: thanks that's helpful. i'll dig a bit furter.16:59
* drobilla is going to have to have a lot more 'fun' with value things if this parameter stuff is to work in ingen17:09
*** NickSB2 has quit IRC17:22
rgareusdrobilla: it fails since _monitored is false17:33
rgareus----------------17:33
rgareus      } else if (_monitored && !buffer(0)->empty()) {17:33
rgareus        // Monitoring explictly enabled, send everything17:33
rgareus----------------17:33
rgareuschanging this to  /* _monitored && */     context.notify() is called. and the events there are correct.  but it still goes nowhere17:34
rgareusor at least it does not reach   suil_instance_port_event()17:35
drobillaThat should be set when the property ingen:broadcast is set from the UI.  Special key in server/events/Delta.cpp17:41
drobilla(probaby the hairiest part of Ingen, whee)17:41
drobillabbl17:41
*** drobilla has quit IRC17:41
falktx} else if (_monitored  !buffer(0)->empty()) {17:43
falktx|damn keyboard17:43
falktxrgareus: probably should be || instead of && ?17:43
rgareusfalktx: I don't think so.  I think ingen should set  _monitored to true before instantiating the UI.17:45
rgareusfalktx: still that's only half of the deal. as the context notifications don't go anywhere.17:46
rgareusContext::emit_notifications is only a midi parser it seems17:46
rgareusthe question is how or why it worked in the past.17:47
rgareusthough it's probably 2 years since I last checked17:47
rgareusaha, it's easier than that.  there's another  is_monitored()  check.17:51
rgareussimply initializing     _monitored  to true -> events come through17:51
*** deva has quit IRC17:55
*** aombk has joined #lv218:02
*** Galik has left #lv218:37
*** edogawa has joined #lv219:04
*** uncle-j_j1 has quit IRC20:31
*** rncbc has quit IRC21:25
*** ventosus has left #lv221:30
*** uncle-j_j has joined #lv221:32
*** falktx has quit IRC21:42
*** edogawa has quit IRC21:48
*** falktx has joined #lv222:08
*** ricardocrudo has joined #lv222:18
*** ricardocrudo has quit IRC23:31
*** NickSB2_ has joined #lv223:47

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