Fix WavPack playback (#6048)

This commit is contained in:
Jonas Kvinge 2018-05-01 19:29:47 +02:00 committed by John Maguire
parent 776fb3830e
commit 37912a87b8
5 changed files with 11 additions and 1 deletions

View File

@ -104,6 +104,7 @@ message SongMetadata {
TRUEAUDIO = 11;
CDDA = 12;
OGGOPUS = 13;
WAVPACK = 14;
STREAM = 99;
}

View File

@ -52,6 +52,7 @@
#include <unsynchronizedlyricsframe.h>
#include <vorbisfile.h>
#include <wavfile.h>
#include <wavpackfile.h>
#include <sys/stat.h>
@ -659,6 +660,8 @@ pb::tagreader::SongMetadata_Type TagReader::GuessFileType(
return pb::tagreader::SongMetadata_Type_WAV;
if (dynamic_cast<TagLib::TrueAudio::File*>(fileref->file()))
return pb::tagreader::SongMetadata_Type_TRUEAUDIO;
if (dynamic_cast<TagLib::WavPack::File*>(fileref->file()))
return pb::tagreader::SongMetadata_Type_WAVPACK;
return pb::tagreader::SongMetadata_Type_UNKNOWN;
}

View File

@ -16,6 +16,7 @@ message SongMetadata {
TRUEAUDIO = 11;
CDDA = 12;
OGGOPUS = 13;
WAVPACK = 14;
STREAM = 99;
}

View File

@ -427,6 +427,8 @@ QString Song::TextForFiletype(FileType type) {
return QObject::tr("AIFF");
case Song::Type_Wav:
return QObject::tr("Wav");
case Song::Type_WavPack:
return QObject::tr("WavPack");
case Song::Type_TrueAudio:
return QObject::tr("TrueAudio");
case Song::Type_Cdda:
@ -447,6 +449,7 @@ bool Song::IsFileLossless() const {
case Song::Type_Flac:
case Song::Type_OggFlac:
case Song::Type_Wav:
case Song::Type_WavPack:
return true;
default:
return false;
@ -673,7 +676,8 @@ void Song::InitFromFilePartial(const QString& filename) {
if (suffix == "mp3" || suffix == "ogg" || suffix == "flac" ||
suffix == "mpc" || suffix == "m4a" || suffix == "aac" ||
suffix == "wma" || suffix == "mp4" || suffix == "spx" ||
suffix == "wav" || suffix == "opus" || suffix == "m4b") {
suffix == "wav" || suffix == "opus" || suffix == "m4b" ||
suffix == "wv") {
d->valid_ = true;
} else {
d->valid_ = false;

View File

@ -101,6 +101,7 @@ class Song {
Type_TrueAudio = 11,
Type_Cdda = 12,
Type_OggOpus = 13,
Type_WavPack = 14,
Type_Stream = 99,
};
static QString TextForFiletype(FileType type);