00001 #ifndef PLAYBACKCONFIG_H 00002 #define PLAYBACKCONFIG_H 00003 00004 #include "audiodevice.inc" 00005 #include "bcwindowbase.inc" 00006 #include "bchash.inc" 00007 #include "playbackconfig.inc" 00008 00009 // This structure is passed to the driver for configuration during playback 00010 class AudioOutConfig 00011 { 00012 public: 00013 AudioOutConfig(int duplex); 00014 ~AudioOutConfig(); 00015 00016 int operator!=(AudioOutConfig &that); 00017 int operator==(AudioOutConfig &that); 00018 AudioOutConfig& operator=(AudioOutConfig &that); 00019 void copy_from(AudioOutConfig *src); 00020 int load_defaults(BC_Hash *defaults); 00021 int save_defaults(BC_Hash *defaults); 00022 00023 int fragment_size; 00024 00025 00026 // Offset for synchronization in seconds 00027 float audio_offset; 00028 00029 // Change default titles for duplex 00030 int duplex; 00031 int driver; 00032 int oss_enable[MAXDEVICES]; 00033 char oss_out_device[MAXDEVICES][BCTEXTLEN]; 00034 int oss_out_bits; 00035 00036 00037 00038 char esound_out_server[BCTEXTLEN]; 00039 int esound_out_port; 00040 00041 // ALSA options 00042 char alsa_out_device[BCTEXTLEN]; 00043 int alsa_out_bits; 00044 int interrupt_workaround; 00045 00046 // Firewire options 00047 int firewire_channel; 00048 int firewire_port; 00049 int firewire_frames; 00050 char firewire_path[BCTEXTLEN]; 00051 int firewire_syt; 00052 00053 00054 // DV1394 options 00055 int dv1394_channel; 00056 int dv1394_port; 00057 int dv1394_frames; 00058 char dv1394_path[BCTEXTLEN]; 00059 int dv1394_syt; 00060 }; 00061 00062 // This structure is passed to the driver 00063 class VideoOutConfig 00064 { 00065 public: 00066 VideoOutConfig(); 00067 ~VideoOutConfig(); 00068 00069 int operator!=(VideoOutConfig &that); 00070 int operator==(VideoOutConfig &that); 00071 VideoOutConfig& operator=(VideoOutConfig &that); 00072 void copy_from(VideoOutConfig *src); 00073 int load_defaults(BC_Hash *defaults); 00074 int save_defaults(BC_Hash *defaults); 00075 char* get_path(); 00076 00077 int driver; 00078 char lml_out_device[BCTEXTLEN]; 00079 char buz_out_device[BCTEXTLEN]; 00080 // Entry in the buz channel table 00081 int buz_out_channel; 00082 int buz_swap_fields; 00083 00084 // X11 options 00085 char x11_host[BCTEXTLEN]; 00086 int x11_use_fields; 00087 // Values for x11_use_fields 00088 enum 00089 { 00090 USE_NO_FIELDS, 00091 USE_EVEN_FIRST, 00092 USE_ODD_FIRST 00093 }; 00094 00095 00096 00097 // Picture quality 00098 int brightness; 00099 int hue; 00100 int color; 00101 int contrast; 00102 int whiteness; 00103 00104 // Firewire options 00105 int firewire_channel; 00106 int firewire_port; 00107 char firewire_path[BCTEXTLEN]; 00108 int firewire_syt; 00109 00110 // DV1394 options 00111 int dv1394_channel; 00112 int dv1394_port; 00113 char dv1394_path[BCTEXTLEN]; 00114 int dv1394_syt; 00115 }; 00116 00117 class PlaybackConfig 00118 { 00119 public: 00120 PlaybackConfig(); 00121 ~PlaybackConfig(); 00122 00123 PlaybackConfig& operator=(PlaybackConfig &that); 00124 void copy_from(PlaybackConfig *src); 00125 int load_defaults(BC_Hash *defaults); 00126 int save_defaults(BC_Hash *defaults); 00127 00128 char hostname[BCTEXTLEN]; 00129 int port; 00130 00131 AudioOutConfig *aconfig; 00132 VideoOutConfig *vconfig; 00133 }; 00134 00135 00136 #endif
1.5.5