1 #ifndef X_DISPLAY_MISSING
2 # include <X11/Xlib.h>
3 # include <X11/Intrinsic.h>
4 #endif
5 
6 #define CAPTURE_OFF          0
7 #define CAPTURE_OVERLAY      1
8 #define CAPTURE_GRABDISPLAY  2
9 #define CAPTURE_ON           9
10 
11 struct CHANNEL {
12     char  *name;
13     char  *key;
14     char  *group;
15     int   midi;
16 
17     char  *cname;     /* name of the channel  */
18     int   channel;    /* index into tvtuner[] */
19     int   fine;
20     int   freq;
21     int   audio;
22 
23     int   capture;
24     int   input;
25     int   norm;
26 
27     int   color;
28     int   bright;
29     int   hue;
30     int   contrast;
31 
32 #ifndef X_DISPLAY_MISSING
33     /* FIXME */
34     Pixmap  pixmap;
35     Widget  button;
36 #endif
37 };
38 
39 extern struct CHANNEL  defaults;
40 extern struct CHANNEL  **channels;
41 extern int             count;
42 
43 extern int have_config;
44 extern int jpeg_quality;
45 extern int keypad_ntsc;
46 extern int keypad_partial;
47 extern int use_osd;
48 extern int osd_x, osd_y;
49 extern int use_wm_fullscreen;
50 extern int fs_width,fs_height,fs_xoff,fs_yoff;
51 extern int pix_width,pix_height,pix_cols;
52 extern int last_sender, cur_sender;
53 extern int cur_channel, cur_fine;
54 extern int cur_capture, cur_freq;
55 extern struct ng_filter *cur_filter;
56 
57 extern char *mov_driver;
58 extern char *mov_video;
59 extern char *mov_fps;
60 extern char *mov_audio;
61 extern char *mov_rate;
62 
63 extern char mixerdev[32],mixerctl[16];
64 extern char *midi;
65 
66 int  lookup_channel(char *channel);
67 int  get_freq(int i);
68 int  cf2freq(char *name, int fine);
69 
70 struct CHANNEL* add_channel(char *name);
71 void hotkey_channel(struct CHANNEL *channel);
72 void configure_channel(struct CHANNEL *channel);
73 void del_channel(int nr);
74 void calc_frequencies(void);
75 
76 void read_config(char *conffile, int *argc, char **argv);
77 void parse_config(int parse_channels);
78 void save_config(void);
79 
80 /* ----------------------------------------------------------------------- */
81 
82 struct LAUNCH {
83     char *name;
84     char *key;
85     char *cmdline;
86 };
87 
88 extern struct LAUNCH *launch;
89 extern int nlaunch;
90 
91 /* ----------------------------------------------------------------------- */
92 
93 extern struct STRTAB booltab[];
94 extern struct STRTAB captab[];
95 
96 int str_to_int(char *str, struct STRTAB *tab);
97 const char* int_to_str(int n, struct STRTAB *tab);
98