arirusso / unimidi

Realtime MIDI IO for Ruby
Other
255 stars 27 forks source link

Can't connect virtual devices on OSX #18

Closed simonbreak closed 10 years ago

simonbreak commented 12 years ago

I'm trying out micromidi on OSX and have pretty much immediately run into a problem.

Whilst physical devices (i.e. actual external devices connected to the computer) & IAC buses are being picked up fine by unimidi, virtual devices (i.e. the in/out ports exposed by other programs) are not. I know these virtual ports are working fine because they appear in Logic, Reaper, etc etc.

Looking at this blog post here http://xmidi.com/blog/how-to-access-midi-devices-with-coremidi/ and your code here https://github.com/arirusso/ffi-coremidi/blob/master/lib/coremidi/device.rb it seems to me that the problem is that you are using MIDIGetDevice rather than MIDIGetSource and MIDIGetDestination.

Anyway, I understand this may not be a priority for you but I would be very grateful if you could take a look as I would really like to use micromidi for a new live performance system I am writing. If you are too busy to look at this I will just have to dive in myself but I am something of a Ruby n00b so I would definitely feel more comfortable with a solution from yourself...

arirusso commented 12 years ago

Hi @originalproject

I'm not familiar with virtual ports. Do you know of a free program that I could use to test them? I don't have Logic or Reaper unfortunately.

simonbreak commented 12 years ago

Hi Ari, thanks for the reply.

The 30-day trial version of Max/MSP has them, and it's not particularly big. Get it here: http://cycling74.com/downloads/

If you want to test getting MIDI to/from Max yourself I can make you a simple patch. Or if you want you can go ahead with the change and I can test it for you.

Cheers!

xaviershay commented 11 years ago

Watch.

xaviershay commented 11 years ago

Actually my issue was this: http://tx81z.blogspot.com/2011/06/osx-unimidi-and-midi-patch-bay.html

(needed to check my IAC Driver to "online")