libsidplayfp
1.0.3
|
00001 /* 00002 * This file is part of libsidplayfp, a SID player engine. 00003 * 00004 * Copyright 2011-2013 Leandro Nini <drfiemost@users.sourceforge.net> 00005 * Copyright 2007-2010 Antti Lankila 00006 * Copyright 2000-2001 Simon White 00007 * 00008 * This program is free software; you can redistribute it and/or modify 00009 * it under the terms of the GNU General Public License as published by 00010 * the Free Software Foundation; either version 2 of the License, or 00011 * (at your option) any later version. 00012 * 00013 * This program is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 * GNU General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU General Public License 00019 * along with this program; if not, write to the Free Software 00020 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00021 */ 00022 00023 #ifndef SIDCONFIG_H 00024 #define SIDCONFIG_H 00025 00026 #include <stdint.h> 00027 00028 #include "sidplayfp/siddefs.h" 00029 00030 00031 class sidbuilder; 00032 00039 class SID_EXTERN SidConfig 00040 { 00041 public: 00042 typedef enum {MONO = 1, STEREO} playback_t; 00043 typedef enum {MOS6581, MOS8580} sid_model_t; 00044 typedef enum {PAL, NTSC, OLD_NTSC, DREAN} c64_model_t; 00045 typedef enum {INTERPOLATE, RESAMPLE_INTERPOLATE} sampling_method_t; 00046 00047 public: 00053 static const uint_least16_t MAX_POWER_ON_DELAY = 0x1FFF; 00054 static const uint_least16_t DEFAULT_POWER_ON_DELAY = MAX_POWER_ON_DELAY + 1; 00055 00056 static const uint_least32_t DEFAULT_SAMPLING_FREQ = 44100; 00057 00058 public: 00066 c64_model_t defaultC64Model; 00067 00071 bool forceC64Model; 00072 00078 sid_model_t defaultSidModel; 00079 00083 bool forceSidModel; 00084 00090 playback_t playback; 00091 00095 uint_least32_t frequency; 00096 00100 uint_least16_t secondSidAddress; 00101 00106 sidbuilder *sidEmulation; 00107 00111 uint_least32_t leftVolume; 00112 00116 uint_least32_t rightVolume; 00117 00121 uint_least16_t powerOnDelay; 00122 00128 sampling_method_t samplingMethod; 00129 00134 bool fastSampling; 00135 00136 public: 00137 SidConfig(); 00138 }; 00139 00140 #endif // SIDCONFIG_H