Porting a win32 MIDI SysEx application to MacOSX

What is the easiest way to port a win32 MIDI SysEx application (a configuration program), to MacOSX ?

The application itself is written in Qt, but I have no experience in OSX MIDI APIs. Are there good enough drop-in replacements for calls like:

  • midiInOpen
  • midiOutOpen
  • midiOutPrepareHeader
  • midiOutLongMsg

and a couple more? Is there a decent source of information for someone who has never programmed under MacOSX to develop MIDI SysEx applications? CoreAudio?

Answers


I found a great little (just one .cpp file + headers) midi library - crossplatform and all :)

It's also a great source to analyse and to learn from.. a little nugget in the whole undocumented field.

http://www.music.mcgill.ca/~gary/rtmidi/index.html


What is your development platform? If you're writing a Native Coca Application for the mac, Apple wrote a complete framework to deal with the Midi traffic named CoreMidi. The CoreMidi framework deliver the whole package of midi (include SysEx) and even extend it with network support.

I recommend having a look at Pete Goodliffe blog post of using CoreMidi for iOS devices. Although you're not developing for iOS, there is a lot of CoreMidi related information there.

There is a simple, yet brilliant, application that I use a lot on my studio named: Midi Monitor which is an open source application. I recommend having a look there too.


Need Your Help

Crystal reports ExportToDisk consumes a lot of time

c# performance crystal-reports

I have a console application in C# which works with crystal reports. I am loading report (only once) using:

Postgresql JDBC Connection Error

java postgresql jdbc

I've installed postgresql 9.1 for Windows but I can't connect to it using JDBC.

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.