add new sigc++2 directory
[ardour.git] / libs / libsndfile / src / GSM610 / gsm_option.c
1 /*
2  * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
3  * Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
4  * details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
5  */
6
7 #include "gsm610_priv.h"
8
9 #include "gsm.h"
10
11 int gsm_option (gsm r, int opt, int * val)
12 {
13         int     result = -1;
14
15         switch (opt) {
16         case GSM_OPT_LTP_CUT:
17 #ifdef  LTP_CUT
18                 result = r->ltp_cut;
19                 if (val) r->ltp_cut = *val;
20 #endif
21                 break;
22
23         case GSM_OPT_VERBOSE:
24 #ifndef NDEBUG
25                 result = r->verbose;
26                 if (val) r->verbose = *val;
27 #endif
28                 break;
29
30         case GSM_OPT_FAST:
31
32 #if     defined(FAST) && defined(USE_FLOAT_MUL)
33                 result = r->fast;
34                 if (val) r->fast = !!*val;
35 #endif
36                 break;
37
38         case GSM_OPT_FRAME_CHAIN:
39
40 #ifdef WAV49
41                 result = r->frame_chain;
42                 if (val) r->frame_chain = *val;
43 #endif
44                 break;
45
46         case GSM_OPT_FRAME_INDEX:
47
48 #ifdef WAV49
49                 result = r->frame_index;
50                 if (val) r->frame_index = *val;
51 #endif
52                 break;
53
54         case GSM_OPT_WAV49:
55
56 #ifdef WAV49 
57                 result = r->wav_fmt;
58                 if (val) r->wav_fmt = !!*val;
59 #endif
60                 break;
61
62         default:
63                 break;
64         }
65         return result;
66 }
67 /*
68 ** Do not edit or modify anything in this comment block.
69 ** The arch-tag line is a file identity tag for the GNU Arch 
70 ** revision control system.
71 **
72 ** arch-tag: 963ff156-506f-4359-9145-371e9060b030
73 */
74