"                   (default is 11)",
static inline int parse_opt_h(const char *arg){	static char *help_list[] = {"TiMidity++ version %s (C) 1999-2003 Masanao Izumo <mo@goice.co.jp>","The original version (C) 1995 Tuukka Toivonen <tt@cgs.fi>","TiMidity is free software and comes with ABSOLUTELY NO WARRANTY.","",#ifdef __W32__"Win32 version by Davide Moretti <dave@rimini.com>","              and Daisuke Aoki <dai@y7.net>","",#endif /* __W32__ */"Usage:","  %s [options] filename [...]","",#ifndef __W32__		/*does not work in Windows */"  Use \"-\" as filename to read a MIDI file from stdin","",#endif"Options:","  -A n,m     --volume=n, --drum-power=m","               Amplify volume by n percent (may cause clipping),","                 and amplify drum power by m percent","     (a)     --[no-]volume-compensation","               Toggle amplify compensation (disabled by default)","  -a         --[no-]anti-alias","               Enable the anti-aliasing filter","  -B n,m     --buffer-fragments=n,m","               Set number of buffer fragments(n), and buffer size(2^m)","  -C n       --control-ratio=n","               Set ratio of sampling and control frequencies","  -c file    --config-file=file","               Read extra configuration file","  -D n       --drum-channel=n","               Play drums on channel n",#ifdef IA_DYNAMIC"  -d path    --interface-path=path","               Set dynamic interface module directory",#endif /* IA_DYNAMIC */"  -E mode    --ext=mode","               TiMidity sequencer extensional modes:","                 mode = w/W : Enable/Disable Modulation wheel","                        p/P : Enable/Disable Portamento","                        v/V : Enable/Disable NRPN Vibrato","                        s/S : Enable/Disable Channel pressure","                        l/L : Enable/Disable voice-by-voice LPF","                        e/E : Enable/Disable Modulation Envelope","                        t/T : Enable/Disable Trace Text Meta Event at playing","                        o/O : Enable/Disable Overlapped voice","                        z/Z : Enable/Disable Temperament control","                        m<HH>: Define default Manufacture ID <HH> in two hex","                        M<HH>: Define system Manufacture ID <HH> in two hex","                        b<n>: Use tone bank <n> as the default","                        B<n>: Always use tone bank <n>","                        i<n/m>: Use program <n> on channel <m> as the default","                        I<n/m>: Always use program <n> on channel <m>","                        F<args>: For effect.  See below for effect options","                   default: -E "#ifdef MODULATION_WHEEL_ALLOW"w"#else"W"#endif /* MODULATION_WHEEL_ALLOW */#ifdef PORTAMENTO_ALLOW"p"#else"P"#endif /* PORTAMENTO_ALLOW */#ifdef NRPN_VIBRATO_ALLOW"v"#else"V"#endif /* NRPN_VIBRATO_ALLOW */#ifdef GM_CHANNEL_PRESSURE_ALLOW"s"#else"S"#endif /* GM_CHANNEL_PRESSURE_ALLOW */#ifdef VOICE_BY_VOICE_LPF_ALLOW"l"#else"L"#endif /* VOICE_BY_VOICE_LPF_ALLOW */#ifdef MODULATION_ENVELOPE_ALLOW"e"#else"E"#endif /* MODULATION_ENVELOPE_ALLOW */#ifdef ALWAYS_TRACE_TEXT_META_EVENT"t"#else"T"#endif /* ALWAYS_TRACE_TEXT_META_EVENT */#ifdef OVERLAP_VOICE_ALLOW"o"#else"O"#endif /* OVERLAP_VOICE_ALLOW */#ifdef TEMPER_CONTROL_ALLOW"z"#else"Z"#endif /* TEMPER_CONTROL_ALLOW */,#ifdef __W32__"  -e         --evil","               Increase thread priority (evil) - be careful!",#endif"  -F         --[no-]fast-panning","               Disable/Enable fast panning (toggle on/off, default is on)","  -f         --[no-]fast-decay","               "#ifdef FAST_DECAY"Disable "#else"Enable "#endif"fast decay mode (toggle)",#ifdef SUPPORT_SOUNDSPEC"  -g sec     --spectrogram=sec","               Open Sound-Spectrogram Window",#endif /* SUPPORT_SOUNDSPEC */"  -H n       --force-keysig=n","               Force keysig number of sHarp(+)/flat(-) (-7..7)","  -h         --help","               Display this help message","  -i mode    --interface=mode","               Select user interface (see below for list)",#ifdef IA_ALSASEQ"             --realtime-priority=n (for alsaseq only)","               Set the realtime priority (0-100)","             --sequencer-ports=n (for alsaseq only)","               Set the number of opened sequencer ports (default is 4)",#endif"  -j         --[no-]realtime-load","               Realtime load instrument (toggle on/off)","  -K n       --adjust-key=n","               Adjust key by n half tone (-24..24)","  -k msec    --voice-queue=msec","               Specify audio queue time limit to reduce voice","  -L path    --patch-path=path","               Append dir to search path","  -M name    --pcm-file=name","               Specify PCM filename (*.wav or *.aiff) to be played or:","                 \"auto\" : Play *.mid.wav or *.mid.aiff","                 \"none\" : Disable this feature (default)","  -m msec    --decay-time=msec","               Minimum time for a full volume sustained note to decay,","                 0 disables","  -N n       --interpolation=n","               Set the interpolation parameter (depends on -EFresamp option)","                 cspline, lagrange:","                   Toggle 4-point interpolation (default is on)","                 newton:","                   n'th order Newton polynomial interpolation, n=1-57 odd","                   (default is 11)","                 gauss:","                   n+1 point Gauss-like interpolation, n=1-34 (default is 25)","                 Linear interpolation is used if audio queue < 99%%","  -O mode    --output-mode=mode","               Select output mode and format (see below for list)","  -o file    --output-file=file","               Output to another file (or device/server) (Use \"-\" for stdout)","  -P file    --patch-file=file","               Use patch file for all programs","  -p n       --polyphony=n","               Allow n-voice polyphony.  Optional auto polyphony reduction","     (a)     --[no-]auto-poly-reduction","               Toggle automatic polyphony reduction.  Enabled by default","  -Q n[,...] --mute=n","               Ignore channel n (0: ignore all, -n: resume channel n)","     (t)     --temper-mute=n","               Quiet temperament type n (0..3: preset, 4..7: user-defined)","  -q sec/n   --audio-buffer=sec/n","               Specify audio buffer in seconds","                 sec: Maxmum buffer, n: Filled to start (default is 5.0/100%%)","                 (size of 100%% equals device buffer size)","  -R n         Pseudo reveb effect (set every instrument's release to n ms)","                 if n=0, n is set to 800","  -S n       --cache-size=n","               Cache size (0 means no cache)","  -s freq    --sampling-freq=freq","               Set sampling frequency to freq (Hz or kHz)","  -T n       --adjust-tempo=n","               Adjust tempo to n%%,","                 120=play MOD files with an NTSC Amiga's timing","  -t code    --output-charset=code","               Output text language code:","                 code=auto  : Auto conversion by `LANG' environment variable","                              (UNIX only)","                      ascii : Convert unreadable characters to '.' (0x2e)","                      nocnv : No conversion","                      1251  : Convert from windows-1251 to koi8-r",#ifdef JAPANESE"                      euc   : EUC-japan","                      jis   : JIS","                      sjis  : shift JIS",#endif /* JAPANESE */"  -U         --[no-]unload-instruments","               Unload instruments from memory between MIDI files","  -v         --version","               Display TiMidity version information","  -W mode    --wrd=mode","               Select WRD interface (see below for list)",#ifdef __W32__"  -w mode    --rcpcv-dll=mode","               Windows extensional modes:","                 mode=r/R : Enable/Disable rcpcv.dll",#endif /* __W32__ */"  -x str     --config-string=str","               Read configuration str from command line argument","  -Z file    --freq-table=file","               Load frequency table (Use \"pure\" for pure intonation)","  pure<n>(m) --pure-intonation=n(m)","               Initial keysig number <n> of sharp(+)/flat(-) (-7..7)","                 'm' stands for minor mode",		NULL	};	static char *help_args[3];	FILE *fp;	int i, j;	char *h;	ControlMode *cmp, **cmpp;	char mark[128];	PlayMode *pmp, **pmpp;	WRDTracer *wlp, **wlpp;		fp = open_pager();	help_args[0] = timidity_version;	help_args[1] = program_name;	help_args[2] = NULL;	for (i = 0, j = 0; h = help_list[i]; i++) {		if (strchr(h, '%')) {			if (*(strchr(h, '%') + 1) != '%')				fprintf(fp, h, help_args[j++]);			else				fprintf(fp, h);		} else			fputs(h, fp);		fputs(NLS, fp);	}	fputs(NLS, fp);	fputs("Effect options (-EF, --ext=F option):" NLS"  -EFdelay=d   Disable delay effect (default)" NLS"  -EFdelay=l   Enable Left delay" NLS"    [,msec]      `msec' is optional to specify left-right delay time" NLS"  -EFdelay=r   Enable Right delay" NLS"    [,msec]      `msec' is optional to specify left-right delay time" NLS"  -EFdelay=b   Enable rotate Both left and right" NLS"    [,msec]      `msec' is optional to specify left-right delay time" NLS"  -EFchorus=d  Disable MIDI chorus effect control" NLS"  -EFchorus=n  Enable Normal MIDI chorus effect control" NLS"    [,level]     `level' is optional to specify chorus level [0..127]" NLS"                 (default)" NLS"  -EFchorus=s  Surround sound, chorus detuned to a lesser degree" NLS"    [,level]     `level' is optional to specify chorus level [0..127]" NLS"  -EFreverb=d  Disable MIDI reverb effect control" NLS"  -EFreverb=n  Enable Normal MIDI reverb effect control" NLS"    [,level]     `level' is optional to specify reverb level [0..127]" NLS"                 This effect is only available in stereo" NLS"  -EFreverb=g  Global reverb effect" NLS"  -EFreverb=f  Enable Freeverb MIDI reverb effect control" NLS"                 This effect is only available in stereo (default)" NLS"  -EFns=n      Enable the n th degree noise shaping filter" NLS"                 n:[0..4] (for 8-bit linear encoding, default is 4)" NLS"                 n:[0..2] (for 16-bit linear encoding, default is 2)" NLS, fp);#ifndef FIXED_RESAMPLATION	fputs("  -EFresamp=d  Disable resamplation" NLS"  -EFresamp=l  Enable Linear resample algorithm" NLS"  -EFresamp=c  Enable C-spline resample algorithm" NLS"  -EFresamp=L  Enable Lagrange resample algorithm" NLS"  -EFresamp=n  Enable Newton resample algorithm" NLS"  -EFresamp=g  Enable Gauss-like resample algorithm (default)" NLS"                 -EFresamp affects the behavior of -N option" NLS, fp);#endif	fputs(NLS, fp);	fputs("Alternative TiMidity sequencer extensional mode long options:" NLS"  --[no-]mod-wheel" NLS"  --[no-]portamento" NLS"  --[no-]vibrato" NLS"  --[no-]ch-pressure" NLS"  --[no-]voice-lpf" NLS"  --[no-]mod-envelope" NLS"  --[no-]trace-text-meta" NLS"  --[no-]overlap-voice" NLS"  --[no-]temper-control" NLS"  --default-mid=<HH>" NLS"  --system-mid=<HH>" NLS"  --default-bank=n" NLS"  --force-bank=n" NLS"  --default-program=n/m" NLS"  --force-program=n/m" NLS"  --delay=(d|l|r|b)[,msec]" NLS"  --chorus=(d|n|s)[,level]" NLS"  --reverb=(d|n|g|f)[,level]" NLS"  --noise-shaping=n" NLS, fp);#ifndef FIXED_RESAMPLATION	fputs("  --resample=(d|l|c|L|n|g)" NLS, fp);#endif	fputs(NLS, fp);	fputs("Available interfaces (-i, --interface option):" NLS, fp);	for (cmpp = ctl_list; cmp = *cmpp; cmpp++)#ifdef IA_DYNAMIC		if (cmp->id_character != dynamic_interface_id)			fprintf(fp, "  -i%c          %s" NLS,					cmp->id_character, cmp->id_name);#else		fprintf(fp, "  -i%c          %s" NLS,				cmp->id_character, cmp->id_name);#endif	/* IA_DYNAMIC */#ifdef IA_DYNAMIC	fprintf(fp, "Supported dynamic load interfaces (%s):" NLS,			dynamic_lib_root);	memset(mark, 0, sizeof(mark));	for (cmpp = ctl_list; cmp = *cmpp; cmpp++)		mark[(int) cmp->id_character] = 1;	if (dynamic_interface_id != 0)		mark[(int) dynamic_interface_id] = 0;	list_dyna_interface(fp, dynamic_lib_root, mark);#endif	/* IA_DYNAMIC */	fputs(NLS, fp);	fputs("Interface options (append to -i? option):" NLS"  `v'          more verbose (cumulative)" NLS"  `q'          quieter (cumulative)" NLS"  `t'          trace playing" NLS"  `l'          loop playing (some interface ignore this option)" NLS"  `r'          randomize file list arguments before playing" NLS"  `s'          sorting file list arguments before playing" NLS, fp);#ifdef IA_ALSASEQ	fputs("  `D'          daemonize TiMidity++ in background "			"(for alsaseq only)" NLS, fp);#endif	fputs(NLS, fp);	fputs("Alternative interface long options:" NLS"  --verbose=n" NLS"  --quiet=n" NLS"  --[no-]trace" NLS"  --[no-]loop" NLS"  --[no-]random" NLS"  --[no-]sort" NLS, fp);#ifdef IA_ALSASEQ	fputs("  --[no-]background" NLS, fp);#endif	fputs(NLS, fp);	fputs("Available output modes (-O, --output-mode option):" NLS, fp);	for (pmpp = play_mode_list; pmp = *pmpp; pmpp++)		fprintf(fp, "  -O%c          %s" NLS,				pmp->id_character, pmp->id_name);	fputs(NLS, fp);	fputs("Output format options (append to -O? option):" NLS"  `S'          stereo" NLS"  `M'          monophonic" NLS"  `s'          signed output" NLS"  `u'          unsigned output" NLS"  `1'          16-bit sample width" NLS"  `8'          8-bit sample width" NLS"  `l'          linear encoding" NLS"  `U'          U-Law encoding" NLS"  `A'          A-Law encoding" NLS"  `x'          byte-swapped output" NLS, fp);	fputs(NLS, fp);	fputs("Alternative output format long options:" NLS"  --output-stereo" NLS"  --output-mono" NLS"  --output-signed" NLS"  --output-unsigned" NLS"  --output-16bit" NLS"  --output-8bit" NLS"  --output-linear" NLS"  --output-ulaw" NLS"  --output-alaw" NLS"  --[-no]output-swab" NLS, fp);	fputs(NLS, fp);	fputs("Available WRD interfaces (-W, --wrd option):" NLS, fp);	for (wlpp = wrdt_list; wlp = *wlpp; wlpp++)		fprintf(fp, "  -W%c          %s" NLS, wlp->id, wlp->name);	fputs(NLS, fp);	close_pager(fp);	exit(EXIT_SUCCESS);}