Moin,
ich kenne die Programme nicht, die Du da anschmeisst, aber gehe ich recht in der Annahme, dass arecord bzw. lame als Input die von lla_dmxrecorder erzeugte Datei verarbeiten?
Mit dem & am Zeilenende schickst Du die Programme in den Hintergrund, das nächste Kommando legt also los, bevor das davor stehende fertig ist. So geht das natürlich nicht - da murksen die Programme ja parallel in den Dateien rum. Du musst schon darauf achten, dass das liefernde Programm fertig ist, wenn die Weiterverarbeitung startet. Wenn ich mit meiner Annahme richtig liege, dann probier mal das (ungetestet):
Code:
start_record(){
(lla_dmxrecorder $filename && arecord -f cd | lame - $filename.wav) &
}
Das sollte dafür sorgen, dass lla_dmxrecorder erst brav seine Aufgabe erledigt, und nur wenn der mit Returncode 0 zurück ist starten arecord und lame - die Klammern verbannen das in eine Subshell und das & dahinter schickt die in den Hintergrund.
Jan
Lesezeichen