dd checks/rejection for absurdly huge codebooks.
[xiph/unicode.git] / postfish / mix.h
blob6f3673f765cf1f70766480e6e1bb66fa0405c0f3
1 /*
3 * postfish
4 *
5 * Copyright (C) 2002-2005 Monty
7 * Postfish is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2, or (at your option)
10 * any later version.
12 * Postfish is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with Postfish; see the file COPYING. If not, write to the
19 * Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
24 #include "postfish.h"
26 #define MIX_BLOCKS 4
28 typedef struct {
29 sig_atomic_t master_att;
30 sig_atomic_t master_delay;
32 sig_atomic_t placer_destA[OUTPUT_CHANNELS];
33 sig_atomic_t placer_destB[OUTPUT_CHANNELS];
34 sig_atomic_t placer_place;
35 sig_atomic_t placer_att;
36 sig_atomic_t placer_delay;
38 sig_atomic_t insert_source[MIX_BLOCKS][3];
39 sig_atomic_t insert_invert[MIX_BLOCKS];
40 sig_atomic_t insert_att[MIX_BLOCKS];
41 sig_atomic_t insert_delay[MIX_BLOCKS];
42 sig_atomic_t insert_dest[MIX_BLOCKS][OUTPUT_CHANNELS];
43 } mix_settings;
45 extern int mix_load(int outch);
46 extern int mix_reset(void);
47 extern time_linkage *mix_read(time_linkage *in,
48 time_linkage *inA, // reverb channel
49 time_linkage *inB); // reverb channel
50 extern int pull_mix_feedback(float **peak,float **rms);
52 extern mix_settings *mix_set;
53 extern sig_atomic_t atten_visible;
54 extern sig_atomic_t *mixpanel_active;
55 extern sig_atomic_t *mixpanel_visible;