26#ifndef LMMS_DATA_FILE_H
27#define LMMS_DATA_FILE_H
30#include <QDomDocument>
33#include "lmms_export.h"
43class LMMS_EXPORT
DataFile :
public QDomDocument
54 InstrumentTrackSettings,
73 void write( QTextStream& strm );
74 bool writeFile(
const QString& fn,
bool withResources =
false);
89 bool hasLocalPlugins(QDomElement parent = QDomElement(),
bool firstCall =
true)
const;
106 unsigned int legacyFileVersion();
109 static Type type(
const QString& typeName );
110 static QString typeName( Type type );
112 void cleanMetaNodes( QDomElement de );
114 void mapSrcAttributeInElementsWithResources(
const QMap<QString, QString>& map);
117 void upgrade_0_2_1_20070501();
118 void upgrade_0_2_1_20070508();
119 void upgrade_0_3_0_rc2();
120 void upgrade_0_3_0();
121 void upgrade_0_4_0_20080104();
122 void upgrade_0_4_0_20080118();
123 void upgrade_0_4_0_20080129();
124 void upgrade_0_4_0_20080409();
125 void upgrade_0_4_0_20080607();
126 void upgrade_0_4_0_20080622();
127 void upgrade_0_4_0_beta1();
128 void upgrade_0_4_0_rc2();
129 void upgrade_1_0_99();
130 void upgrade_1_1_0();
131 void upgrade_1_1_91();
132 void upgrade_1_2_0_rc3();
133 void upgrade_1_3_0();
134 void upgrade_noHiddenClipNames();
135 void upgrade_automationNodes();
141 void upgrade_extendedNoteRange();
147 void upgrade_defaultTripleOscillatorHQ();
149 void upgrade_mixerRename();
150 void upgrade_bbTcoRename();
151 void upgrade_sampleAndHold();
154 void upgrade_midiCCIndexing();
156 void upgrade_loopsRename();
157 void upgrade_noteTypes();
158 void upgrade_fixCMTDelays();
159 void upgrade_fixBassLoopsTypo();
160 void findProblematicLadspaPlugins();
161 void upgrade_noHiddenAutomationTracks();
174 void loadData(
const QByteArray & _data,
const QString & _sourceFile );
Type m_type
Definition DataFile.h:179
bool copyResources(const QString &resourcesDir)
Copies resources to resourcesDir and changes the DataFile to use local paths to them.
Definition DataFile.cpp:446
QDomElement & head()
Definition DataFile.h:96
void upgrade()
Definition DataFile.cpp:2061
QString nameWithExtension(const QString &fn) const
Definition DataFile.cpp:262
QString m_fileName
The origin file name or "" if this DataFile didn't originate from a file.
Definition DataFile.h:176
void write(QTextStream &strm)
Definition DataFile.cpp:301
bool hasLocalPlugins(QDomElement parent=QDomElement(), bool firstCall=true) const
Checks whether the XML tree of a DataFile has (potentially unsafe) local paths.
Definition DataFile.cpp:530
void loadData(const QByteArray &_data, const QString &_sourceFile)
Definition DataFile.cpp:2102
Type type() const
Definition DataFile.h:101
static const std::vector< ProjectVersion > UPGRADE_VERSIONS
Definition DataFile.h:166
QDomElement m_head
Definition DataFile.h:178
QDomElement & content()
Definition DataFile.h:91
static const ResourcesMap ELEMENTS_WITH_RESOURCES
Definition DataFile.h:170
unsigned int m_fileVersion
Definition DataFile.h:180
DataFile(const QString &fileName)
Definition DataFile.cpp:156
std::map< QString, std::vector< QString > > ResourcesMap
Definition DataFile.h:169
static const std::vector< UpgradeMethod > UPGRADE_METHODS
Definition DataFile.h:164
QDomElement m_content
Definition DataFile.h:177
virtual ~DataFile()=default
Type
Definition DataFile.h:50
void(DataFile::*)() UpgradeMethod
Definition DataFile.h:46
bool validate(QString extension)
Performs basic validation, compared to file extension.
Definition DataFile.cpp:200
bool writeFile(const QString &fn, bool withResources=false)
Definition DataFile.cpp:315
Version number parsing and comparison.
Definition ProjectVersion.h:43
Definition RemotePluginBase.cpp:34