PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MIDI Programmierung mit ALSA unter Linux



csac3604
20.05.05, 15:16
distribution: Suse Linux 8.1
soundkarte: Creative Sound Blaster Audio PCI 128 / Chipset ES1371
treiber: OSS, ALSA (?), esound --> ergebnis von lsmod siehe lsmod.txt
kernel: 2.4.19-4GB

hallo

ich versuche C/C++ anwendungen unter linux mittels der ALSA API zu schreiben. bis jetzt hab ich das mittels der OSS API gemacht. doch ich möchte jetzt auf ALSA umsteigen. ich verwende ein Midi keyboard von Terratec, MIDI Master TMM 1. Angeschlossen am Joystick (MIDI) port von meiner soundkarte.

ich hab folgendes programm (test.txt), welches beim kompilieren diese fehlermeldung bringt:

/tmp/ccVvAnvh.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status

kompiliert hab ich das ganze mit gcc test.cpp -o test -lasound

ich habe heute alsa installiert (bzw. versucht). ich hab mir v1.0.4 installiert. zuerst die treiber, dann die lib und dann die utils. alles von source kompiliert. ohne fehler. genauso wie auf der ALSA install seite erklärt ALSA Install ES1371 (http://www.alsa-project.org/alsa-doc/doc-php/template.php?company=Creative+Labs&card=Sound+Blaster+Ensoniq+AudioPCI.&chip=ES1371&module=ens1371) .

dann hab ich timidity installiert mit diesen options: ./configure --enable-audio=alsa --enable-alsaseq --enable-gtk.

ich hätte nämlich gerne folgendes:
- c++ programm, welches von der MIDI Schnittstelle MidiMessages vom MIDI Keyboard liest (funzt mit OSS und Improv Library (http://improv.sapp.org/) improv library bereits), ich muss dann halt die ALSA API verwenden, is klar!
- c++ programm, welches auch wieder MIDI Messages an die MIDI Schnittstelle schicken kann; ich weiss, dass meine oben genannte soundkarte keine hardware MIDI Synth besitzt, deswegen versuche ich auch timidity zu verwenden.

mein probleme:
- wie bekomme ich die fehlermeldungen beim kompilieren weg, bzw. wie bekomme ich diese alsa bibliothek?
- wie bekomme ich einen sound, wenn ich am keyboard etwas drücke? wie funktioniert das mit den midi ports?

um hilfe bin ich sehr dankbar, da es ein UNI projekt ist, und ich das noch in diesem leben fertig bekommen sollte....

danke