1 /* 2 TiMidity++ -- MIDI to WAVE converter and player 3 Copyright (C) 1999-2002 Masanao Izumo <mo@goice.co.jp> 4 Copyright (C) 1995 Tuukka Toivonen <tt@cgs.fi> 5 6 This program is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 2 of the License, or 9 (at your option) any later version. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with this program; if not, write to the Free Software 18 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 */ 20 21 #ifndef ___W32G_UTL_H_ 22 #define ___W32G_UTL_H_ 23 24 #ifdef IA_W32G_SYN 25 #ifndef MAX_PORT 26 #define MAX_PORT 4 27 #endif 28 #endif 29 30 // ini & config 31 #define IniVersion "2.2" 32 typedef struct SETTING_PLAYER_ { 33 // Main Window 34 int InitMinimizeFlag; 35 // SubWindow Starting Create Flag 36 int DebugWndStartFlag; 37 int ConsoleWndStartFlag; 38 int ListWndStartFlag; 39 int TracerWndStartFlag; 40 int DocWndStartFlag; 41 int WrdWndStartFlag; 42 // SubWindow Starting Valid Flag 43 int DebugWndFlag; 44 int ConsoleWndFlag; 45 int ListWndFlag; 46 int TracerWndFlag; 47 int DocWndFlag; 48 int WrdWndFlag; 49 int SoundSpecWndFlag; 50 // SubWindow Max Numer 51 int SubWindowMax; 52 // Default File 53 char ConfigFile[MAXPATH + 32]; 54 char PlaylistFile[MAXPATH + 32]; 55 char PlaylistHistoryFile[MAXPATH + 32]; 56 // Default Dir 57 char MidiFileOpenDir[MAXPATH + 32]; 58 char ConfigFileOpenDir[MAXPATH + 32]; 59 char PlaylistFileOpenDir[MAXPATH + 32]; 60 // Thread Priority 61 int PlayerThreadPriority; 62 int GUIThreadPriority; 63 // Font 64 char SystemFont[256]; 65 char PlayerFont[256]; 66 char WrdFont[256]; 67 char DocFont[256]; 68 char ListFont[256]; 69 char TracerFont[256]; 70 int SystemFontSize; 71 int PlayerFontSize; 72 int WrdFontSize; 73 int DocFontSize; 74 int ListFontSize; 75 int TracerFontSize; 76 // Misc. 77 int WrdGraphicFlag; 78 int TraceGraphicFlag; 79 int DocMaxSize; 80 char DocFileExt[256]; 81 // End. 82 int PlayerLanguage; 83 int DocWndIndependent; 84 int DocWndAutoPopup; 85 int SeachDirRecursive; 86 int IniFileAutoSave; 87 int SecondMode; 88 int AutoloadPlaylist; 89 int AutosavePlaylist; 90 int PosSizeSave; 91 char DefaultPlaylistName[256]; 92 // End. 93 } SETTING_PLAYER; 94 95 typedef struct SETTING_TIMIDITY_ { 96 // Parameter from command line options. 97 98 int32 amplification; // A 99 int antialiasing_allowed; // a 100 int buffer_fragments; // B 101 int32 control_ratio; // C 102 // c (ignore) 103 ChannelBitMask default_drumchannels, default_drumchannel_mask; // D 104 // d (ignore) 105 106 // E... 107 int opt_modulation_wheel; // E w/W 108 int opt_portamento; // E p/P 109 int opt_nrpn_vibrato; // E v/V 110 int opt_channel_pressure; // E s/S 111 int opt_trace_text_meta_event; // E t/T 112 int opt_overlap_voice_allow;// E o/O 113 int opt_default_mid; // E mXX 114 int default_tonebank; // E b 115 int special_tonebank; // E B 116 int effect_lr_mode; // E Fdelay 117 int effect_lr_delay_msec; // E Fdelay 118 int opt_reverb_control; // E Freverb 119 int opt_chorus_control; // E Fchorus 120 int noise_sharp_type; // E Fns 121 int opt_surround_chorus; // E ? 122 int opt_tva_attack; // E ? 123 int opt_tva_decay; // E ? 124 int opt_tva_release; // E ? 125 int opt_delay_control; // E ? 126 int opt_default_module; // --module 127 int opt_lpf_def; // E ? 128 int opt_drum_effect; // E ? 129 int opt_modulation_envelope; // E ? 130 int opt_pan_delay; // E ? 131 int opt_eq_control; // E ? 132 int opt_insertion_effect; // E ? 133 int opt_evil_mode; // e 134 int adjust_panning_immediately; // F 135 int fast_decay; // f 136 #ifdef SUPPORT_SOUNDSPEC 137 int view_soundspec_flag; // g 138 double spectrogram_update_sec; // g 139 #endif 140 // h (ignore) 141 int default_program[MAX_CHANNELS]; // I 142 char opt_ctl[30]; // i 143 int opt_realtime_playing; // j 144 int reduce_voice_threshold; // k 145 // L (ignore) 146 char opt_playmode[16]; // O 147 char OutputName[MAXPATH + 32]; // o : string 148 char OutputDirName[MAXPATH + 32]; // o : string 149 int auto_output_mode; 150 // P (ignore) 151 int voices; // p 152 int auto_reduce_polyphony; // pa 153 ChannelBitMask quietchannels; // Q 154 int temper_type_mute; // Q 155 char opt_qsize[16]; // q 156 int32 modify_release; // R 157 int32 allocate_cache_size; // S 158 int32 opt_drum_power; // ? 159 int32 opt_amp_compensation; // ? 160 int key_adjust; // K 161 int8 opt_force_keysig; // H 162 int opt_pure_intonation; // Z 163 int8 opt_init_keysig; // Z 164 int output_rate; // s 165 char output_text_code[16]; // t 166 int free_instruments_afterwards; // U 167 char opt_wrd[16]; // W 168 #if defined(__W32__) && defined(SMFCONV) 169 int opt_rcpcv_dll; // wr, wR 170 #endif 171 // x (ignore) 172 // Z (ignore) 173 /* for w32g_a.c */ 174 int data_block_bits; 175 int data_block_num; 176 //?? int waveout_data_block_size; 177 #ifdef IA_W32G_SYN 178 int SynIDPort[MAX_PORT]; 179 int syn_AutoStart; 180 DWORD processPriority; 181 DWORD syn_ThreadPriority; 182 int SynPortNum; 183 int SynShTime; 184 #endif 185 } SETTING_TIMIDITY; 186 187 // #### obsoleted 188 #define PLAYERMODE_AUTOQUIT 0x0001 189 #define PLAYERMODE_AUTOREFINE 0x0002 190 #define PLAYERMODE_AUTOUNIQ 0x0004 191 #define PLAYERMODE_NOT_CONTINUE 0x0008 192 #define PLAYERMODE_NOT_DRAG_START 0x0010 193 194 195 extern char *OutputName; 196 197 extern void LoadIniFile(SETTING_PLAYER *sp, SETTING_TIMIDITY *st); 198 extern void SaveIniFile(SETTING_PLAYER *sp, SETTING_TIMIDITY *st); 199 200 extern SETTING_PLAYER *sp_default, *sp_current, *sp_temp; 201 extern SETTING_TIMIDITY *st_default, *st_current, *st_temp; 202 extern CHAR *INI_INVALID; 203 extern CHAR *INI_SEC_PLAYER; 204 extern CHAR *INI_SEC_TIMIDITY; 205 extern char *SystemFont; 206 extern char *PlayerFont; 207 extern char *WrdFont; 208 extern char *DocFont; 209 extern char *ListFont; 210 extern char *TracerFont; 211 extern HFONT hSystemFont; 212 extern HFONT hPlayerFont; 213 extern HFONT hWrdFont; 214 extern HFONT hDocFont; 215 extern HFONT hListFont; 216 extern HFONT hTracerFont; 217 extern int SystemFontSize; 218 extern int PlayerFontSize; 219 extern int WrdFontSize; 220 extern int DocFontSize; 221 extern int ListFontSize; 222 extern int TracerFontSize; 223 224 extern int IniGetKeyInt32(char *section, char *key,int32 *n); 225 extern int IniGetKeyInt32Array(char *section, char *key, int32 *n, int arraysize); 226 extern int IniGetKeyInt(char *section, char *key, int *n); 227 extern int IniGetKeyInt8(char *section, char *key, int8 *n); 228 extern int IniGetKeyChar(char *section, char *key, char *c); 229 extern int IniGetKeyIntArray(char *section, char *key, int *n, int arraysize); 230 extern int IniGetKeyString(char *section, char *key,char *str); 231 extern int IniGetKeyStringN(char *section, char *key,char *str, int size); 232 extern int IniGetKeyFloat(char *section, char *key, FLOAT_T *n); 233 extern int IniPutKeyInt32(char *section, char *key,int32 *n); 234 extern int IniPutKeyInt32Array(char *section, char *key, int32 *n, int arraysize); 235 extern int IniPutKeyInt(char *section, char *key, int *n); 236 extern int IniPutKeyInt8(char *section, char *key, int8 *n); 237 extern int IniPutKeyChar(char *section, char *key, char *c); 238 extern int IniPutKeyIntArray(char *section, char *key, int *n, int arraysize); 239 extern int IniPutKeyString(char *section, char *key, char *str); 240 extern int IniPutKeyStringN(char *section, char *key, char *str, int size); 241 extern int IniPutKeyFloat(char *section, char *key, FLOAT_T n); 242 extern void ApplySettingPlayer(SETTING_PLAYER *sp); 243 extern void SaveSettingPlayer(SETTING_PLAYER *sp); 244 extern void ApplySettingTiMidity(SETTING_TIMIDITY *st); 245 extern void SaveSettingTiMidity(SETTING_TIMIDITY *st); 246 extern void SettingCtlFlag(SETTING_TIMIDITY *st, int opt_id, int onoff); 247 extern int IniVersionCheck(void); 248 extern void BitBltRect(HDC dst, HDC src, RECT *rc); 249 #if 0 250 extern TmColors tm_colors[ /* TMCC_SIZE */ ]; 251 #define TmCc(c) (tm_colors[c].color) 252 extern void TmInitColor(void); 253 extern void TmFreeColor(void); 254 extern void TmFillRect(HDC hdc, RECT *rc, int color); 255 #endif 256 extern void w32g_uninitialize(void); 257 extern void w32g_initialize(void); 258 extern int is_directory(char *path); 259 extern int directory_form(char *path_in_out); 260 261 extern char *timidity_window_inifile; 262 extern char *timidity_output_inifile; 263 264 #endif /* ___W32G_UTL_H_ */ 265