mirror of
https://github.com/strawberrymusicplayer/strawberry
synced 2025-02-02 18:46:46 +01:00
Read XM and IT module music
This commit is contained in:
parent
b38ad81928
commit
a6569d09ac
@ -25,6 +25,8 @@ message SongMetadata {
|
||||
APE = 17;
|
||||
MOD = 18;
|
||||
S3M = 19;
|
||||
XM = 20;
|
||||
IT = 21;
|
||||
CDDA = 90;
|
||||
STREAM = 91;
|
||||
}
|
||||
|
@ -69,6 +69,8 @@
|
||||
#include <taglib/apefile.h>
|
||||
#include <taglib/modfile.h>
|
||||
#include <taglib/s3mfile.h>
|
||||
#include <taglib/xmfile.h>
|
||||
#include <taglib/itfile.h>
|
||||
#ifdef HAVE_TAGLIB_DSFFILE
|
||||
# include <taglib/dsffile.h>
|
||||
#endif
|
||||
@ -167,6 +169,8 @@ spb::tagreader::SongMetadata_FileType TagReaderTagLib::GuessFileType(TagLib::Fil
|
||||
if (dynamic_cast<TagLib::APE::File*>(fileref->file())) return spb::tagreader::SongMetadata_FileType_APE;
|
||||
if (dynamic_cast<TagLib::Mod::File*>(fileref->file())) return spb::tagreader::SongMetadata_FileType_MOD;
|
||||
if (dynamic_cast<TagLib::S3M::File*>(fileref->file())) return spb::tagreader::SongMetadata_FileType_S3M;
|
||||
if (dynamic_cast<TagLib::XM::File*>(fileref->file())) return spb::tagreader::SongMetadata_FileType_XM;
|
||||
if (dynamic_cast<TagLib::IT::File*>(fileref->file())) return spb::tagreader::SongMetadata_FileType_IT;
|
||||
#ifdef HAVE_TAGLIB_DSFFILE
|
||||
if (dynamic_cast<TagLib::DSF::File*>(fileref->file())) return spb::tagreader::SongMetadata_FileType_DSF;
|
||||
#endif
|
||||
|
@ -600,6 +600,8 @@ QString Song::TextForFiletype(FileType filetype) {
|
||||
case Song::FileType_APE: return "Monkey's Audio";
|
||||
case Song::FileType_MOD: return "Module Music Format";
|
||||
case Song::FileType_S3M: return "Module Music Format";
|
||||
case Song::FileType_XM: return "Module Music Format";
|
||||
case Song::FileType_IT: return "Module Music Format";
|
||||
case Song::FileType_CDDA: return "CDDA";
|
||||
case Song::FileType_Stream: return "Stream";
|
||||
case Song::FileType_Unknown:
|
||||
@ -629,6 +631,8 @@ QString Song::ExtensionForFiletype(FileType filetype) {
|
||||
case Song::FileType_APE: return "ape";
|
||||
case Song::FileType_MOD: return "mod";
|
||||
case Song::FileType_S3M: return "s3m";
|
||||
case Song::FileType_XM: return "xm";
|
||||
case Song::FileType_IT: return "it";
|
||||
case Song::FileType_Unknown:
|
||||
default: return "dat";
|
||||
}
|
||||
@ -657,6 +661,8 @@ QIcon Song::IconForFiletype(FileType filetype) {
|
||||
case Song::FileType_APE: return IconLoader::Load("ape");
|
||||
case Song::FileType_MOD: return IconLoader::Load("mod");
|
||||
case Song::FileType_S3M: return IconLoader::Load("s3m");
|
||||
case Song::FileType_XM: return IconLoader::Load("xm");
|
||||
case Song::FileType_IT: return IconLoader::Load("it");
|
||||
case Song::FileType_CDDA: return IconLoader::Load("cd");
|
||||
case Song::FileType_Stream: return IconLoader::Load("applications-internet");
|
||||
case Song::FileType_Unknown:
|
||||
@ -751,6 +757,8 @@ Song::FileType Song::FiletypeByExtension(const QString &ext) {
|
||||
ext.compare("nst", Qt::CaseInsensitive) == 0||
|
||||
ext.compare("wow", Qt::CaseInsensitive) == 0) return Song::FileType_MOD;
|
||||
else if (ext.compare("s3m", Qt::CaseInsensitive) == 0) return Song::FileType_S3M;
|
||||
else if (ext.compare("xm", Qt::CaseInsensitive) == 0) return Song::FileType_XM;
|
||||
else if (ext.compare("it", Qt::CaseInsensitive) == 0) return Song::FileType_IT;
|
||||
|
||||
else return Song::FileType_Unknown;
|
||||
|
||||
|
@ -104,6 +104,8 @@ class Song {
|
||||
FileType_APE = 17,
|
||||
FileType_MOD = 18,
|
||||
FileType_S3M = 19,
|
||||
FileType_XM = 20,
|
||||
FileType_IT = 21,
|
||||
FileType_CDDA = 90,
|
||||
FileType_Stream = 91,
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user