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)24 record_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