1 /*
2  * app_rsrc.h
3  *
4  * Application resources for FXTV
5  *
6  * (C) 1997 Randall Hopper
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions are
10  * met: 1. Redistributions of source code must retain the above copyright
11  * notice, this list of conditions and the following disclaimer. 2.
12  * Redistributions in binary form must reproduce the above copyright notice,
13  * this list of conditions and the following disclaimer in the documentation
14  * and/or other materials provided with the distribution.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY
17  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19  * DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
20  * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
22  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
23  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26  * SUCH DAMAGE.
27  *
28  */
29 
30 #ifndef __APP_RSRC_H
31 #define __APP_RSRC_H
32 
33 #include <X11/Intrinsic.h>
34 
35 /***************************/
36 /*  APPLICATION RESOURCES  */
37 /***************************/
38 
39 typedef struct _AppResources {
40     Boolean  driver_defaults;
41     Boolean  colorbars;
42     float    hue;
43     float    brightness;
44     float    contrast;
45     float    sat_u;
46     float    sat_v;
47 	String   debug;
48     int      device_number;
49     String   input_format;
50     String   tuner_mode;
51 
52     String   def_chan;
53     String   def_input;
54     String   def_audio_input;
55     int      display_fps;
56     Boolean  aspect_lock;
57 
58     String   cable_station_list;
59     String   ant_station_list;
60     String   cable_freq_set;
61     String   ant_freq_set;
62 
63     Boolean  do_audio;
64     String   dsp_device;
65     String   mixer_device;
66     String   mixer_channel;
67 
68     String   rec_cmd_mpeg2;
69     String   rec_cmd_mpeg3;
70     String   play_cmd_mpeg2;
71     String   play_cmd_mpeg3;
72 
73     String   video_cnvt_script;
74 
75     Boolean  bswap2Bpp;
76     Boolean  bswap3Bpp;
77     Boolean  bswap4Bpp;
78     Boolean  wswap4Bpp;
79 
80     int      Bpp_24bit;
81     int      Bpp_32bit;
82 
83     Boolean  afc_mode;
84     Boolean  disable_direct_v;
85     String   remote_type;             /*  Type of Remote Control attached  */
86 
87     String   video_cap_file[4];
88 
89     String   station_annot_font;
90     Pixel    station_annot_color;
91     int      station_annot_delay;
92     Boolean  station_annot_idonly;
93 
94     String   tuner_mode_annot_font;
95     Pixel    tuner_mode_annot_color;
96     int      tuner_mode_annot_delay;
97 
98     String   input_dev_annot_font;
99     Pixel    input_dev_annot_color;
100     int      input_dev_annot_delay;
101 
102     String   volume_annot_font;
103     Pixel    volume_annot_color;
104     int      volume_annot_delay;
105 
106     String   mute_annot_font;
107     Pixel    mute_annot_color;
108     int      mute_annot_delay;
109 
110     Boolean  station_in_win_title;
111     Boolean  station_in_win_icon;
112 
113     Boolean  help;
114 
115 } AppResources;
116 
117 #ifndef DEFINE_APP_RESOURCES
118 
119 extern AppResources     App_res;
120 
121 #else
122 
123 #define RNdeviceNumber      "deviceNumber"
124 #define RCdeviceNumber      "DeviceNumber"
125 #define RNcolorbars         "colorbars"
126 #define RCcolorbars         "Colorbars"
127 #define RNhue               "hue"
128 #define RChue               "Hue"
129 #define RNbrightness        "brightness"
130 #define RCbrightness        "Brightness"
131 #define RNcontrast          "contrast"
132 #define RCcontrast          "Contrast"
133 #define RNsatU              "satU"
134 #define RCsatU              "SatU"
135 #define RNsatV              "satV"
136 #define RCsatV              "SatV"
137 #define RNdebug             "debug"
138 #define RCdebug             "Debug"
139 #define RNdriverDefaults    "driverDefaults"
140 #define RCdriverDefaults    "DriverDefaults"
141 #define RNinputFormat       "inputFormat"
142 #define RCinputFormat       "InputFormat"
143 #define RNtunerMode         "tunerMode"
144 #define RCtunerMode         "TunerMode"
145 #define RNdefaultChannel    "defaultChannel"
146 #define RCdefaultChannel    "DefaultChannel"
147 #define RNdefaultInput      "defaultInput"
148 #define RCdefaultInput      "DefaultInput"
149 #define RNdefaultAudioInput "defaultAudioInput"
150 #define RCdefaultAudioInput "DefaultAudioInput"
151 #define RNfps               "fps"
152 #define RCfps               "Fps"
153 #define RNaspectLock        "aspectLock"
154 #define RCaspectLock        "AspectLock"
155 #define RNcableStatList     "cableStationList"
156 #define RCcableStatList     "StationList"
157 #define RNantennaStatList   "antennaStationList"
158 #define RCantennaStatList   "StationList"
159 #define RNantennaFreqSet    "antennaFreqSet"
160 #define RCantennaFreqSet    "FreqSet"
161 #define RNcableFreqSet      "cableFreqSet"
162 #define RCcableFreqSet      "FreqSet"
163 
164 #define RNdoAudio           "doAudio"
165 #define RCdoAudio           "DoAudio"
166 #define RNdspDevice         "dspDevice"
167 #define RNmixerDevice       "mixerDevice"
168 #define RCaudioDevice       "AudioDevice"
169 #define RNmixerChannel      "mixerChannel"
170 #define RCmixerChannel      "MixerChannel"
171 
172 #define RNrecCmdMpeg2       "recCmdMpeg2"
173 #define RNrecCmdMpeg3       "recCmdMpeg3"
174 #define RCrecCmd            "recCmd"
175 #define RNplayCmdMpeg2      "playCmdMpeg2"
176 #define RNplayCmdMpeg3      "playCmdMpeg3"
177 #define RCplayCmd           "playCmd"
178 
179 #define RNvideoCnvtScript   "videoCnvtScript"
180 #define RCvideoCnvtScript   "VideoCnvtScript"
181 
182 #define RCswap              "Swap"
183 #define RNbswap2Bpp         "bswap2Bpp"
184 #define RNbswap3Bpp         "bswap3Bpp"
185 #define RNbswap4Bpp         "bswap4Bpp"
186 #define RNwswap4Bpp         "wswap4Bpp"
187 
188 #define RCBpp               "Bpp"
189 #define RNBpp24bit          "Bpp24bit"
190 #define RNBpp32bit          "Bpp32bit"
191 
192 #define RNafc               "afc"
193 #define RCafc               "Afc"
194 
195 #define RNdisableDirectV    "disableDirectV"
196 #define RCdisableDirectV    "DisableDirectV"
197 
198 #define RNremoteType        "remoteType"
199 #define RCremoteType        "RemoteType"
200 
201 #define RNhelp              "help"
202 #define RChelp              "Help"
203 
204 #define RNvideoCapFile1     "videoCapFile1"
205 #define RNvideoCapFile2     "videoCapFile2"
206 #define RNvideoCapFile3     "videoCapFile3"
207 #define RNvideoCapFile4     "videoCapFile4"
208 #define RCvideoCapFile      "videoCapFile"
209 
210 #define RCannotFont            "AnnotFont"
211 #define RCannotColor           "AnnotColor"
212 #define RCannotDelay           "AnnotDelay"
213 #define RNstationAnnotFont     "stationAnnotFont"
214 #define RNstationAnnotColor    "stationAnnotColor"
215 #define RNstationAnnotDelay    "stationAnnotDelay"
216 #define RNstationAnnotIDOnly   "stationAnnotIDOnly"
217 #define RNtunerModeAnnotFont   "tunerModeAnnotFont"
218 #define RNtunerModeAnnotColor  "tunerModeAnnotColor"
219 #define RNtunerModeAnnotDelay  "tunerModeAnnotDelay"
220 #define RNinputDevAnnotFont    "inputDevAnnotFont"
221 #define RNinputDevAnnotColor   "inputDevAnnotColor"
222 #define RNinputDevAnnotDelay   "inputDevAnnotDelay"
223 #define RNvolumeAnnotFont      "volumeAnnotFont"
224 #define RNvolumeAnnotColor     "volumeAnnotColor"
225 #define RNvolumeAnnotDelay     "volumeAnnotDelay"
226 #define RNmuteAnnotFont        "muteAnnotFont"
227 #define RNmuteAnnotColor       "muteAnnotColor"
228 #define RNmuteAnnotDelay       "muteAnnotDelay"
229 
230 #define RNstationInWinTitle    "stationInWinTitle"
231 #define RCstationInWinTitle    "StationInWinTitle"
232 
233 #define RNstationInWinIcon     "stationInWinIcon"
234 #define RCstationInWinIcon     "StationInWinIcon"
235 
236 AppResources     App_res;
237 
238 #define pFALSE  ((caddr_t) "False")
239 #define pTRUE   ((caddr_t) "True" )
240 
241 static XrmOptionDescRec Cmd_line_options[] = {
242    { "-driverDefaults"     , RNdriverDefaults , XrmoptionNoArg , pTRUE       },
243    { "-colorbars"          , RNcolorbars      , XrmoptionNoArg , pTRUE       },
244    { "-hue"                , RNhue            , XrmoptionSepArg, NULL        },
245    { "-brightness"         , RNbrightness     , XrmoptionSepArg, NULL        },
246    { "-contrast"           , RNcontrast       , XrmoptionSepArg, NULL        },
247    { "-satU"               , RNsatU           , XrmoptionSepArg, NULL        },
248    { "-satV"               , RNsatV           , XrmoptionSepArg, NULL        },
249    { "-debug"              , RNdebug          , XrmoptionSepArg, NULL        },
250    { "-deviceNumber"       , RNdeviceNumber   , XrmoptionSepArg, NULL        },
251    { "-inputFormat"        , RNinputFormat    , XrmoptionSepArg, NULL        },
252    { "-noaspectlock"       , RNaspectLock     , XrmoptionNoArg , pFALSE      },
253    { "-tunerMode"          , RNtunerMode      , XrmoptionSepArg, NULL        },
254    { "-defaultChannel"     , RNdefaultChannel , XrmoptionSepArg, NULL        },
255    { "-defaultInput"       , RNdefaultInput   , XrmoptionSepArg, NULL        },
256    { "-defaultAudioInput"  , RNdefaultAudioInput, XrmoptionSepArg, NULL      },
257    { "-cableStationList"   , RNcableStatList  , XrmoptionSepArg, NULL        },
258    { "-antennaStationList" , RNantennaStatList, XrmoptionSepArg, NULL        },
259    { "-cableFreqSet"       , RNcableFreqSet   , XrmoptionSepArg, NULL        },
260    { "-antennaFreqSet"     , RNantennaFreqSet , XrmoptionSepArg, NULL        },
261 
262    { "-noaudio"            , RNdoAudio        , XrmoptionNoArg , pFALSE      },
263    { "-noAudio"            , RNdoAudio        , XrmoptionNoArg , pFALSE      },
264    { "-doAudio"            , RNdoAudio        , XrmoptionNoArg , pTRUE       },
265    { "-dspDevice"          , RNdspDevice      , XrmoptionSepArg, NULL        },
266    { "-mixerDevice"        , RNmixerDevice    , XrmoptionSepArg, NULL        },
267    { "-mixerChannel"       , RNmixerChannel   , XrmoptionSepArg, NULL        },
268 
269    { "-recCmdMpeg2"        , RNrecCmdMpeg2    , XrmoptionSepArg, NULL        },
270    { "-recCmdMpeg3"        , RNrecCmdMpeg3    , XrmoptionSepArg, NULL        },
271    { "-playCmdMpeg2"       , RNplayCmdMpeg2   , XrmoptionSepArg, NULL        },
272    { "-playCmdMpeg3"       , RNplayCmdMpeg3   , XrmoptionSepArg, NULL        },
273 
274    { "-videoCnvtScript"    , RNvideoCnvtScript, XrmoptionSepArg, NULL        },
275 
276    { "-bswap2Bpp"          , RNbswap2Bpp      , XrmoptionNoArg , pTRUE       },
277    { "-nobswap2Bpp"        , RNbswap2Bpp      , XrmoptionNoArg , pFALSE      },
278    { "-bswap3Bpp"          , RNbswap3Bpp      , XrmoptionNoArg , pTRUE       },
279    { "-nobswap3Bpp"        , RNbswap3Bpp      , XrmoptionNoArg , pFALSE      },
280    { "-bswap4Bpp"          , RNbswap4Bpp      , XrmoptionNoArg , pTRUE       },
281    { "-nobswap4Bpp"        , RNbswap4Bpp      , XrmoptionNoArg , pFALSE      },
282    { "-bwwap4Bpp"          , RNwswap4Bpp      , XrmoptionNoArg , pTRUE       },
283 
284    { "-Bpp24bit"           , RNBpp24bit       , XrmoptionSepArg, NULL        },
285    { "-Bpp32bit"           , RNBpp32bit       , XrmoptionSepArg, NULL        },
286 
287    { "-noafc"              , RNafc            , XrmoptionNoArg , pFALSE      },
288    { "-disableDirectV"     , RNdisableDirectV , XrmoptionNoArg , pTRUE       },
289    { "-remoteType"         , RNremoteType     , XrmoptionSepArg, NULL        },
290 
291    { "-videoCapFile1"      , RNvideoCapFile1  , XrmoptionSepArg, NULL        },
292    { "-videoCapFile2"      , RNvideoCapFile2  , XrmoptionSepArg, NULL        },
293    { "-videoCapFile3"      , RNvideoCapFile3  , XrmoptionSepArg, NULL        },
294    { "-videoCapFile4"      , RNvideoCapFile4  , XrmoptionSepArg, NULL        },
295 
296    { "-stationAnnotFont"   , RNstationAnnotFont   , XrmoptionSepArg, NULL    },
297    { "-stationAnnotColor"  , RNstationAnnotColor  , XrmoptionSepArg, NULL    },
298    { "-stationAnnotDelay"  , RNstationAnnotDelay  , XrmoptionSepArg, NULL    },
299    { "-stationAnnotIDOnly" , RNstationAnnotIDOnly , XrmoptionNoArg , pTRUE   },
300    { "-tunerModeAnnotFont" , RNtunerModeAnnotFont , XrmoptionSepArg, NULL    },
301    { "-tunerModeAnnotColor", RNtunerModeAnnotColor, XrmoptionSepArg, NULL    },
302    { "-tunerModeAnnotDelay", RNtunerModeAnnotDelay, XrmoptionSepArg, NULL    },
303    { "-inputDevAnnotFont"  , RNinputDevAnnotFont  , XrmoptionSepArg, NULL    },
304    { "-inputDevAnnotColor" , RNinputDevAnnotColor , XrmoptionSepArg, NULL    },
305    { "-inputDevAnnotDelay" , RNinputDevAnnotDelay , XrmoptionSepArg, NULL    },
306    { "-volumeAnnotFont"    , RNvolumeAnnotFont    , XrmoptionSepArg, NULL    },
307    { "-volumeAnnotColor"   , RNvolumeAnnotColor   , XrmoptionSepArg, NULL    },
308    { "-volumeAnnotDelay"   , RNvolumeAnnotDelay   , XrmoptionSepArg, NULL    },
309    { "-muteAnnotFont"      , RNmuteAnnotFont      , XrmoptionSepArg, NULL    },
310    { "-muteAnnotColor"     , RNmuteAnnotColor     , XrmoptionSepArg, NULL    },
311    { "-muteAnnotDelay"     , RNmuteAnnotDelay     , XrmoptionSepArg, NULL    },
312 
313    { "-remoteType"         , RNremoteType     , XrmoptionSepArg, NULL        },
314 
315    { "-stationInWinTitle"  , RNstationInWinTitle  , XrmoptionNoArg , pTRUE   },
316    { "-stationInWinIcon"   , RNstationInWinIcon   , XrmoptionNoArg , pTRUE   },
317 
318    { "-help"          , RNhelp           , XrmoptionNoArg , (caddr_t) "True"  },
319 #ifdef DEBUG
320    { "-fps"           , RNfps            , XrmoptionSepArg, NULL              },
321 #endif
322 };
323 
324 static XtResource Resources[] = {
325     { RNdriverDefaults, RCdriverDefaults, XtRBoolean, sizeof(Boolean),
326         XtOffsetOf(AppResources, driver_defaults), XtRImmediate,
327         (XtPointer) False },
328     { RNcolorbars, RCcolorbars, XtRBoolean, sizeof(Boolean),
329         XtOffsetOf(AppResources, colorbars), XtRImmediate,
330         (XtPointer) False },
331     { RNhue, RChue, XtRFloat, sizeof(float),
332         XtOffsetOf(AppResources, hue), XtRString,
333         "0.0" },
334     { RNbrightness, RCbrightness, XtRFloat, sizeof(float),
335         XtOffsetOf(AppResources, brightness), XtRString,
336         "0.0" },
337     { RNcontrast  , RCcontrast  , XtRFloat, sizeof(float),
338         XtOffsetOf(AppResources, contrast  ), XtRString,
339         "100.0" },
340     { RNsatU  , RCsatU  , XtRFloat, sizeof(float),
341         XtOffsetOf(AppResources, sat_u     ), XtRString,
342         "100.0" },
343     { RNsatV  , RCsatV  , XtRFloat, sizeof(float),
344         XtOffsetOf(AppResources, sat_v     ), XtRString,
345         "100.0" },
346     { RNdebug, RCdebug, XtRString, sizeof(String),
347         XtOffsetOf(AppResources, debug     ), XtRImmediate,
348         "" },
349     { RNdeviceNumber, RCdeviceNumber, XtRInt, sizeof(int),
350         XtOffsetOf(AppResources, device_number), XtRString,
351         "0" },
352     { RNinputFormat, RCinputFormat, XtRString, sizeof(String),
353         XtOffsetOf(AppResources, input_format    ), XtRImmediate,
354         "ntsc" },
355     { RNtunerMode, RCtunerMode, XtRString, sizeof(String),
356         XtOffsetOf(AppResources, tuner_mode      ), XtRImmediate,
357         "antenna" },
358     { RNdefaultChannel, RCdefaultChannel, XtRString, sizeof(String),
359         XtOffsetOf(AppResources, def_chan), XtRImmediate,
360         "0" /*  0 = Don't change channel */ },
361     { RNdefaultInput, RCdefaultInput, XtRString, sizeof(String),
362         XtOffsetOf(AppResources, def_input), XtRImmediate,
363         "" },
364     { RNdefaultAudioInput, RCdefaultAudioInput, XtRString, sizeof(String),
365         XtOffsetOf(AppResources, def_audio_input), XtRImmediate,
366         "" },
367     { RNfps, RCfps, XtRInt, sizeof(int),
368         XtOffsetOf(AppResources, display_fps), XtRString,
369         "-1" /* -1 = Max FPS  */ },
370     { RNaspectLock, RCaspectLock, XtRBoolean, sizeof(Boolean),
371         XtOffsetOf(AppResources, aspect_lock), XtRImmediate,
372         (XtPointer) False },
373 
374     { RNcableStatList, RCcableStatList, XtRString, sizeof(String),
375         XtOffsetOf(AppResources, cable_station_list ), XtRImmediate,
376         ""  },
377     { RNantennaStatList, RCantennaStatList, XtRString, sizeof(String),
378         XtOffsetOf(AppResources, ant_station_list ), XtRImmediate,
379         ""  },
380     { RNcableFreqSet, RCcableFreqSet, XtRString, sizeof(String),
381         XtOffsetOf(AppResources, cable_freq_set ), XtRImmediate,
382         "cableirc"  },
383     { RNantennaFreqSet, RCantennaFreqSet, XtRString, sizeof(String),
384         XtOffsetOf(AppResources, ant_freq_set ), XtRImmediate,
385         "nabcst"  },
386 
387     { RNdoAudio, RCdoAudio, XtRBoolean, sizeof(Boolean),
388         XtOffsetOf(AppResources, do_audio), XtRImmediate,
389         (XtPointer) True },
390     { RNdspDevice, RCaudioDevice, XtRString, sizeof(String),
391         XtOffsetOf(AppResources, dsp_device ), XtRImmediate,
392         "/dev/dsp"  },
393     { RNmixerDevice, RCaudioDevice, XtRString, sizeof(String),
394         XtOffsetOf(AppResources, mixer_device ), XtRImmediate,
395         "/dev/mixer"  },
396     { RNmixerChannel, RCmixerChannel, XtRString, sizeof(String),
397         XtOffsetOf(AppResources, mixer_channel ), XtRImmediate,
398         "line"  },
399 
400     { RNrecCmdMpeg2, RCrecCmd, XtRString, sizeof(String),
401         XtOffsetOf(AppResources, rec_cmd_mpeg2 ), XtRImmediate,
402         "mpeg_musicin -l 2 -p 1"  },
403     { RNrecCmdMpeg3, RCrecCmd, XtRString, sizeof(String),
404         XtOffsetOf(AppResources, rec_cmd_mpeg3 ), XtRImmediate,
405         "mpeg_musicin -l 3 -p 2"  },
406     { RNplayCmdMpeg2, RCplayCmd, XtRString, sizeof(String),
407         XtOffsetOf(AppResources, play_cmd_mpeg2 ), XtRImmediate,
408         "mpg123"  },
409     { RNplayCmdMpeg3, RCplayCmd, XtRString, sizeof(String),
410         XtOffsetOf(AppResources, play_cmd_mpeg3 ), XtRImmediate,
411         "mpg123"  },
412 
413     { RNvideoCnvtScript, RCvideoCnvtScript, XtRString, sizeof(String),
414         XtOffsetOf(AppResources, video_cnvt_script ), XtRImmediate,
415         X11BASE "/lib/X11/fxtv/fxtv_cnvt.sh"  },
416 
417     { RNbswap2Bpp, RCswap, XtRBoolean, sizeof(Boolean),
418         XtOffsetOf(AppResources, bswap2Bpp), XtRImmediate,
419         (XtPointer) True },
420     { RNbswap3Bpp, RCswap, XtRBoolean, sizeof(Boolean),
421         XtOffsetOf(AppResources, bswap3Bpp), XtRImmediate,
422         (XtPointer) False },
423     { RNbswap4Bpp, RCswap, XtRBoolean, sizeof(Boolean),
424         XtOffsetOf(AppResources, bswap4Bpp), XtRImmediate,
425         (XtPointer) True },
426     { RNwswap4Bpp, RCswap, XtRBoolean, sizeof(Boolean),
427         XtOffsetOf(AppResources, wswap4Bpp), XtRImmediate,
428         (XtPointer) True },
429 
430     { RNBpp24bit, RCBpp, XtRInt, sizeof(int),
431         XtOffsetOf(AppResources, Bpp_24bit), XtRString,
432         "-1" /*  0 = Guess */ },
433     { RNBpp32bit, RCBpp, XtRInt, sizeof(int),
434         XtOffsetOf(AppResources, Bpp_32bit), XtRString,
435         "-1" /*  0 = Guess */ },
436 
437     { RNafc, RCafc, XtRBoolean, sizeof(Boolean),
438         XtOffsetOf(AppResources, afc_mode), XtRImmediate,
439         (XtPointer) True },
440     { RNdisableDirectV, RCdisableDirectV, XtRBoolean, sizeof(Boolean),
441         XtOffsetOf(AppResources, disable_direct_v), XtRImmediate,
442         (XtPointer) False },
443 
444     { RNremoteType, RCremoteType, XtRString, sizeof(String),
445         XtOffsetOf(AppResources, remote_type ), XtRImmediate,
446         "None"  },
447 
448     { RNstationInWinTitle, RCstationInWinTitle, XtRBoolean, sizeof(Boolean),
449         XtOffsetOf(AppResources, station_in_win_title), XtRImmediate,
450         (XtPointer) False },
451     { RNstationInWinIcon, RCstationInWinIcon, XtRBoolean, sizeof(Boolean),
452         XtOffsetOf(AppResources, station_in_win_icon), XtRImmediate,
453         (XtPointer) False },
454 
455     { RNvideoCapFile1, RCvideoCapFile, XtRString, sizeof(String),
456         XtOffsetOf(AppResources, video_cap_file[0] ), XtRImmediate,
457         ""  },
458     { RNvideoCapFile2, RCvideoCapFile, XtRString, sizeof(String),
459         XtOffsetOf(AppResources, video_cap_file[1] ), XtRImmediate,
460         ""  },
461     { RNvideoCapFile3, RCvideoCapFile, XtRString, sizeof(String),
462         XtOffsetOf(AppResources, video_cap_file[2] ), XtRImmediate,
463         ""  },
464     { RNvideoCapFile4, RCvideoCapFile, XtRString, sizeof(String),
465         XtOffsetOf(AppResources, video_cap_file[3] ), XtRImmediate,
466         ""  },
467 
468     { RNstationAnnotFont, RCannotFont, XtRString, sizeof(String),
469         XtOffsetOf(AppResources, station_annot_font ), XtRImmediate,
470         "-adobe-utopia-regular-r-*-*-0-0-*-*-*-0-iso8859-1"  },
471     { RNstationAnnotColor, RCannotColor, XtRPixel, sizeof(Pixel),
472         XtOffsetOf(AppResources, station_annot_color ), XtRString,
473         "Green"  },
474     { RNstationAnnotDelay, RCannotDelay, XtRInt, sizeof(int),
475         XtOffsetOf(AppResources, station_annot_delay ), XtRString,
476         "2000" },
477     { RNstationAnnotIDOnly, XtCBoolean, XtRBoolean, sizeof(Boolean),
478         XtOffsetOf(AppResources, station_annot_idonly), XtRImmediate,
479         (XtPointer) False },
480 
481     { RNtunerModeAnnotFont, RCannotFont, XtRString, sizeof(String),
482         XtOffsetOf(AppResources, tuner_mode_annot_font ), XtRImmediate,
483         "-adobe-utopia-regular-r-*-*-0-0-*-*-*-0-iso8859-1"  },
484     { RNtunerModeAnnotColor, RCannotColor, XtRPixel, sizeof(Pixel),
485         XtOffsetOf(AppResources, tuner_mode_annot_color ), XtRString,
486         "Green"  },
487     { RNtunerModeAnnotDelay, RCannotDelay, XtRInt, sizeof(int),
488         XtOffsetOf(AppResources, tuner_mode_annot_delay ), XtRString,
489         "2000" },
490 
491     { RNinputDevAnnotFont, RCannotFont, XtRString, sizeof(String),
492         XtOffsetOf(AppResources, input_dev_annot_font ), XtRImmediate,
493         "-adobe-utopia-regular-r-*-*-0-0-*-*-*-0-iso8859-1"  },
494     { RNinputDevAnnotColor, RCannotColor, XtRPixel, sizeof(Pixel),
495         XtOffsetOf(AppResources, input_dev_annot_color ), XtRString,
496         "Green"  },
497     { RNinputDevAnnotDelay, RCannotDelay, XtRInt, sizeof(int),
498         XtOffsetOf(AppResources, input_dev_annot_delay ), XtRString,
499         "2000" },
500 
501     { RNvolumeAnnotFont, RCannotFont, XtRString, sizeof(String),
502         XtOffsetOf(AppResources, volume_annot_font ), XtRImmediate,
503         "-adobe-utopia-regular-r-*-*-0-0-*-*-*-0-iso8859-1"  },
504     { RNvolumeAnnotColor, RCannotColor, XtRPixel, sizeof(Pixel),
505         XtOffsetOf(AppResources, volume_annot_color ), XtRString,
506         "Green"  },
507     { RNvolumeAnnotDelay, RCannotDelay, XtRInt, sizeof(int),
508         XtOffsetOf(AppResources, volume_annot_delay ), XtRString,
509         "2000" },
510 
511     { RNmuteAnnotFont, RCannotFont, XtRString, sizeof(String),
512         XtOffsetOf(AppResources, mute_annot_font ), XtRImmediate,
513         "-adobe-utopia-regular-r-*-*-0-0-*-*-*-0-iso8859-1"  },
514     { RNmuteAnnotColor, RCannotColor, XtRPixel, sizeof(Pixel),
515         XtOffsetOf(AppResources, mute_annot_color ), XtRString,
516         "Red"  },
517     { RNmuteAnnotDelay, RCannotDelay, XtRInt, sizeof(int),
518         XtOffsetOf(AppResources, mute_annot_delay ), XtRString,
519         "-1" },
520 
521     { RNhelp, RChelp, XtRBoolean, sizeof(Boolean),
522         XtOffsetOf(AppResources, help), XtRImmediate,
523         (XtPointer) False },
524 
525 };
526 
527 
528 #define OPTION_HELP_STR \
529 "                      BSD X TV (fxtv), Version " VERS_STR ".\n" \
530 "                         Written by Randall Hopper\n" \
531 "\n" \
532 "Please mail Fxtv and Bt848 driver-related comments and help requests to the\n" \
533 "multimedia@freebsd.org list.  Feel free to subscribe and contribute\n" \
534 "(listserv: majordomo@freebsd.org).\n" \
535 "\n" \
536 "Available options:\n" \
537 "\n" \
538 "-driverDefaults             - Use appearance parms from driver on startup\n" \
539 "-colorbars                  - Turn on colorbar display (for testing)\n" \
540 "-hue [-90...90]             - Initial Hue           ; def=0\n" \
541 "-brightness [-50..50]       - Initial Brightness (%); def=0\n" \
542 "-contrast [0..200]          - Initial Contrast   (%); def=100\n" \
543 "-satU [0..200]              - U Saturation       (%); def=100\n" \
544 "-satV [0..284]              - V Saturation       (%); def=100\n" \
545 "-aspectlock                 - Enable 4:3 aspect lock on video window\n" \
546 "\n" \
547 "-deviceNumber <#>           - bktr/tuner device numbers; def=0\n" \
548 "-inputFormat <fmt>          - Tuner signal input format (ntsc,ntscm,ntscj,\n" \
549 "                                 palbdghi,pal,palm,paln,secam,palncomb,rsvd)\n" \
550 "\n" \
551 "-tunerMode [cable|antenna]  - Tuner Mode\n" \
552 "-defaultInput <input>       - Startup tuner signal input\n" \
553 "                                 [tuner|video|svideo|csvideo|dev3]\n" \
554 "-defaultAudioInput <input>  - Startup TV card audio input\n" \
555 "                                 [tuner|external|internal|auto]\n" \
556 "-defaultChannel <#>         - Startup Channel Number\n" \
557 "-cableStationList   <...>   - List of cable station presets (see rsrc file)\n" \
558 "-antennaStationList <...>   - List of antenna station presets\n" \
559 "-cableFreqSet   <freqset>   - Freq set for cable   (def = cableirc)\n" \
560 "                              [nabcst|cableirc|cablehrc|weurope|jpnbcst|\n" \
561 "                               jpncable|xussr|australia|france]\n" \
562 "-antennaFreqSet <freqset>   - Freq set for antenna (def = nabcst)\n" \
563 "\n" \
564 "-noAudio                    - Suppress playing audio through soundcard\n" \
565 "-dspDevice                  - Override default DSP device   (def=/dev/dsp)\n" \
566 "-mixerDevice                - Override default mixer device (def=/dev/mixer)\n" \
567 "-mixerChannel               - Audio mixer (line,line1/2/3,cd,mic,video)\n" \
568 "\n" \
569 "-stationInWinTitle          - Display station text in window title\n" \
570 "-stationInWinIcon           - Display station text in window icon\n" \
571 "\n" \
572 "-stationAnnotFont <fontpat> - Font pattern for station annot (see rsrc file)\n" \
573 "-stationAnnotColor <color>  - Color for station annot\n" \
574 "-stationAnnotDelay <msec>   - How long to display (0 = never; -1 = always)\n" \
575 "-stationAnnotIDOnly         - Display station ID alone (when available)\n" \
576 "\n" \
577 "-tunerModeAnnot{Font,Color,Delay}\n" \
578 "-inputDevAnnot{Font,Color,Delay}\n" \
579 "-volumeDevAnnot{Font,Color,Delay}\n" \
580 "-muteDevAnnot{Font,Color,Delay}\n" \
581 "                            - Other annotation options (see stationAnnot)\n" \
582 "\n" \
583 "-remoteType                 - Type of attached remote control\n" \
584 "                              [None|X10|Hauppauge|PixelView]\n" \
585 "\n" \
586 "-recCmdMpeg2                - MPEG-2 Audio record command\n" \
587 "-recCmdMpeg3                - MPEG-3 Audio record command\n" \
588 "-playCmdMpeg2               - MPEG-2 Audio play   command\n" \
589 "-playCmdMpeg3               - MPEG-3 Audio play   command\n" \
590 "\n" \
591 "-videoCnvtScript            - Video conversion workhorse script for vid encod.\n" \
592 "\n" \
593 "-bswap2Bpp                  - Byte/word swap options for direct video\n" \
594 "-nobswap2Bpp                  (used to match driver's pixel format with\n" \
595 "-bswap3Bpp                    the video card's)\n" \
596 "-nobswap3Bpp\n" \
597 "-bswap4Bpp                        2Bpp - 15/16-bpp modes\n" \
598 "-nobswap4Bpp                      3Bpp - packed 24bpp modes\n" \
599 "-bwwap4Bpp                        4Bpp - unpacked 24bpp modes\n" \
600 "-nowswap4Bpp\n" \
601 "\n" \
602 "-Bpp24bit [3|4]             - Set frame buffer Bytes-per-pixel for 24bpp mode\n" \
603 "-Bpp32bit [3|4]             - Set frame buffer Bytes-per-pixel for 32bpp mode\n" \
604 "\n" \
605 "-videoCapFile[1-4]          - Optional paths (0-4) to scratch file paths to\n" \
606 "                              use for video capture; spreads load across disks\n" \
607 "\n" \
608 "-noafc                      - Disable AFC\n" \
609 "-disableDirectV             - Disable DMA transfers straight to video card\n" \
610 "-debug <area>               - Debug Msgs\n" \
611 "                              {startup,driver,subproc,events,video,frame}\n" \
612 "-help                       - Display program options\n" \
613 "\n" \
614 "NOTE:  All command line options are accessible as X resources as well.\n" \
615 "       The X resources have the same names as the command-line options.\n" \
616 "       See the sample Fxtv class resource file for details.\n"
617 
618 static String fallback_resources[] = {
619  /*"Fxtv.geometry: +10+10",*/
620    "Fxtv.title:    BSD TV " VERS_STR,
621    "Fxtv.iconName: FXTV",
622 
623     /* Menubar appearance */
624    "*allowResize: True",
625    "*allowShellResize: True",
626    "*menuBox*background:                      SteelBlue3",
627    "*menuBox*foreground:                      Black",
628    "*menuBox*MenuButton.borderWidth:          1",
629    "*menuBox.vSpace:                          0",
630    "*menuBox*SimpleMenu*Cursor:	              hand2",
631    "*menuBox*SimpleMenu*borderWidth:          1",
632    "*menuBox*SimpleMenu*borderColor:	      #c0c0c0",
633    "*menuBox*SimpleMenu*vertSpace:            10",
634    "*menuBox*SimpleMenu*menuLabel.foreground: Gold",
635    "*menuBox*SimpleMenu*menuLabel.vertSpace:  100",
636    "*menuBox*SimpleMenu*SmeBSB.height:        50",
637    "*menuBox*SimpleMenu*SmeLine.foreground:   Black",
638    "*menuBox*SimpleMenuCommand.foreground:    Black",
639    "*menuBox*SimpleMenu*HorizontalMargins:    20",
640    "*menuBox*font:                            *lucida*bold-r-*12*iso8859-1",
641 
642    /*  Menubar strings & accelerators  */
643    "*menuBox*fileMenu.label:                  File",
644    "*menuBox*fileMenu.menu.label:             File",
645    "*menuBox*fileMenu*imgSavCmd.label:        Save Image",
646    "*menuBox*fileMenu*imgSavAsCmd.label:      Save Image As...",
647    "*menuBox*fileMenu*audSavAsCmd.label:      Save Audio As...",
648    "*menuBox*fileMenu*vidSavAsCmd.label:      Save Video As...",
649    "*menuBox*fileMenu*printCmd.label:         Print",
650    "*menuBox*fileMenu*printSetupCmd.label:    Print Setup...",
651    "*menuBox*fileMenu*quitCmd.label:          Quit",
652    "*menuBox*fileMenu*quitCmd.accelerators:   <Key>q: notify()",
653 
654    "*menuBox*inputMenu.label:                 Input",
655    "*menuBox*inputMenu.menu.label:            Input",
656    "*menuBox*inputMenu*tunerCmd.label:        Tuner",
657    "*menuBox*inputMenu*videoCmd.label:        Video",
658    "*menuBox*inputMenu*svideoCmd.label:       S-Video",
659    "*menuBox*inputMenu*csvideoCmd.label:      CS-Video",
660    "*menuBox*inputMenu*dev3.label:            Device 3",
661    "*menuBox*inputMenu*tmodeAntenna.label:    Antenna",
662    "*menuBox*inputMenu*audInpAuto.label:      Audio Auto",
663    "*menuBox*inputMenu*audInpIntern.label:    Audio Internal",
664    "*menuBox*inputMenu*appearanceCmd.label:   Appearance...",
665 
666    "*menuBox*formatMenu.label:                Format",
667    "*menuBox*formatMenu.menu.label:           Format",
668    "*menuBox*formatMenu*ntscmFmt.label:       NTSC/M",
669    "*menuBox*formatMenu*ntscjFmt.label:       NTSC/J",
670    "*menuBox*formatMenu*palbdghiFmt.label:    PAL/BDGHI",
671    "*menuBox*formatMenu*palmFmt.label:        PAL/M",
672    "*menuBox*formatMenu*palnFmt.label:        PAL/N",
673    "*menuBox*formatMenu*secamFmt.label:       SECAM",
674    "*menuBox*formatMenu*palncombFmt.label:    PAL/N Comb",
675 
676    "*menuBox*optionsMenu.label:               Options",
677    "*menuBox*optionsMenu.menu.label:          Options",
678    "*menuBox*optionsMenu*aspectLockCmd.label: Aspect Lock",
679    "*menuBox*optionsMenu*fieldSkipCmd.label:  Field Skip",
680    "*menuBox*optionsMenu*captureToCmd.label:  Capture To...",
681    "*menuBox*optionsMenu*saveOptionsCmd.label:Save Options",
682    "*menuBox*optionsMenu*setAfcCmd.label:     AFC",
683 
684    "*menuBox*helpMenu.label:                  Help",
685    "*menuBox*helpMenu.menu.label:             Help",
686    "*menuBox*helpMenu*aboutCmd.label:         About",
687 
688    /*  Toolbar appearance */
689    "*toolBox*background:                      Gray71",
690    "*toolBox*channelText*background:          Gray60",
691    "*toolBox*channelText*foreground:          Black",
692    "*toolBox*foreground:                      Gray71",
693    "*toolBox*font:                            *lucida*bold-r-*12*iso8859-1",
694 
695    /*  Toolbar pixmaps & accelerators  */
696    "*toolBox*freezeToggle.pixmap:             mini-camera.xpm",
697    "*toolBox*saveCmd.pixmap:                  mini-ofolder.xpm",
698    "*toolBox*fullScreenCmd.pixmap:            mini-resize.xpm",
699    "*toolBox*channelDnCmd.pixmap:             mini-down.xbm",
700    "*toolBox*channelUpCmd.pixmap:             mini-up.xbm",
701    "*toolBox*channelText.width:               50",
702    "*toolBox*channelText.height:              22",
703    "*toolBox*spacer.width:                    10",
704    "*toolBox*spacer.height:                   2",
705    "*toolBox*spacer.borderWidth:              0",
706    "*toolBox*muteToggle.pixmap:               mini-sound.xbm",
707    "*toolBox*muteToggle.state:                True",  /*  FIXME  */
708    "*toolBox*volumeForm.vertDistance:         0",
709    "*toolBox*volumeForm.horizDistance:        0",
710    "*toolBox*volumeScrollbar.width:           75",
711    "*toolBox*volumeScrollbar.height:          15",
712    "*toolBox*SimpleMenu*Cursor:               hand2",
713    "*toolBox*SimpleMenu*HorizontalMargins:    20",
714 
715    /*  Video window appearance */
716    "*videoWin*background:                     Black",
717 
718    "*videoWin.baseTranslations: #override         "
719    "<Btn1Down>       : TVToggleZoom( fullscreen ) \\n"
720    "<Btn3Down>       : TVToggleZoom( window )     \\n"
721    "<Key>z           : TVToggleZoom( fullscreen ) \\n"
722    "<Key>Return      : TVToggleZoom( fullscreen ) \\n"
723    "<Key>KP_Enter    : TVToggleZoom( fullscreen ) \\n"
724    "<Key>F9          : TVSetStation( -f )         \\n"
725    "<Key>F10         : TVSetStation( +f )         \\n"
726    "<Key>+           : TVSetStation( +1 )         \\n"
727    "<Key>-           : TVSetStation( -1 )         \\n"
728    "<Key>KP_Add      : TVSetStation( +1 )         \\n"
729    "<Key>KP_Subtract : TVSetStation( -1 )         \\n"
730    "<Key>KP_Right    : TVSetVolume( +1 )          \\n"
731    "<Key>KP_Left     : TVSetVolume( -1 )          \\n"
732    "<Key>KP_Insert   : TVToggleMute()             \\n"
733    "<Key>KP_Divide   : TVSetCaptureInput( +1 )    \\n"
734    "<Key>KP_Multiply : TVSetTunerMode( +1 )       \\n"
735    "<Key>F2          : TVSaveImage()",
736 
737    /*  "Input Appearance Params" dialog appearance */
738    "*inputAppearDialog*background:                 Gray71",
739    "*inputAppearDialog*Scrollbar.width:            300",
740    "*inputAppearDialog*Scrollbar.height:           15",
741    "*inputAppearDialog*borderWidth:                0",
742    "*inputAppearDialog*Scrollbar.background:       Gray60",
743    "*inputAppearDialog*groupBox.borderWidth:       1",
744    "*inputAppearDialog*headerBox.vSpace:           0",
745    "*inputAppearDialog*scrollBox.vSpace:           0",
746    "*inputAppearDialog*Text*background:            Gray60",
747    "*inputAppearDialog*Text*foreground:            Black",
748    "*inputAppearDialog*Text.borderWidth:           1",
749    "*inputAppearDialog*Text.width:                 40",
750    "*inputAppearDialog*okCmd.width:                100",
751    "*inputAppearDialog*okCmd.horizDistance:        160",
752 
753    /*  "Input Appearance Params" dialog strings */
754    "*inputAppearDialog.title:                      FXTV Appearance",
755    "*inputAppearDialog.iconName:                   FXTV Appearance",
756    "*inputAppearDialog*okCmd.label:                OK",
757    "*inputAppearDialog*hueTitleLabel.label:        Hue:",
758    "*inputAppearDialog*brightTitleLabel.label:     Brightness:",
759    "*inputAppearDialog*contrTitleLabel.label:      Contrast:",
760    "*inputAppearDialog*satUTitleLabel.label:       Chroma U:",
761    "*inputAppearDialog*satVTitleLabel.label:       Chroma V:",
762    "*inputAppearDialog*scrollBox*Label.label:      -200%",
763 
764    /*  "Image Save Params" dialog appearance */
765    "*imageSaveDialog*background:                   Gray71",
766    "*imageSaveDialog*borderWidth:                  0",
767    "*imageSaveDialog*groupBox.borderWidth:         1",
768    "*imageSaveDialog*headerBox.vSpace:             0",
769    "*imageSaveDialog*Text*background:              Gray60",
770    "*imageSaveDialog*Text*foreground:              Black",
771    "*imageSaveDialog*Text.borderWidth:             1",
772    "*imageSaveDialog*Text.width:                   300",
773    "*imageSaveDialog*Toggle.width:                 16",
774    "*imageSaveDialog*Toggle.height:                16",
775    "*imageSaveDialog*Toggle.horizDistance:         40",
776    "*imageSaveDialog*formatButton*width:           150",
777    "*imageSaveDialog*formatMenu*width:             150",
778    "*imageSaveDialog*formatMenu*borderWidth:       1",
779    "*imageSaveDialog*formatMenuBox.borderWidth:    0",
780    "*imageSaveDialog*formatMenuBox.vSpace:         0",
781    "*imageSaveDialog*okCmd.width:                  100",
782    "*imageSaveDialog*okCmd.horizDistance:          90",
783 
784    /*  "Image Save Params" dialog strings */
785    "*imageSaveDialog.title:                        FXTV Save Image As",
786    "*imageSaveDialog.iconName:                     FXTV Save Image As",
787    "*imageSaveDialog*fileBaseLabel.label:          Filename Base:",
788    "*imageSaveDialog*suffixLabel.label:            Append Img # Suffix",
789    "*imageSaveDialog*formatLabel.label:            Format:",
790    "*imageSaveDialog*formatMenuBox*tiffCmd.label:  TIFF",
791    "*imageSaveDialog*formatMenuBox*ppmCmd.label:   PPM",
792    "*imageSaveDialog*okCmd.label:                  OK",
793 
794    /*  "Audio Save Control" dialog appearance */
795    "*audioSaveDialog*background:                   Gray71",
796    "*audioSaveDialog*borderWidth:                  0",
797    "*audioSaveDialog*groupBox.borderWidth:         1",
798    "*audioSaveDialog*headerBox.vSpace:             0",
799    "*audioSaveDialog*fileBox*Label.width:          90",
800    "*audioSaveDialog*Text*background:              Gray60",
801    "*audioSaveDialog*Text*foreground:              Black",
802    "*audioSaveDialog*Text.borderWidth:             1",
803    "*audioSaveDialog*Text.width:                   150",
804    "*audioSaveDialog*MenuButton*borderWidth:       1",
805    "*audioSaveDialog*sampFmtMenu.width:            250",
806    "*audioSaveDialog*sampFmtMenu*SimpleMenu.width: 250",
807    "*audioSaveDialog*chanMenu.width:               100",
808    "*audioSaveDialog*chanMenu*SimpleMenu.width:    100",
809    "*audioSaveDialog*rateMenu.width:               125",
810    "*audioSaveDialog*rateMenu*SimpleMenu.width:    125",
811    "*audioSaveDialog*actionForm*Command.width:     83",
812 
813    /*  "Audio Save Control" dialog strings */
814    "*audioSaveDialog.title:                       FXTV Save Audio Control",
815    "*audioSaveDialog.iconName:                    FXTV Save Audio Control",
816    "*audioSaveDialog*fileBaseLabel.label:         Filename:",
817    "*audioSaveDialog*fileFmtLabel.label:          File Format:",
818    "*audioSaveDialog*fileFmtMenu*raw.label:       Raw",
819    "*audioSaveDialog*fileFmtMenu*au.label:        AU",
820    "*audioSaveDialog*fileFmtMenu*wav.label:       WAV",
821    "*audioSaveDialog*fileFmtMenu*voc.label:       VOC",
822    "*audioSaveDialog*fileFmtMenu*aiff.label:      AIFF",
823    "*audioSaveDialog*fileFmtMenu*mp2.label:       MPEG-2",
824    "*audioSaveDialog*fileFmtMenu*mp3.label:       MPEG-3",
825    "*audioSaveDialog*sampFmtLabel.label:          Capture:",
826    "*audioSaveDialog*sampFmtMenu*mulawU8.label:   8-bit  Mu-law",
827    "*audioSaveDialog*sampFmtMenu*linS8.label:     8-bit  Signed",
828    "*audioSaveDialog*sampFmtMenu*linU8.label:     8-bit  Unsigned",
829    "*audioSaveDialog*sampFmtMenu*linS16LE.label:  16-bit Signed   (LSB)",
830    "*audioSaveDialog*sampFmtMenu*linU16LE.label:  16-bit Unsigned (LSB)",
831    "*audioSaveDialog*sampFmtMenu*linS16BE.label:  16-bit Unsigned (MSB)",
832    "*audioSaveDialog*sampFmtMenu*linU16BE.label:  16-bit Signed   (MSB)",
833    "*audioSaveDialog*chanMenu*mono.label:         Mono",
834    "*audioSaveDialog*chanMenu*stereo.label:       Stereo",
835    "*audioSaveDialog*rateMenu*r8012.label:        8,012  samp/s",
836    "*audioSaveDialog*rateMenu*r11025.label:       11,025 samp/s",
837    "*audioSaveDialog*rateMenu*r22050.label:       22,050 samp/s",
838    "*audioSaveDialog*rateMenu*r44100.label:       44,100 samp/s",
839    "*audioSaveDialog*recordCmd.label:             Record",
840    "*audioSaveDialog*stopCmd.label:               Stop",
841    "*audioSaveDialog*playbackCmd.label:           Playback",
842    "*audioSaveDialog*dismissCmd.label:            Dismiss",
843 
844    /*  "Video Save Control" dialog appearance */
845    "*videoSaveDialog*background:                   Gray71",
846    "*videoSaveDialog*borderWidth:                  0",
847    "*videoSaveDialog*groupBox.borderWidth:         1",
848    "*videoSaveDialog*headerBox.vSpace:             0",
849    "*videoSaveDialog*Command.width:                83",
850    "*videoSaveDialog*Text*background:              Gray60",
851    "*videoSaveDialog*Text*foreground:              Black",
852    "*videoSaveDialog*Text.borderWidth:             1",
853    "*videoSaveDialog*Text.width:                   150",
854    "*videoSaveDialog*fpsText.width:                40",
855    "*videoSaveDialog*MenuButton*borderWidth:       1",
856    "*videoSaveDialog*Toggle.width:                 16",
857    "*videoSaveDialog*Toggle.height:                16",
858    "*videoSaveDialog*actionForm*Command.width:     83",
859    "*videoSaveDialog*sampFmtMenu.width:            250",
860    "*videoSaveDialog*sampFmtMenu*SimpleMenu.width: 250",
861    "*videoSaveDialog*chanMenu.width:               100",
862    "*videoSaveDialog*chanMenu*SimpleMenu.width:    100",
863    "*videoSaveDialog*rateMenu.width:               125",
864    "*videoSaveDialog*rateMenu*SimpleMenu.width:    125",
865    "*videoSaveDialog*iFileFmtMenu*width:           150",
866    "*videoSaveDialog*iFileFmtMenu*borderWidth:     1",
867    "*videoSaveDialog*iFileFmtMenuBox.borderWidth:  0",
868    "*videoSaveDialog*iFileFmtMenuBox*vSpace:       0",
869    "*videoSaveDialog*fileFmtMenu*width:            150",
870    "*videoSaveDialog*iCapFmtMenu*width:            150",
871    "*videoSaveDialog*iCapFmtMenu*borderWidth:      1",
872    "*videoSaveDialog*iCapFmtMenuBox.borderWidth:   0",
873    "*videoSaveDialog*iCapFmtMenuBox*vSpace:        0",
874    "*videoSaveDialog*iCapFmtMenuBox*hSpace:        0",
875 
876    /*  "Video Save Control" dialog strings */
877    "*videoSaveDialog.title:                         FXTV Save Video Control",
878    "*videoSaveDialog.iconName:                      FXTV Save Video Control",
879    "*videoSaveDialog*audCapToggleLabel.label:       Enable",
880    "*videoSaveDialog*imageCapLabel.label:           IMAGE CAPTURE",
881    "*videoSaveDialog*fileBaseLabel.label:           Filename Base:",
882    "*videoSaveDialog*resLabel.label:                Size:",
883    "*videoSaveDialog*fpsLabel.label:                Speed (fps):",
884    "*videoSaveDialog*optimizeCmd.label:             Optimize",
885    "*videoSaveDialog*iCapFmtLabel.label:            Format:",
886    "*videoSaveDialog*iCapFmtMenuBox*rgb16Cmd.label: RGB   (16bpp 565)",
887    "*videoSaveDialog*iCapFmtMenuBox*iyuvCmd.label:  IYUV  (Pl,122:122)",
888    "*videoSaveDialog*iCapFmtMenuBox*yuy2Cmd.label:  YUY2  (Pk,122:111)",
889    "*videoSaveDialog*iCapFmtMenuBox*yuy2lCmd.label: YUY2l (Pl,122:111)",
890 
891    "*videoSaveDialog*targetLabel.label:             Target:",
892    "*videoSaveDialog*fileFmtLabel.label:            Format:",
893    "*videoSaveDialog*cleanupLabel.label:            Cleanup Temp Files",
894    "*videoSaveDialog*fillFpsLabel.label:            MPEG Prep",
895 
896    "*videoSaveDialog*targetMenu*raw.label:          Raw",
897    "*videoSaveDialog*targetMenu*images.label:       Images",
898    "*videoSaveDialog*targetMenu*mpegready.label:    MPEG Ready",
899    "*videoSaveDialog*targetMenu*mpeg.label:         MPEG",
900 
901    "*videoSaveDialog*imageEncLabel.label:           IMAGE ENCODE",
902    "*videoSaveDialog*iFileFmtLabel.label:           Format:",
903    "*videoSaveDialog*iFileFmtMenuBox*tiffCmd.label: TIFF",
904    "*videoSaveDialog*iFileFmtMenuBox*ppmCmd.label:  PPM",
905    "*videoSaveDialog*iFileFmtMenuBox*yuvCmd.label:  YUV",
906 
907    "*videoSaveDialog*audioCapLabel.label:           AUDIO CAPTURE",
908    "*videoSaveDialog*fileFmtLabel.label:            Format:",
909    "*videoSaveDialog*fileFmtMenu*raw.label:         Raw",
910    "*videoSaveDialog*fileFmtMenu*au.label:          AU",
911    "*videoSaveDialog*fileFmtMenu*wav.label:         WAV",
912    "*videoSaveDialog*fileFmtMenu*voc.label:         VOC",
913    "*videoSaveDialog*fileFmtMenu*aiff.label:        AIFF",
914    "*videoSaveDialog*fileFmtMenu*mp2.label:         MPEG-2",
915    "*videoSaveDialog*fileFmtMenu*mp3.label:         MPEG-3",
916    "*videoSaveDialog*sampFmtLabel.label:            Format:",
917    "*videoSaveDialog*sampFmtMenu*mulawU8.label:     8-bit  Mu-law",
918    "*videoSaveDialog*sampFmtMenu*linS8.label:       8-bit  Signed",
919    "*videoSaveDialog*sampFmtMenu*linU8.label:       8-bit  Unsigned",
920    "*videoSaveDialog*sampFmtMenu*linS16LE.label:    16-bit Signed   (LSB)",
921    "*videoSaveDialog*sampFmtMenu*linU16LE.label:    16-bit Unsigned (LSB)",
922    "*videoSaveDialog*sampFmtMenu*linS16BE.label:    16-bit Unsigned (MSB)",
923    "*videoSaveDialog*sampFmtMenu*linU16BE.label:    16-bit Signed   (MSB)",
924    "*videoSaveDialog*chanMenu*mono.label:           Mono",
925    "*videoSaveDialog*chanMenu*stereo.label:         Stereo",
926    "*videoSaveDialog*rateMenu*r8012.label:          8,012  samp/s",
927    "*videoSaveDialog*rateMenu*r11025.label:         11,025 samp/s",
928    "*videoSaveDialog*rateMenu*r22050.label:         22,050 samp/s",
929    "*videoSaveDialog*rateMenu*r44100.label:         44,100 samp/s",
930 
931    "*videoSaveDialog*audioEncLabel.label:           AUDIO ENCODE",
932 
933    "*videoSaveDialog*recordCmd.label:               Record",
934    "*videoSaveDialog*stopCmd.label:                 Stop",
935    "*videoSaveDialog*dismissCmd.label:              Dismiss",
936 
937 
938    /*  "Simple Prompt Dialog" appearance */
939    "*simplePromptShell*background:                   Gray71",
940    "*simplePromptShell*borderWidth:                  0",
941    "*simplePromptShell*Command.width:                100",
942 
943    /*  "Simple Prompt Dialog" dialog strings */
944    "*simplePromptShell*yes.label:                    Yes",
945    "*simplePromptShell*no.label:                     No",
946    "*simplePromptShell*ok.label:                     Ok",
947    "*simplePromptShell*cancel.label:                 Cancel",
948 
949    NULL
950 };
951 
952 #endif  /*  ifdef DEFINE_APP_RESOURCES  */
953 
954 #endif
955