Hi Garth, Funny we are both using Real, MBS, and MIDI in drum-related apps. I started with PortMIDI but gave up due to insoluble problems with sysex, and switched to Windows MIDI and OSX MIDI classes. It is a bit less elegant due to not being cross-platform but it works. My app has been deployed commercially for more than a year so I wouldn't say it is impossible to use MIDI under Real, although I should say that my app does not use Note On / Note Off messages, only CC and sysex.
Julia From: "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>> Reply-To: "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>> Date: Thursday, August 2, 2012 4:37 AM To: "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>> Subject: Mbsplugins_monkeybreadsoftware.info Digest, Vol 400, Issue 4 Message: 2 Date: Wed, 01 Aug 2012 09:02:21 -0500 From: Garth Hjelte <[email protected]<mailto:[email protected]>> Subject: [MBS] PortMIDI questions To: MBS Real Studio Plugin List <[email protected]<mailto:[email protected]>> Message-ID: <mailman.3820.1343896670.32442.mbsplugins_monkeybreadsoftware.i...@ml01.ispgateway.de<mailto:mailman.3820.1343896670.32442.mbsplugins_monkeybreadsoftware.i...@ml01.ispgateway.de>> Content-Type: text/plain; charset="us-ascii" I noticed a couple things: The latency explanation in the docs seems to be in the wrong area, it's in OpenInput() where it should be in OpenOutput(). www.monkeybreadsoftware.net/midi-portmidistreammbs-method.shtml Also there's a misspelling it should be "better" not "vetter". You also should make mention of REAL's awful problem with MIDI especially in Windows regarding latency and it's event loop timing. It's not your problem but users should be aware of this, as it also kills the prospect of using MIDI with REAL at all. ------------------- And in regards to this, and this may not be your problem but I'm looking for suggestions. I made a quick and dirty MIDI channel rerouter, where MIDI coming in a say channel 1 goes out on the channel of my choice. The users selects the input of the physical MIDI device he's using, and the output is the IAC Driver. Here's the issue: I tried this with Kontakt (a software sample playback program) and it worked fine. I used 0 latency in the OpenOutput() command, as the docs mention: "If latency is zero, timestamps are ignored and all output is delivered immediately. If latency is greater than zero, output is delayed until the message timestamp plus the latency." I'm just passing through MIDI, so the absolute minimum latency is critical. The REAL Timer I am using is set to 1, the fastest possible. And it works fine, and it seems that the latency is acceptable. HOWEVER that may not be enough, as I am doing the project for one of the greatest (if not the greatest) rock drummers of all time. (Seriously.) Drummers really need as low a latency as possible. So I REALLY REALLY REALLY want 0 as the latency parameter in OpenOutput(). Here's the problem. My client is running a program called Live from Ableton, and it seems to choke when I do OpenOutput() with a latency param to 0. It refuses to accept any MIDI until I restart the program. However it works if the latency is set to 1. What is so special about Latency=0 as opposed to Latency=1 that it would make Live choke? Perhaps this is more a question for Ableton but I thought I'd ask you first. Garth Hjelte Sampler User _______________________________________________ Mbsplugins_monkeybreadsoftware.info mailing list [email protected] https://ml01.ispgateway.de/mailman/listinfo/mbsplugins_monkeybreadsoftware.info
