40 if ( ! doc.
read( sPath,
nullptr,
true ) ) {
41 ERRORLOG( QString(
"Unable to load SoundLibraryInfo from [%1]" )
46 bool bLoadingWorked =
false;
48 XMLNode rootNode = doc.firstChildElement(
"drumkit_pattern" );
49 if ( ! rootNode.isNull() )
55 XMLNode patternNode = rootNode.firstChildElement(
"pattern" );
62 setInfo( patternNode.
read_string(
"info",
"No information available.",
false,
true,
true ) );
65 QString sDrumkitName = rootNode.
read_string(
"drumkit_name",
"",
false,
false );
66 if ( sDrumkitName.isEmpty() ) {
67 sDrumkitName = rootNode.
read_string(
"pattern_for_drumkit",
"" );
71 bLoadingWorked =
true;
76 rootNode = doc.firstChildElement(
"drumkit_info" );
77 if ( ! rootNode.isNull() )
87 bLoadingWorked =
true;
91 rootNode = doc.firstChildElement(
"song" );
92 if ( ! rootNode.isNull() )
100 bLoadingWorked =
true;
103 if ( ! bLoadingWorked ) {
104 ERRORLOG( QString(
"[%1] could not be loaded as pattern, song, or drumkit" )
121 sOutput = QString(
"%1[SoundLibraryInfo]\n" ).arg( sPrefix )
122 .append( QString(
"%1%2m_sName: %3\n" ).arg( sPrefix ).arg( s ).arg(
m_sName ) )
123 .append( QString(
"%1%2m_sURL: %3\n" ).arg( sPrefix ).arg( s ).arg(
m_sURL ) )
124 .append( QString(
"%1%2m_sInfo: %3\n" ).arg( sPrefix ).arg( s ).arg(
m_sInfo ) )
125 .append( QString(
"%1%2m_sAuthor: %3\n" ).arg( sPrefix ).arg( s ).arg(
m_sAuthor ) )
126 .append( QString(
"%1%2m_sCategory: %3\n" ).arg( sPrefix ).arg( s ).arg(
m_sCategory ) )
127 .append( QString(
"%1%2m_sType: %3\n" ).arg( sPrefix ).arg( s ).arg(
m_sType ) )
128 .append( QString(
"%1%2m_license:\n%3" ).arg( sPrefix ).arg( s )
130 .append( QString(
"%1%2m_sImage: %3\n" ).arg( sPrefix ).arg( s ).arg(
m_sImage ) )
131 .append( QString(
"%1%2m_imageLicense:\n%3" ).arg( sPrefix ).arg( s )
133 .append( QString(
"%1%2m_sPath: %3\n" ).arg( sPrefix ).arg( s ).arg(
m_sPath ) );
137 sOutput = QString(
"[SoundLibraryInfo]" )
138 .append( QString(
" m_sName: %1" ).arg(
m_sName ) )
139 .append( QString(
", m_sURL: %1" ).arg(
m_sURL ) )
140 .append( QString(
", m_sInfo: %1" ).arg(
m_sInfo ) )
141 .append( QString(
", m_sAuthor: %1" ).arg(
m_sAuthor ) )
142 .append( QString(
", m_sCategory: %1" ).arg(
m_sCategory ) )
143 .append( QString(
", m_sType: %1" ).arg(
m_sType ) )
144 .append( QString(
", m_license: %1" )
146 .append( QString(
", m_sImage: %1" ).arg(
m_sImage ) )
147 .append( QString(
", m_imageLicense: %1" )
149 .append( QString(
", m_sPath: %1" ).arg(
m_sPath ) );
static QString sPrintIndention
String used to format the debugging string output of some core classes.
Wrapper class to help Hydrogen deal with the license information specified in a drumkit.
QString toQString(const QString &sPrefix="", bool bShort=true) const override
Formatted string version for debugging purposes.
void setDrumkitName(const QString &sDrumkitName)
bool load(const QString &sPath)
Reads the content found in sPath.
void setAuthor(const QString &author)
H2Core::License m_imageLicense
void setCategory(const QString &category)
void setInfo(const QString &info)
void setImage(const QString &image)
void setLicense(const H2Core::License &license)
void setName(const QString &name)
void setImageLicense(const H2Core::License &imageLicense)
QString toQString(const QString &sPrefix="", bool bShort=true) const override
Formatted string version for debugging purposes.
void setType(const QString &type)
H2Core::License m_license
void setPath(const QString &path)
XMLDoc is a subclass of QDomDocument with read and write methods.
bool read(const QString &filepath, const QString &schemapath=nullptr, bool bSilent=false)
read the content of an xml file
XMLNode is a subclass of QDomNode with read and write values methods.
QString read_string(const QString &node, const QString &default_value, bool inexistent_ok=true, bool empty_ok=true, bool bSilent=false)
reads a string stored into a child node