18#ifndef STORAGEMANAGER_H
19#define STORAGEMANAGER_H
22#include "r_typedefs.h"
48class ParamManagerMIDI;
59 void writeAttribute(
char const* name, int32_t number,
bool onNewLine =
true);
60 void writeAttribute(
char const* name,
char const* value,
bool onNewLine =
true);
61 void writeAttributeHex(
char const* name, int32_t number,
int numChars,
bool onNewLine =
true);
62 void writeTag(
char const* tag, int32_t number);
63 void writeTag(
char const *tag,
char const* contents);
71 void exitTag(
char const* exitTagName = NULL);
74 int createFile(FIL* file,
char const* filePath,
bool mayOverwrite);
75 int createXMLFile(
char const* pathName,
bool mayOverwrite =
false);
76 int openXMLFile(FilePointer* filePointer,
char const *firstTagName,
char const* altTagName =
"",
bool ignoreIncorrectFirmware =
false);
83 int closeFileAfterWriting(
char const* path = NULL,
char const* beginningString = NULL,
char const* endString = NULL);
85 void write(
char const* output);
86 bool lseek(uint32_t pos);
88 bool fileExists(
char const* pathName, FilePointer* fp);
132 uint8_t indentAmount;
141 void skipUntilChar(
char endChar);
142 char const* readTagName();
143 char const* readNextAttributeName();
144 char const* readUntilChar(
char endChar);
145 char const* readAttributeValue();
146 int32_t readIntUntilChar(
char endChar);
147 bool getIntoAttributeValue();
148 int32_t readAttributeValueInt();
149 bool readXMLFileClusterIfNecessary();
150 int readStringUntilChar(
String*
string,
char endChar);
151 int readAttributeValueString(
String*
string);
152 void restoreBackedUpCharIfNecessary();
156 int writeBufferToFile();
Definition: Arpeggiator.h:28
Definition: InstrumentClip.h:54
Definition: instrument.h:45
Definition: MIDIParamCollection.h:27
Definition: ParamManager.h:166
Definition: ParamManager.h:50
Definition: PlaybackMode.h:31
Definition: storagemanager.h:55
void writeAbsoluteSyncLevelToFile(Song *song, char const *name, int internalValue, bool onNewLine=true)
Definition: storagemanager.cpp:1526
bool checkSDPresent()
Definition: storagemanager.cpp:1247
void writeOpeningTag(char const *tag, bool startNewLineAfter=true)
Definition: storagemanager.cpp:151
void readMidiCommand(uint8_t *channel, uint8_t *note=NULL)
Definition: storagemanager.cpp:898
void write(char const *output)
Definition: storagemanager.cpp:1028
bool fileExists(char const *pathName)
Definition: storagemanager.cpp:1002
char const * readTagOrAttributeValue()
Definition: storagemanager.cpp:715
void writeOpeningTagBeginning(char const *tag)
Definition: storagemanager.cpp:156
int firmwareVersionOfFileBeingRead
Definition: storagemanager.h:115
bool checkSDInitialized()
Definition: storagemanager.cpp:1253
int checkSpaceOnCard()
Definition: storagemanager.cpp:916
int devVarD
Definition: storagemanager.h:126
void openFilePointer(FilePointer *fp)
Definition: storagemanager.cpp:1260
int devVarE
Definition: storagemanager.h:127
int devVarA
Definition: storagemanager.h:123
int fileBufferCurrentPos
Definition: storagemanager.h:119
int getNumCharsRemainingInValue()
Definition: storagemanager.cpp:791
int tryReadingFirmwareTagFromFile(char const *tagName, bool ignoreIncorrectFirmware=false)
Definition: storagemanager.cpp:1168
void writeClosingTag(char const *tag, bool shouldPrintIndents=true)
Definition: storagemanager.cpp:174
char readNextCharOfTagOrAttributeValue()
Definition: storagemanager.cpp:667
UINT currentReadBufferEndPos
Definition: storagemanager.h:118
int fileTotalBytesWritten
Definition: storagemanager.h:121
void writeFirmwareVersion()
Definition: storagemanager.cpp:1216
int devVarC
Definition: storagemanager.h:125
bool readXMLFileCluster()
Definition: storagemanager.cpp:1190
int openXMLFile(FilePointer *filePointer, char const *firstTagName, char const *altTagName="", bool ignoreIncorrectFirmware=false)
Definition: storagemanager.cpp:1135
int devVarF
Definition: storagemanager.h:128
int devVarB
Definition: storagemanager.h:124
void printIndents()
Definition: storagemanager.cpp:182
bool prepareToReadTagOrAttributeValueOneCharAtATime()
Definition: storagemanager.cpp:803
void writeTag(char const *tag, int32_t number)
Definition: storagemanager.cpp:96
int createFile(FIL *file, char const *filePath, bool mayOverwrite)
Definition: storagemanager.cpp:925
uint32_t readCharXML(char *thisChar)
Definition: storagemanager.cpp:843
char const * readNextTagOrAttributeName()
Definition: storagemanager.cpp:367
bool closeFile()
Definition: storagemanager.cpp:1209
int readTagOrAttributeValueString(String *string)
Definition: storagemanager.cpp:768
bool fileAccessFailedDuring
Definition: storagemanager.h:112
void writeAttribute(char const *name, int32_t number, bool onNewLine=true)
Definition: storagemanager.cpp:114
char * fileClusterBuffer
Definition: storagemanager.h:117
void writeEarliestCompatibleFirmwareVersion(char const *versionString)
Definition: storagemanager.cpp:1220
int openInstrumentFile(int instrumentType, FilePointer *filePointer)
Definition: storagemanager.cpp:1281
Drum * createNewDrum(int drumType)
Definition: storagemanager.cpp:1457
int initSD()
Definition: storagemanager.cpp:1226
void closeTag()
Definition: storagemanager.cpp:163
int devVarG
Definition: storagemanager.h:129
int readMIDIParamFromFile(int32_t readAutomationUpToPos, MIDIParamCollection *midiParamCollection, int8_t *getCC=NULL)
Definition: storagemanager.cpp:1481
char const * readNextCharsOfTagOrAttributeValue(int numChars)
Definition: storagemanager.cpp:614
bool lseek(uint32_t pos)
Definition: storagemanager.cpp:1125
int closeFileAfterWriting(char const *path=NULL, char const *beginningString=NULL, char const *endString=NULL)
Definition: storagemanager.cpp:1080
int readAbsoluteSyncLevelFromFile(Song *song)
Definition: storagemanager.cpp:1522
void exitTag(char const *exitTagName=NULL)
Definition: storagemanager.cpp:855
void writeAttributeHex(char const *name, int32_t number, int numChars, bool onNewLine=true)
Definition: storagemanager.cpp:124
Instrument * createNewInstrument(uint8_t newInstrumentType, ParamManager *getParamManager=NULL)
Definition: storagemanager.cpp:1383
int createXMLFile(char const *pathName, bool mayOverwrite=false)
Definition: storagemanager.cpp:985
Instrument * createNewNonAudioInstrument(int instrumentType, int slot, int subSlot)
Definition: storagemanager.cpp:1436
int loadInstrumentFromFile(Song *song, InstrumentClip *clip, int instrumentType, bool mayReadSamplesFromFiles, Instrument **getInstrument, FilePointer *filePointer, String *name, String *dirPath)
Definition: storagemanager.cpp:1305
void writeOpeningTagEnd(bool startNewLineAfter=true)
Definition: storagemanager.cpp:169
int32_t readTagOrAttributeValueInt()
Definition: storagemanager.cpp:737
StorageManager()
Definition: storagemanager.cpp:82
int32_t readTagOrAttributeValueHex(int errorValue)
Definition: storagemanager.cpp:760
struct FileSystemStuff fileSystemStuff
Definition: storagemanager.cpp:80
StorageManager storageManager
Definition: storagemanager.cpp:70
DIR staticDIR
Definition: storagemanager.cpp:72
void deleteOldSongBeforeLoadingNew()
Definition: Deluge.cpp:1046
FILINFO staticFNO
Definition: storagemanager.cpp:71
Definition: storagemanager.h:35
FIL currentFile
Definition: storagemanager.h:37
FATFS fileSystem
Definition: storagemanager.h:36