X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2FDecoder_FLAC.cpp;h=64e6ae34c57428a5d0f2a42b628aefdc05b01726;hb=bd3695f2e07e802ad375462465fa937fd4bd7178;hp=252aef2d5adebcc356103fb7be309a43bf2fe788;hpb=1a238db3dba0a71370099a5278c75352bb1141a1;p=lamexp%2FLameXP.git diff --git a/src/Decoder_FLAC.cpp b/src/Decoder_FLAC.cpp index 252aef2d..64e6ae34 100644 --- a/src/Decoder_FLAC.cpp +++ b/src/Decoder_FLAC.cpp @@ -1,11 +1,12 @@ /////////////////////////////////////////////////////////////////////////////// // LameXP - Audio Encoder Front-End -// Copyright (C) 2004-2011 LoRd_MuldeR +// Copyright (C) 2004-2015 LoRd_MuldeR // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. +// (at your option) any later version, but always including the *additional* +// restrictions defined in the "License.txt" file. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -21,19 +22,24 @@ #include "Decoder_FLAC.h" +//Internal #include "Global.h" +//MUtils +#include + +//Qt #include #include #include FLACDecoder::FLACDecoder(void) : - m_binary(lamexp_lookup_tool("flac.exe")) + m_binary(lamexp_tools_lookup("flac.exe")) { if(m_binary.isEmpty()) { - throw "Error initializing FLAC decoder. Tool 'flac.exe' is not registred!"; + MUTILS_THROW("Error initializing FLAC decoder. Tool 'flac.exe' is not registred!"); } } @@ -58,7 +64,7 @@ bool FLACDecoder::decode(const QString &sourceFile, const QString &outputFile, v bool bTimeout = false; bool bAborted = false; - QRegExp regExp("\\s(\\d+)% complete"); + QRegExp regExp("\\b(\\d+)% complete"); while(process.state() != QProcess::NotRunning) { @@ -80,7 +86,7 @@ bool FLACDecoder::decode(const QString &sourceFile, const QString &outputFile, v } while(process.bytesAvailable() > 0) { - QByteArray line = process.readLine(); + QByteArray line = process.readLine().replace('\b', char(0x20)); QString text = QString::fromUtf8(line.constData()).simplified(); if(regExp.lastIndexIn(text) >= 0) { @@ -126,7 +132,18 @@ bool FLACDecoder::isFormatSupported(const QString &containerType, const QString return false; } -QStringList FLACDecoder::supportedTypes(void) +const AbstractDecoder::supportedType_t *FLACDecoder::supportedTypes(void) { - return QStringList() << "Free Lossless Audio Codec (*.flac *.fla)"; + static const char *exts[] = + { + "fla", "flac", NULL + }; + + static const supportedType_t s_supportedTypes[] = + { + { "Free Lossless Audio Codec", exts }, + { NULL, NULL } + }; + + return s_supportedTypes; }