libsidplayfp 2.16.1
SidInfo.h
1/*
2 * This file is part of libsidplayfp, a SID player engine.
3 *
4 * Copyright 2011-2019 Leandro Nini
5 * Copyright 2007-2010 Antti Lankila
6 * Copyright 2000 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 SIDINFO_H
24#define SIDINFO_H
25
26#include <stdint.h>
27
28#include "sidplayfp/siddefs.h"
29#include "sidplayfp/SidTuneInfo.h"
30
34class SID_EXTERN SidInfo
35{
36public:
38 const char *name() const;
39
41 const char *version() const;
42
44
45 unsigned int numberOfCredits() const;
46 const char *credits(unsigned int i) const;
48
50 unsigned int maxsids() const;
51
53 unsigned int channels() const;
54
56 uint_least16_t driverAddr() const;
57
59 uint_least16_t driverLength() const;
60
62 uint_least16_t powerOnDelay() const;
63
65 const char *speedString() const;
66
68
69 const char *kernalDesc() const;
70 const char *basicDesc() const;
71 const char *chargenDesc() const;
73
76
77 unsigned int numberOfSIDs() const;
78 SidTuneInfo::model_t sidModel(unsigned int i) const;
80
81private:
82 virtual const char *getName() const =0;
83
84 virtual const char *getVersion() const =0;
85
86 virtual unsigned int getNumberOfCredits() const =0;
87 virtual const char *getCredits(unsigned int i) const =0;
88
89 virtual unsigned int getMaxsids() const =0;
90
91 virtual unsigned int getChannels() const =0;
92
93 virtual uint_least16_t getDriverAddr() const =0;
94
95 virtual uint_least16_t getDriverLength() const =0;
96
97 virtual uint_least16_t getPowerOnDelay() const =0;
98
99 virtual const char *getSpeedString() const =0;
100
101 virtual const char *getKernalDesc() const =0;
102 virtual const char *getBasicDesc() const =0;
103 virtual const char *getChargenDesc() const =0;
104
105 virtual unsigned int getNumberOfSIDs() const =0;
106 virtual SidTuneInfo::model_t getSidModel(unsigned int i) const =0;
107
108protected:
109 ~SidInfo() {}
110};
111
112#endif /* SIDINFO_H */
Definition SidInfo.h:35