Man konnte jetzt natürlich das Skripte in der unixinout.c starten.

So sieht der Originalaufruf für sox aus:

Code:
  sprintf(cmdline, "%s -v%f %s %s %s %s%s avg -%c", rec.cmd, (float)rec.volume / 100, rec.in_args, rec.file,
                        rec.out_args, rec.file, rec.suff, rec.chan);
  system(cmdline);
  sprintf(cmdline, "rm %s", rec.file);
  system(cmdline);
cmdline wird also zum Programmaufruf für REC_COMD (in rec.cmd gespeichert) zusammengesetzt. Das ergibt in etwa:

sox -v1.0 -u -b -r %d -c 2 -t raw aufnahme -c 1 aufnahme.wav 1

Du könntest jetzt als system("/home/max/...") nach der letzten Zeile deine Batch starten. Dann sollte der die Aufnahmen direkt am Ende konvertieren.

Also etwa so:
Code:
  sprintf(cmdline, "%s -v%f %s %s %s %s%s avg -%c", rec.cmd, (float)rec.volume / 100, rec.in_args, rec.file,
                        rec.out_args, rec.file, rec.suff, rec.chan);
  system(cmdline);
  sprintf(cmdline, "rm %s", rec.file);
  system(cmdline);
  system("/home/max/...") ;
Natürlich total ungetestet :-)