OSDN Git Service

Fixed a bug that caused files to fail to convert when writing meta tags is disabled.
authorlordmulder <mulder2@gmx.de>
Sun, 6 Feb 2011 16:34:14 +0000 (17:34 +0100)
committerlordmulder <mulder2@gmx.de>
Sun, 6 Feb 2011 16:34:14 +0000 (17:34 +0100)
src/Config.h
src/Dialog_Processing.cpp
src/Model_AudioFile.cpp
src/Model_AudioFile.h

index e80f383..c9fe612 100644 (file)
@@ -25,7 +25,7 @@
 #define VER_LAMEXP_MAJOR                               4
 #define VER_LAMEXP_MINOR_HI                            0
 #define VER_LAMEXP_MINOR_LO                            0
-#define VER_LAMEXP_BUILD                               290
+#define VER_LAMEXP_BUILD                               291
 #define VER_LAMEXP_SUFFIX                              Beta-3
 
 /*
index 8037c70..7559956 100644 (file)
@@ -596,7 +596,8 @@ AudioFileModel ProcessingDialog::updateMetaInfo(const AudioFileModel &audioFile)
 {
        if(!m_settings->writeMetaTags())
        {
-               return AudioFileModel(audioFile.filePath());
+               AudioFileModel result(audioFile, false);
+               return result;
        }
        
        AudioFileModel result = audioFile;
index 53d0b74..54d0579 100644 (file)
@@ -40,18 +40,16 @@ AudioFileModel::AudioFileModel(const QString &path, const QString &name)
        m_formatAudioBitdepth = 0;
 }
 
-AudioFileModel::AudioFileModel(const AudioFileModel &model)
+AudioFileModel::AudioFileModel(const AudioFileModel &model, bool copyMetaInfo)
 {
-       setFilePath(model.m_filePath);
-       setFileName(model.m_fileName);
-       setFileArtist(model.m_fileArtist);
-       setFileAlbum(model.m_fileAlbum);
-       setFileGenre(model.m_fileGenre);
-       setFileComment(model.m_fileComment);
-       setFileYear(model.m_fileYear);
-       setFilePosition(model.m_filePosition);
-       setFileDuration(model.m_fileDuration);
+       m_fileYear = 0;
+       m_filePosition = 0;
+       m_fileDuration = 0;
+       m_formatAudioSamplerate = 0;
+       m_formatAudioChannels = 0;
+       m_formatAudioBitdepth = 0;
 
+       setFilePath(model.m_filePath);
        setFormatContainerType(model.m_formatContainerType);
        setFormatContainerProfile(model.m_formatContainerProfile);
        setFormatAudioType(model.m_formatAudioType);
@@ -60,6 +58,18 @@ AudioFileModel::AudioFileModel(const AudioFileModel &model)
        setFormatAudioSamplerate(model.m_formatAudioSamplerate);
        setFormatAudioChannels(model.m_formatAudioChannels);
        setFormatAudioBitdepth(model.m_formatAudioBitdepth);
+       setFileDuration(model.m_fileDuration);
+
+       if(copyMetaInfo)
+       {
+               setFileName(model.m_fileName);
+               setFileArtist(model.m_fileArtist);
+               setFileAlbum(model.m_fileAlbum);
+               setFileGenre(model.m_fileGenre);
+               setFileComment(model.m_fileComment);
+               setFileYear(model.m_fileYear);
+               setFilePosition(model.m_filePosition);
+       }
 }
 
 AudioFileModel &AudioFileModel::operator=(const AudioFileModel &model)
index 9733e89..13dc932 100644 (file)
@@ -30,7 +30,7 @@ class AudioFileModel : public QObject
 
 public:
        AudioFileModel(const QString &path = QString(), const QString &name = QString());
-       AudioFileModel(const AudioFileModel &model);
+       AudioFileModel(const AudioFileModel &model, bool copyMetaInfo = true);
        AudioFileModel &operator=(const AudioFileModel &model);
        ~AudioFileModel(void);