timidity/options.h
author Sam Lantinga <slouken@libsdl.org>
Mon, 12 Nov 2018 16:54:24 -0800
changeset 925 5945988b4a41
parent 782 e7d3a8f73e88
permissions -rw-r--r--
Fixed bug 4371 - tvOS Simulator devices not listed

Caleb Cornett

In the Xcode-iOS project, when selecting the libSDL_mixer-tvOS target, no tvOS simulators appear in the available device dropdown.

This is easily fixed with the attached patch.
     1 /*
     2     TiMidity -- Experimental MIDI to WAVE converter
     3     Copyright (C) 1995 Tuukka Toivonen <toivonen@clinet.fi>
     4 
     5     This program is free software; you can redistribute it and/or modify
     6     it under the terms of the Perl Artistic License, available in COPYING.
     7 */
     8 
     9 /* When a patch file can't be opened, one of these extensions is
    10    appended to the filename and the open is tried again.
    11  */
    12 #define PATCH_EXT_LIST { ".pat", 0 }
    13 
    14 /* Acoustic Grand Piano seems to be the usual default instrument. */
    15 #define DEFAULT_PROGRAM 0
    16 
    17 /* 9 here is MIDI channel 10, which is the standard percussion channel.
    18    Some files (notably C:\WINDOWS\CANYON.MID) think that 16 is one too. 
    19    On the other hand, some files know that 16 is not a drum channel and
    20    try to play music on it. This is now a runtime option, so this isn't
    21    a critical choice anymore. */
    22 #define DEFAULT_DRUMCHANNELS (1<<9)
    23 
    24 /* In percent. */
    25 #define DEFAULT_AMPLIFICATION 	70
    26 
    27 /* Default polyphony */
    28 /* #define DEFAULT_VOICES	32 */
    29 #define DEFAULT_VOICES	256
    30 
    31 /* 1000 here will give a control ratio of 22:1 with 22 kHz output.
    32    Higher CONTROLS_PER_SECOND values allow more accurate rendering
    33    of envelopes and tremolo. The cost is CPU time. */
    34 #define CONTROLS_PER_SECOND 1000
    35 
    36 /* Make envelopes twice as fast. Saves ~20% CPU time (notes decay
    37    faster) and sounds more like a GUS. There is now a command line
    38    option to toggle this as well. */
    39 #define FAST_DECAY
    40 
    41 /* How many bits to use for the fractional part of sample positions.
    42    This affects tonal accuracy. The entire position counter must fit
    43    in 32 bits, so with FRACTION_BITS equal to 12, the maximum size of
    44    a sample is 1048576 samples (2 megabytes in memory). The GUS gets
    45    by with just 9 bits and a little help from its friends...
    46    "The GUS does not SUCK!!!" -- a happy user :) */
    47 #define FRACTION_BITS 12
    48 
    49 /* For some reason the sample volume is always set to maximum in all
    50    patch files. Define this for a crude adjustment that may help
    51    equalize instrument volumes. */
    52 #define ADJUST_SAMPLE_VOLUMES
    53 
    54 /* The number of samples to use for ramping out a dying note. Affects
    55    click removal. */
    56 #define MAX_DIE_TIME 20
    57 
    58 /**************************************************************************/
    59 /* Anything below this shouldn't need to be changed unless you're porting
    60    to a new machine with other than 32-bit, big-endian words. */
    61 /**************************************************************************/
    62 
    63 /* change FRACTION_BITS above, not these */
    64 #define INTEGER_MASK (0xFFFFFFFF << FRACTION_BITS)
    65 #define FRACTION_MASK (~ INTEGER_MASK)
    66 
    67 /* This is enforced by some computations that must fit in an int */
    68 #define MAX_CONTROL_RATIO 255
    69 
    70 #define MAX_AMPLIFICATION 800
    71 
    72 /* You could specify a complete path, e.g. "/etc/timidity.cfg", and
    73    then specify the library directory in the configuration file. */
    74 #define CONFIG_FILE	"timidity.cfg"
    75 #define CONFIG_FILE_ETC "/etc/timidity.cfg"
    76 #define CONFIG_FILE_ETC_TIMIDITY_FREEPATS "/etc/timidity/freepats.cfg"
    77 
    78 #if defined(__WIN32__) || defined(__OS2__)
    79 #define DEFAULT_PATH	"C:\\TIMIDITY"
    80 #else
    81 #define DEFAULT_PATH	"/etc/timidity"
    82 #define DEFAULT_PATH1	"/usr/share/timidity"
    83 #define DEFAULT_PATH2	"/usr/local/share/timidity"
    84 #define DEFAULT_PATH3	"/usr/local/lib/timidity"
    85 #endif
    86 
    87 /* These affect general volume */
    88 #define GUARD_BITS 3
    89 #define AMP_BITS (15-GUARD_BITS)
    90 
    91 #define MAX_AMP_VALUE ((1<<(AMP_BITS+1))-1)
    92 
    93 #define FSCALE(a,b) (float)((a) * (double)(1<<(b)))
    94 #define FSCALENEG(a,b) (float)((a) * (1.0L / (double)(1<<(b))))
    95 
    96 /* Vibrato and tremolo Choices of the Day */
    97 #define SWEEP_TUNING 38
    98 #define VIBRATO_AMPLITUDE_TUNING 1.0L
    99 #define VIBRATO_RATE_TUNING 38
   100 #define TREMOLO_AMPLITUDE_TUNING 1.0L
   101 #define TREMOLO_RATE_TUNING 38
   102 
   103 #define SWEEP_SHIFT 16
   104 #define RATE_SHIFT 5
   105 
   106 #ifndef PI
   107   #define PI 3.14159265358979323846
   108 #endif
   109 
   110 /* The path separator (D.M.) */
   111 #if defined(__WIN32__) || defined(__OS2__)
   112 #  define PATH_SEP '\\'
   113 #else
   114 #  define PATH_SEP '/'
   115 #endif
   116 
   117 #define SNDDBG(X)