>what is the 'easiest' MIDI interface to get working under the average >Linux kernel? what sort of experiences do folks have with getting >MIDI working (on a programming level) using API's such as (but not >limited to) ALSA, and MidiShare? > >for me so far, MidiShare seems to offer the most direct and usable >approach .. while ALSA is wraught with complexity and dependencies >which often seem out of control. i'd like to know what your >experience, as developers, has been with getting a working MIDI >subsystem under Linux ...
i can speak up as someone who has avoided any interactions with the ALSA sequencer for years because of a similar perception. i recently converted Tim Thompson's KeyKit from its raw MIDI port-based implementation under Linux to one that uses the ALSA sequencer (and adding multiport support along the way). it was suprisingly easy and obvious, given a simple example (in this case, the "ALSA sequencer MIDI Port object" that someone contributed to Ardour). even more gratifying was comparing the code to the keykit implementations for win32 and CoreMidi. the ALSA sequencer one was smaller, more logical and less bogged down in details. i still think that the ALSA sequencer implementation has a serious design issue by being located in the kernel, but the API for doing what most people need to do most of the time seems relatively straightforward, and the implementation seems efficient and functional. --p
