libmidixx is a C++ library to manipulate MIDI sequences. It is intended for a multimedia application that handles playback, recording, and editing of MIDI sequences, though the current version just implements playback only. libmidixx supports OSS, ALSA, and serial (tty) MIDI ports, and also comes with a user-space sequencer implementation, which does a fair job on a lightly-loaded machine.
Melys is a MIDI sequencer application for ALSA. It records, plays back, and saves to a MIDI file or to an XML-based format. There is a track view where you can arrange parts using drag-and-drop and a piano-roll view where the same can be done with notes. There is also a graphical tempo view where the tempo of the song can be changed. Multiple files can be open at once, and notes can be dragged between them. It is written in C and uses the GNOME/Gtk+ widget sets.