Boxer icon indicating copy to clipboard operation
Boxer copied to clipboard

Feature request: line-in support

Open mratzloff opened this issue 12 years ago • 2 comments

Hi Alun! Since you're doing so much with Roland devices lately, I've got an idea for an improvement.

I have several physical Roland devices (MT-32, CM-32L, SC-55mkII) and in order to use them I of course plug the analog cable into my audio input port and then use a utility called LineIn (http://rogueamoeba.com/freebies/). It's a great utility, but I always forget to start it when I play a MIDI game and so there's inevitably this ritual of me checking cables and making sure everything is arranged properly before I remember: start LineIn, you dope.

I figure since you're familiar with Core Audio and the MT-32 and General MIDI specs now (SC-55mkII is primarily a General MIDI device) it could be possible to automatically detect MIDI input and pipe it in.

Or maybe you're already doing this and something's not configured correctly on my end?

Either way, thanks for your fantastic continued work on Boxer! This is easily my favorite open source project.

mratzloff avatar May 13 '12 18:05 mratzloff

Boxer does try to autodetect when you have an MT-32 or CM-32L connected to your Mac, and will pipe MT-32 music to it automatically (but not General MIDI, because that would sound wrong through an MT-32.)

The detection basically 'pings' the device with an MT-32 specific sysex message and waits for a response: this requires that both midi-in and midi-out cables are connected to the device (so that the device can send its response back to Boxer). The detection is prone to interference from poor cables and 3rd-party MIDI-routing apps, and isn't 100% reliable at the best of times.

There's no detection yet for General MIDI synths like the SC-55, because it's a much broader target to hit and I've no idea yet how to limit the scope so that Boxer will only choose actual MIDI synths, and not glom on to some inappropriate MIDI device. Implementing such detection hasn't been a priority, because OS X already has a great General MIDI synth built-in.

At the point when I add a per-game mixer panel to Boxer, I'll also add a dropdown to choose the MIDI device to send to. The options will be populated from the connected MIDI devices of course, but as the final decision then rests in the hands of the user, it will remove the need for complex guesswork on Boxer's part (as well as making up for any lapses in Boxer's MT-32 detection.)

alinebee avatar May 14 '12 16:05 alinebee

At the point when I add a per-game mixer panel to Boxer, I'll also add a dropdown to choose the MIDI device to send to. The options will be populated from the connected MIDI devices of course, but as the final decision then rests in the hands of the user, it will remove the need for complex guesswork on Boxer's part (as well as making up for any lapses in Boxer's MT-32 detection.)

Thanks for the in-depth explanation! That's perfect--I almost prefer manually selecting it anyway.

mratzloff avatar May 14 '12 19:05 mratzloff