r793: Small API addon, so plugins can 'see' camera and projector automation
[cinelerra_cv/mob.git] / cinelerra / playbackconfig.h
blob62d058667a916cc04bea8276cc2a20e10134448f
1 #ifndef PLAYBACKCONFIG_H
2 #define PLAYBACKCONFIG_H
4 #include "audiodevice.inc"
5 #include "bcwindowbase.inc"
6 #include "defaults.inc"
7 #include "maxchannels.h"
8 #include "playbackconfig.inc"
10 // This structure is passed to the driver for configuration during playback
11 class AudioOutConfig
13 public:
14 AudioOutConfig(int duplex);
15 ~AudioOutConfig();
17 int operator!=(AudioOutConfig &that);
18 int operator==(AudioOutConfig &that);
19 AudioOutConfig& operator=(AudioOutConfig &that);
20 void copy_from(AudioOutConfig *src);
21 int load_defaults(Defaults *defaults);
22 int save_defaults(Defaults *defaults);
23 // Total channels in do_channels
24 int total_playable_channels();
25 int playable_channel_number(int number);
26 // Total channels device can handle
27 int total_output_channels();
29 int fragment_size;
31 // Which channels to send output to
32 int do_channel[MAXCHANNELS];
34 // Offset for synchronization in seconds
35 float audio_offset;
37 // Change default titles for duplex
38 int duplex;
39 int driver;
40 int oss_enable[MAXDEVICES];
41 char oss_out_device[MAXDEVICES][BCTEXTLEN];
42 int oss_out_channels[MAXDEVICES];
43 int oss_out_bits;
47 char esound_out_server[BCTEXTLEN];
48 int esound_out_port;
50 // ALSA options
51 char alsa_out_device[BCTEXTLEN];
52 int alsa_out_channels;
53 int alsa_out_bits;
54 int interrupt_workaround;
56 // Firewire options
57 int firewire_channels;
58 int firewire_channel;
59 int firewire_port;
60 int firewire_frames;
61 char firewire_path[BCTEXTLEN];
62 int firewire_syt;
65 // DV1394 options
66 int dv1394_channels;
67 int dv1394_channel;
68 int dv1394_port;
69 int dv1394_frames;
70 char dv1394_path[BCTEXTLEN];
71 int dv1394_syt;
74 // This structure is passed to the driver
75 class VideoOutConfig
77 public:
78 VideoOutConfig();
79 ~VideoOutConfig();
81 int operator!=(VideoOutConfig &that);
82 int operator==(VideoOutConfig &that);
83 VideoOutConfig& operator=(VideoOutConfig &that);
84 void copy_from(VideoOutConfig *src);
85 int load_defaults(Defaults *defaults);
86 int save_defaults(Defaults *defaults);
87 int total_playable_channels();
88 char* get_path();
90 int driver;
91 char lml_out_device[BCTEXTLEN];
92 char buz_out_device[BCTEXTLEN];
93 // Entry in the buz channel table
94 int buz_out_channel;
95 int buz_swap_fields;
97 // X11 options
98 char x11_host[BCTEXTLEN];
99 int x11_use_fields;
100 // Values for x11_use_fields
101 enum
103 USE_NO_FIELDS,
104 USE_EVEN_FIRST,
105 USE_ODD_FIRST
109 // Which channels to send output to
110 int do_channel[MAXCHANNELS];
112 // Picture quality
113 int brightness;
114 int hue;
115 int color;
116 int contrast;
117 int whiteness;
119 // Firewire options
120 int firewire_channel;
121 int firewire_port;
122 char firewire_path[BCTEXTLEN];
123 int firewire_syt;
125 // DV1394 options
126 int dv1394_channel;
127 int dv1394_port;
128 char dv1394_path[BCTEXTLEN];
129 int dv1394_syt;
132 class PlaybackConfig
134 public:
135 PlaybackConfig();
136 ~PlaybackConfig();
138 PlaybackConfig& operator=(PlaybackConfig &that);
139 void copy_from(PlaybackConfig *src);
140 int load_defaults(Defaults *defaults);
141 int save_defaults(Defaults *defaults);
143 char hostname[BCTEXTLEN];
144 int port;
146 AudioOutConfig *aconfig;
147 VideoOutConfig *vconfig;
151 #endif