libsidplayfp 1.8.8
SidConfig.h
1/*
2 * This file is part of libsidplayfp, a SID player engine.
3 *
4 * Copyright 2011-2013 Leandro Nini <drfiemost@users.sourceforge.net>
5 * Copyright 2007-2010 Antti Lankila
6 * Copyright 2000-2001 Simon White
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21 */
22
23#ifndef SIDCONFIG_H
24#define SIDCONFIG_H
25
26#include <stdint.h>
27
28#include "sidplayfp/siddefs.h"
29
30
31class sidbuilder;
32
39class SID_EXTERN SidConfig
40{
41public:
42 typedef enum {MONO = 1, STEREO} playback_t;
43 typedef enum {MOS6581, MOS8580} sid_model_t;
44 typedef enum {PAL, NTSC, OLD_NTSC, DREAN} c64_model_t;
45 typedef enum {INTERPOLATE, RESAMPLE_INTERPOLATE} sampling_method_t;
46
47public:
53 static const uint_least16_t MAX_POWER_ON_DELAY = 0x1FFF;
54 static const uint_least16_t DEFAULT_POWER_ON_DELAY = MAX_POWER_ON_DELAY + 1;
55
56 static const uint_least32_t DEFAULT_SAMPLING_FREQ = 44100;
57
58public:
66 c64_model_t defaultC64Model;
67
72
78 sid_model_t defaultSidModel;
79
84
90 playback_t playback;
91
95 uint_least32_t frequency;
96
101 uint_least16_t secondSidAddress;
102 uint_least16_t thirdSidAddress;
104
110
114 uint_least32_t leftVolume;
115
119 uint_least32_t rightVolume;
120
124 uint_least16_t powerOnDelay;
125
131 sampling_method_t samplingMethod;
132
138
139public:
140 SidConfig();
141};
142
143#endif // SIDCONFIG_H
Definition: SidConfig.h:40
uint_least16_t secondSidAddress
Definition: SidConfig.h:101
c64_model_t defaultC64Model
Definition: SidConfig.h:66
uint_least32_t rightVolume
Definition: SidConfig.h:119
uint_least32_t frequency
Definition: SidConfig.h:95
uint_least32_t leftVolume
Definition: SidConfig.h:114
playback_t playback
Definition: SidConfig.h:90
bool forceSidModel
Definition: SidConfig.h:83
bool fastSampling
Definition: SidConfig.h:137
uint_least16_t powerOnDelay
Definition: SidConfig.h:124
sidbuilder * sidEmulation
Definition: SidConfig.h:109
bool forceC64Model
Definition: SidConfig.h:71
sid_model_t defaultSidModel
Definition: SidConfig.h:78
sampling_method_t samplingMethod
Definition: SidConfig.h:131
Definition: sidbuilder.h:38