On Thu, Sep 11, 2003 at 12:56:06PM -0700, Sean Don wrote:
Hi,
I'd like to program a "player piano" under GNU/Linux for OSS/Lite. All it
would
do is play MIDI files and light up a song's notes on a graphical keyboard.
Unfortunately, my old SB16 sound card does not have AWE support and its Yamaha
OPL3 FM synthesizer support sounds very inorganic. Hence, I'm looking for a way
to use a "software sequencer" (like Timidity.) I tried Fluidsynth, but it
causes
midis to break up on my computer.
Here are my questions:
1. Is is possible to have a previously written player for OSS (such as SDL Mixer
or Timidity) play a stream in the background, and I somehow "read into" what
notes are being played at every moment so I can light up the correct piano key?
Unfortunately, Timidity is stand-alone; that is, is has no developmental
libraries.
Hmm, I don't know about OSS, but you really should consider using ALSA!
A simple solution would be to use timidity or fluidsynth as standalone apps and write a
simple ALSA-sequencer client(check out
http://www.suse.de/~mana/alsa090_howto.html) that
just reads incomming events and draws the piano keys accordingly. Then you (a)connect your
sequencer's MIDI-out to timidity/fluidsynth AND your app.
cheers,
Christian Henz