1 /* Record from LP 2 3 * Copyright (C) 1998 J.A. Bezemer 4 * 5 * Licensed under the terms of the GNU General Public License. 6 * ABSOLUTELY NO WARRANTY. 7 * See the file `COPYING' in this directory. 8 */ 9 10 #include "reclp_main.h" 11 #include "reclp_filenm.h" 12 #include "errorwindow.h" 13 #include <stdlib.h> 14 #include <stdio.h> 15 #ifndef OLD_CURSES 16 #include <ncurses.h> 17 #else 18 #include <curses.h> 19 #endif 20 21 #define BRECCMD "brec_gramo" 22 23 void record_from_lp(char * startdir)24record_from_lp (char *startdir) 25 { 26 char filename[250]; 27 char shellcmd[500], *tmp; 28 int ret, len; 29 30 if (!record_from_lp_get_filename (startdir, filename)) 31 return; 32 33 def_prog_mode (); /* save terminal state */ 34 35 tmp = shellcmd; 36 len = 500; 37 38 retry: 39 ret = snprintf (tmp, 500, BRECCMD " -S -s 44100 -b 16 -t 6000 -w \"%s\"", 40 filename); 41 42 if (ret > len) 43 { 44 tmp = alloca(ret); 45 len = ret; 46 if (tmp) 47 goto retry; 48 return; 49 } 50 51 if (ret == -1) 52 return; 53 54 system (shellcmd); 55 56 reset_prog_mode (); /* reset terminal state */ 57 } 58