31 #include "sidplayfp/SidTuneInfo.h"
32 #include "sidplayfp/siddefs.h"
35 #include "SidTuneInfoImpl.h"
39 namespace libsidplayfp
53 loadError(
const char* msg) : m_msg(msg) {}
54 const char* message()
const {
return m_msg; }
63 typedef std::vector<uint8_t> buffer_t;
70 static const char ERR_TRUNCATED[];
71 static const char ERR_INVALID[];
92 static SidTuneBase*
load(
const char* fileName,
const char **fileNameExt,
bool separatorIsSlash);
103 static SidTuneBase*
read(
const uint_least8_t* sourceBuffer, uint_least32_t bufferLen);
112 unsigned int selectSong(
unsigned int songNum);
141 virtual const char *
createMD5(
char *) {
return nullptr; }
159 std::unique_ptr<SidTuneInfoImpl> info;
162 SidTuneInfo::clock_t clockSpeed[
MAX_SONGS];
180 static void loadFile(
const char* fileName, buffer_t& bufferRef);
189 SidTuneInfo::clock_t clock = SidTuneInfo::CLOCK_PAL);
225 virtual void acceptSidTune(
const char* dataFileName,
const char* infoFileName,
226 buffer_t& buf,
bool isSlashedFileName);
235 #if !defined(SIDTUNE_NO_STDIN_LOADER)
238 static SidTuneBase* getFromFiles(
const char* name,
const char **fileNameExtensions,
bool separatorIsSlash);
243 static SidTuneBase* getFromBuffer(
const uint_least8_t*
const buffer, uint_least32_t bufferLen);
252 static void createNewFileName(std::string& destString,
253 const char* sourceName,
const char* sourceExt);
virtual void placeSidTuneInC64mem(sidmemory &mem)
Definition: SidTuneBase.cpp:162
virtual const char * createMD5(char *)
Definition: SidTuneBase.h:141
Definition: SidTuneBase.h:61
virtual void acceptSidTune(const char *dataFileName, const char *infoFileName, buffer_t &buf, bool isSlashedFileName)
Definition: SidTuneBase.cpp:273
static SidTuneBase * load(const char *fileName, const char **fileNameExt, bool separatorIsSlash)
Definition: SidTuneBase.cpp:97
Definition: SidTuneInfo.h:39
unsigned int selectSong(unsigned int songNum)
Definition: SidTuneBase.cpp:127
bool checkCompatibility()
Definition: SidTuneBase.cpp:528
Definition: sidmemory.h:34
virtual const char * createMD5New(char *)
Definition: SidTuneBase.h:150
Definition: SidTuneBase.h:49
static SidTuneBase * read(const uint_least8_t *sourceBuffer, uint_least32_t bufferLen)
Definition: SidTuneBase.cpp:111
uint_least32_t fileOffset
For files with header: offset to real data.
Definition: SidTuneBase.h:165
const SidTuneInfo * getInfo() const
Definition: SidTuneBase.cpp:116
bool checkRelocInfo()
Definition: SidTuneBase.cpp:446
std::string petsciiToAscii(SmartPtr_sidtt< const uint8_t > &spPet)
Definition: SidTuneBase.cpp:559
Definition: SidTuneBase.h:43
void convertOldStyleSpeedToTables(uint_least32_t speed, SidTuneInfo::clock_t clock=SidTuneInfo::CLOCK_PAL)
Definition: SidTuneBase.cpp:425
void resolveAddrs(const uint_least8_t *c64data)
Definition: SidTuneBase.cpp:493
static const unsigned int MAX_SONGS
Also PSID file format limit.
Definition: SidTuneBase.h:67
const uint_least8_t * c64Data() const
Definition: SidTuneBase.h:155
static void loadFile(const char *fileName, buffer_t &bufferRef)
Definition: SidTuneBase.cpp:178