Added an "advanced" option to apply the original file's "creation" and "last modified" date/time to the output file.

This commit is contained in:
LoRd_MuldeR 2015-11-07 21:39:33 +01:00
parent 2645f40ea2
commit 83ef96701a
37 changed files with 4351 additions and 4230 deletions

View File

@ -84,6 +84,7 @@
<h2 id="lamexp-v4.13-xxxx-xx-xx" class="unnumbered">LameXP v4.13 [xxxx-xx-xx]</h2> <h2 id="lamexp-v4.13-xxxx-xx-xx" class="unnumbered">LameXP v4.13 [xxxx-xx-xx]</h2>
<ul> <ul>
<li>Upgraded build environment to Microsoft Visual Studio 2015<br /></li> <li>Upgraded build environment to Microsoft Visual Studio 2015<br /></li>
<li>Apply the original file's &quot;creation&quot; and &quot;last modified&quot; date/time to the output file (optional)<br /></li>
<li>Updated Vorbis encoder to OggEnc v2.88 (2015-09-10), using libvorbis v1.3.5 and aoTuV b6.03_2015<br /></li> <li>Updated Vorbis encoder to OggEnc v2.88 (2015-09-10), using libvorbis v1.3.5 and aoTuV b6.03_2015<br /></li>
<li>Updated MediaInfo to v0.7.78 (2015-10-02), compiled with ICL 15.0 and MSVC 12.0<br /></li> <li>Updated MediaInfo to v0.7.78 (2015-10-02), compiled with ICL 15.0 and MSVC 12.0<br /></li>
<li>Fixed resampling bug with Vorbis encoder, regression in OggEnc v2.87<br /></li> <li>Fixed resampling bug with Vorbis encoder, regression in OggEnc v2.87<br /></li>

View File

@ -5,6 +5,7 @@
## LameXP v4.13 [xxxx-xx-xx] ## {-} ## LameXP v4.13 [xxxx-xx-xx] ## {-}
* Upgraded build environment to Microsoft Visual Studio 2015 * Upgraded build environment to Microsoft Visual Studio 2015
* Apply the original file's "creation" and "last modified" date/time to the output file (optional)
* Updated Vorbis encoder to OggEnc v2.88 (2015-09-10), using libvorbis v1.3.5 and aoTuV b6.03_2015 * Updated Vorbis encoder to OggEnc v2.88 (2015-09-10), using libvorbis v1.3.5 and aoTuV b6.03_2015
* Updated MediaInfo to v0.7.78 (2015-10-02), compiled with ICL 15.0 and MSVC 12.0 * Updated MediaInfo to v0.7.78 (2015-10-02), compiled with ICL 15.0 and MSVC 12.0
* Fixed resampling bug with Vorbis encoder, regression in OggEnc v2.87 * Fixed resampling bug with Vorbis encoder, regression in OggEnc v2.87

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -31,7 +31,7 @@
<context> <context>
<name>MainWindow</name> <name>MainWindow</name>
<message numerus="yes"> <message numerus="yes">
<location filename="../../src/Dialog_MainWindow.cpp" line="830"/> <location filename="../../src/Dialog_MainWindow.cpp" line="832"/>
<source>%n file(s) have been rejected, because read access was not granted!</source> <source>%n file(s) have been rejected, because read access was not granted!</source>
<translation> <translation>
<numerusform>%n file have been rejected, because read access was not granted!</numerusform> <numerusform>%n file have been rejected, because read access was not granted!</numerusform>
@ -39,7 +39,7 @@
</translation> </translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<location filename="../../src/Dialog_MainWindow.cpp" line="834"/> <location filename="../../src/Dialog_MainWindow.cpp" line="836"/>
<source>%n file(s) have been rejected, because they are dummy CDDA files!</source> <source>%n file(s) have been rejected, because they are dummy CDDA files!</source>
<translation> <translation>
<numerusform>%n file have been rejected, because they are dummy CDDA files!</numerusform> <numerusform>%n file have been rejected, because they are dummy CDDA files!</numerusform>
@ -47,7 +47,7 @@
</translation> </translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<location filename="../../src/Dialog_MainWindow.cpp" line="838"/> <location filename="../../src/Dialog_MainWindow.cpp" line="840"/>
<source>%n file(s) have been rejected, because they appear to be Cue Sheet images!</source> <source>%n file(s) have been rejected, because they appear to be Cue Sheet images!</source>
<translation> <translation>
<numerusform>%n file have been rejected, because they appear to be Cue Sheet images!</numerusform> <numerusform>%n file have been rejected, because they appear to be Cue Sheet images!</numerusform>
@ -55,7 +55,7 @@
</translation> </translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<location filename="../../src/Dialog_MainWindow.cpp" line="842"/> <location filename="../../src/Dialog_MainWindow.cpp" line="844"/>
<source>%n file(s) have been rejected, because the file format could not be recognized!</source> <source>%n file(s) have been rejected, because the file format could not be recognized!</source>
<translation> <translation>
<numerusform>%n file have been rejected, because the file format could not be recognized!</numerusform> <numerusform>%n file have been rejected, because the file format could not be recognized!</numerusform>
@ -63,7 +63,7 @@
</translation> </translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<location filename="../../src/Dialog_MainWindow.cpp" line="4228"/> <location filename="../../src/Dialog_MainWindow.cpp" line="4230"/>
<source>%n Instance(s)</source> <source>%n Instance(s)</source>
<translation> <translation>
<numerusform>%n Instance</numerusform> <numerusform>%n Instance</numerusform>
@ -74,7 +74,7 @@
<context> <context>
<name>ProcessingDialog</name> <name>ProcessingDialog</name>
<message numerus="yes"> <message numerus="yes">
<location filename="../../src/Dialog_Processing.cpp" line="663"/> <location filename="../../src/Dialog_Processing.cpp" line="667"/>
<source>Encoding: %n file(s) of %1 completed so far, please wait...</source> <source>Encoding: %n file(s) of %1 completed so far, please wait...</source>
<translation> <translation>
<numerusform>Encoding: %n file of %1 completed so far, please wait...</numerusform> <numerusform>Encoding: %n file of %1 completed so far, please wait...</numerusform>
@ -82,7 +82,7 @@
</translation> </translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<location filename="../../src/Dialog_Processing.cpp" line="695"/> <location filename="../../src/Dialog_Processing.cpp" line="699"/>
<source>Process was aborted by the user after %n file(s)!</source> <source>Process was aborted by the user after %n file(s)!</source>
<translation> <translation>
<numerusform>Process was aborted by the user after %n file!</numerusform> <numerusform>Process was aborted by the user after %n file!</numerusform>
@ -90,7 +90,7 @@
</translation> </translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<location filename="../../src/Dialog_Processing.cpp" line="716"/> <location filename="../../src/Dialog_Processing.cpp" line="720"/>
<source>Error: %1 of %n file(s) failed (%2). Double-click failed items for detailed information!</source> <source>Error: %1 of %n file(s) failed (%2). Double-click failed items for detailed information!</source>
<translation> <translation>
<numerusform>Error: %1 of %n file failed (%2). Double-click failed items for detailed information!</numerusform> <numerusform>Error: %1 of %n file failed (%2). Double-click failed items for detailed information!</numerusform>
@ -98,7 +98,7 @@
</translation> </translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<location filename="../../src/Dialog_Processing.cpp" line="716"/> <location filename="../../src/Dialog_Processing.cpp" line="720"/>
<source>%n file(s) skipped</source> <source>%n file(s) skipped</source>
<translation> <translation>
<numerusform>%n file skipped</numerusform> <numerusform>%n file skipped</numerusform>
@ -106,7 +106,7 @@
</translation> </translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<location filename="../../src/Dialog_Processing.cpp" line="720"/> <location filename="../../src/Dialog_Processing.cpp" line="724"/>
<source>Error: %1 of %n file(s) failed. Double-click failed items for detailed information!</source> <source>Error: %1 of %n file(s) failed. Double-click failed items for detailed information!</source>
<translation> <translation>
<numerusform>Error: %1 of %n file failed. Double-click failed items for detailed information!</numerusform> <numerusform>Error: %1 of %n file failed. Double-click failed items for detailed information!</numerusform>
@ -114,7 +114,7 @@
</translation> </translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<location filename="../../src/Dialog_Processing.cpp" line="734"/> <location filename="../../src/Dialog_Processing.cpp" line="738"/>
<source>All files completed successfully. Skipped %n file(s).</source> <source>All files completed successfully. Skipped %n file(s).</source>
<translation> <translation>
<numerusform>All files completed successfully. Skipped %n file.</numerusform> <numerusform>All files completed successfully. Skipped %n file.</numerusform>
@ -122,7 +122,7 @@
</translation> </translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<location filename="../../src/Dialog_Processing.cpp" line="1153"/> <location filename="../../src/Dialog_Processing.cpp" line="1157"/>
<source>%n hour(s)</source> <source>%n hour(s)</source>
<translation> <translation>
<numerusform>%n hour</numerusform> <numerusform>%n hour</numerusform>
@ -130,8 +130,8 @@
</translation> </translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<location filename="../../src/Dialog_Processing.cpp" line="1154"/>
<location filename="../../src/Dialog_Processing.cpp" line="1158"/> <location filename="../../src/Dialog_Processing.cpp" line="1158"/>
<location filename="../../src/Dialog_Processing.cpp" line="1162"/>
<source>%n minute(s)</source> <source>%n minute(s)</source>
<translation> <translation>
<numerusform>%n minute</numerusform> <numerusform>%n minute</numerusform>
@ -139,8 +139,8 @@
</translation> </translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<location filename="../../src/Dialog_Processing.cpp" line="1159"/>
<location filename="../../src/Dialog_Processing.cpp" line="1163"/> <location filename="../../src/Dialog_Processing.cpp" line="1163"/>
<location filename="../../src/Dialog_Processing.cpp" line="1167"/>
<source>%n second(s)</source> <source>%n second(s)</source>
<translation> <translation>
<numerusform>%n second</numerusform> <numerusform>%n second</numerusform>
@ -148,7 +148,7 @@
</translation> </translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<location filename="../../src/Dialog_Processing.cpp" line="1164"/> <location filename="../../src/Dialog_Processing.cpp" line="1168"/>
<source>%n millisecond(s)</source> <source>%n millisecond(s)</source>
<translation> <translation>
<numerusform>%n millisecond</numerusform> <numerusform>%n millisecond</numerusform>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1509,8 +1509,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>602</width> <width>613</width>
<height>1840</height> <height>1881</height>
</rect> </rect>
</property> </property>
<layout class="QGridLayout" name="gridLayout_22"> <layout class="QGridLayout" name="gridLayout_22">
@ -4326,7 +4326,7 @@
</font> </font>
</property> </property>
<property name="title"> <property name="title">
<string> Overwrite Mode </string> <string> File Operations </string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_42"> <layout class="QGridLayout" name="gridLayout_42">
<item row="0" column="0"> <item row="0" column="0">
@ -4404,7 +4404,7 @@
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="2" column="1" colspan="7"> <item row="4" column="1" colspan="7">
<spacer name="verticalSpacer_37"> <spacer name="verticalSpacer_37">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
@ -4436,7 +4436,7 @@
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="0" column="9" rowspan="3"> <item row="0" column="9" rowspan="5">
<spacer name="horizontalSpacer_62"> <spacer name="horizontalSpacer_62">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
@ -4452,7 +4452,7 @@
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="0" column="0" rowspan="3"> <item row="0" column="0" rowspan="5">
<spacer name="horizontalSpacer_61"> <spacer name="horizontalSpacer_61">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
@ -4468,7 +4468,7 @@
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="1" column="8"> <item row="1" column="8" rowspan="3">
<spacer name="horizontalSpacer_66"> <spacer name="horizontalSpacer_66">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
@ -4481,6 +4481,29 @@
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="3" column="1" colspan="7">
<widget class="QCheckBox" name="checkBoxKeepOriginalDateTime">
<property name="text">
<string>Apply the &quot;creation&quot; and &quot;last modified&quot; date/time of the original file to the converted file</string>
</property>
</widget>
</item>
<item row="2" column="1" colspan="7">
<spacer name="verticalSpacer_43">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>3</height>
</size>
</property>
</spacer>
</item>
</layout> </layout>
</item> </item>
</layout> </layout>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -33,9 +33,9 @@
#define VER_LAMEXP_MAJOR 4 #define VER_LAMEXP_MAJOR 4
#define VER_LAMEXP_MINOR_HI 1 #define VER_LAMEXP_MINOR_HI 1
#define VER_LAMEXP_MINOR_LO 3 #define VER_LAMEXP_MINOR_LO 3
#define VER_LAMEXP_TYPE Alpha #define VER_LAMEXP_TYPE RC
#define VER_LAMEXP_PATCH 2 #define VER_LAMEXP_PATCH 1
#define VER_LAMEXP_BUILD 1828 #define VER_LAMEXP_BUILD 1830
#define VER_LAMEXP_CONFG 1818 #define VER_LAMEXP_CONFG 1818
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////

View File

@ -504,6 +504,7 @@ MainWindow::MainWindow(MUtils::IPCChannel *const ipcChannel, FileListModel *cons
SET_CHECKBOX_STATE(ui->checkBoxRename_RegExp, m_settings->renameFiles_regExpEnabled()); SET_CHECKBOX_STATE(ui->checkBoxRename_RegExp, m_settings->renameFiles_regExpEnabled());
SET_CHECKBOX_STATE(ui->checkBoxForceStereoDownmix, m_settings->forceStereoDownmix()); SET_CHECKBOX_STATE(ui->checkBoxForceStereoDownmix, m_settings->forceStereoDownmix());
SET_CHECKBOX_STATE(ui->checkBoxOpusDisableResample, m_settings->opusDisableResample()); SET_CHECKBOX_STATE(ui->checkBoxOpusDisableResample, m_settings->opusDisableResample());
SET_CHECKBOX_STATE(ui->checkBoxKeepOriginalDateTime, m_settings->keepOriginalDataTime());
ui->checkBoxNeroAAC2PassMode->setEnabled(aacEncoder == SettingsModel::AAC_ENCODER_NERO); ui->checkBoxNeroAAC2PassMode->setEnabled(aacEncoder == SettingsModel::AAC_ENCODER_NERO);
@ -593,6 +594,7 @@ MainWindow::MainWindow(MUtils::IPCChannel *const ipcChannel, FileListModel *cons
connect(ui->buttonRename_FileEx, SIGNAL(clicked(bool)), this, SLOT(renameButtonClicked(bool))); connect(ui->buttonRename_FileEx, SIGNAL(clicked(bool)), this, SLOT(renameButtonClicked(bool)));
connect(ui->buttonFileExts_Add, SIGNAL(clicked()), this, SLOT(fileExtAddButtonClicked())); connect(ui->buttonFileExts_Add, SIGNAL(clicked()), this, SLOT(fileExtAddButtonClicked()));
connect(ui->buttonFileExts_Remove, SIGNAL(clicked()), this, SLOT(fileExtRemoveButtonClicked())); connect(ui->buttonFileExts_Remove, SIGNAL(clicked()), this, SLOT(fileExtRemoveButtonClicked()));
connect(ui->checkBoxKeepOriginalDateTime, SIGNAL(clicked(bool)), this, SLOT(keepOriginalDateTimeChanged(bool)));
connect(m_overwriteButtonGroup.data(), SIGNAL(buttonClicked(int)), this, SLOT(overwriteModeChanged(int))); connect(m_overwriteButtonGroup.data(), SIGNAL(buttonClicked(int)), this, SLOT(overwriteModeChanged(int)));
connect(m_evenFilterCustumParamsHelp.data(), SIGNAL(eventOccurred(QWidget*, QEvent*)), this, SLOT(customParamsHelpRequested(QWidget*, QEvent*))); connect(m_evenFilterCustumParamsHelp.data(), SIGNAL(eventOccurred(QWidget*, QEvent*)), this, SLOT(customParamsHelpRequested(QWidget*, QEvent*)));
connect(fileExtModel, SIGNAL(modelReset()), this, SLOT(fileExtModelChanged())); connect(fileExtModel, SIGNAL(modelReset()), this, SLOT(fileExtModelChanged()));
@ -4398,6 +4400,10 @@ void MainWindow::showCustomParamsHelpScreen(const QString &toolName, const QStri
dialog->exec(output); dialog->exec(output);
} }
/*
* File overwrite mode has changed
*/
void MainWindow::overwriteModeChanged(int id) void MainWindow::overwriteModeChanged(int id)
{ {
if((id == SettingsModel::Overwrite_Replaces) && (m_settings->overwriteMode() != SettingsModel::Overwrite_Replaces)) if((id == SettingsModel::Overwrite_Replaces) && (m_settings->overwriteMode() != SettingsModel::Overwrite_Replaces))
@ -4413,6 +4419,14 @@ void MainWindow::overwriteModeChanged(int id)
m_settings->overwriteMode(id); m_settings->overwriteMode(id);
} }
/*
* Keep original date/time opertion changed
*/
void MainWindow::keepOriginalDateTimeChanged(bool checked)
{
m_settings->keepOriginalDataTime(checked);
}
/* /*
* Reset all advanced options to their defaults * Reset all advanced options to their defaults
*/ */
@ -4448,6 +4462,7 @@ void MainWindow::resetAdvancedOptionsButtonClicked(void)
SET_CHECKBOX_STATE(ui->checkBoxRename_RegExp, m_settings->renameFiles_regExpEnabledDefault()); SET_CHECKBOX_STATE(ui->checkBoxRename_RegExp, m_settings->renameFiles_regExpEnabledDefault());
SET_CHECKBOX_STATE(ui->checkBoxForceStereoDownmix, m_settings->forceStereoDownmixDefault()); SET_CHECKBOX_STATE(ui->checkBoxForceStereoDownmix, m_settings->forceStereoDownmixDefault());
SET_CHECKBOX_STATE(ui->checkBoxOpusDisableResample, m_settings->opusDisableResampleDefault()); SET_CHECKBOX_STATE(ui->checkBoxOpusDisableResample, m_settings->opusDisableResampleDefault());
SET_CHECKBOX_STATE(ui->checkBoxKeepOriginalDateTime, m_settings->keepOriginalDataTimeDefault());
ui->lineEditCustomParamLAME ->setText(m_settings->customParametersLAMEDefault()); ui->lineEditCustomParamLAME ->setText(m_settings->customParametersLAMEDefault());
ui->lineEditCustomParamOggEnc ->setText(m_settings->customParametersOggEncDefault()); ui->lineEditCustomParamOggEnc ->setText(m_settings->customParametersOggEncDefault());

View File

@ -125,6 +125,7 @@ private slots:
void importCsvContextActionTriggered(void); void importCsvContextActionTriggered(void);
void initOutputFolderModel(void); void initOutputFolderModel(void);
void initOutputFolderModel_doAsync(void); void initOutputFolderModel_doAsync(void);
void keepOriginalDateTimeChanged(bool checked);
void languageActionActivated(QAction *action); void languageActionActivated(QAction *action);
void languageFromFileActionActivated(bool checked); void languageFromFileActionActivated(bool checked);
void makeFolderButtonClicked(void); void makeFolderButtonClicked(void);

View File

@ -620,6 +620,10 @@ void ProcessingDialog::startNextJob(void)
{ {
thread->setOverwriteMode((m_settings->overwriteMode() == SettingsModel::Overwrite_SkipFile), (m_settings->overwriteMode() == SettingsModel::Overwrite_Replaces)); thread->setOverwriteMode((m_settings->overwriteMode() == SettingsModel::Overwrite_SkipFile), (m_settings->overwriteMode() == SettingsModel::Overwrite_Replaces));
} }
if (m_settings->keepOriginalDataTime())
{
thread->setKeepDateTime(m_settings->keepOriginalDataTime());
}
m_allJobs.append(thread->getId()); m_allJobs.append(thread->getId());

View File

@ -253,6 +253,7 @@ LAMEXP_MAKE_ID(favoriteOutputFolders, "OutputDirectory/Favorites");
LAMEXP_MAKE_ID(forceStereoDownmix, "AdvancedOptions/StereoDownmix/Force"); LAMEXP_MAKE_ID(forceStereoDownmix, "AdvancedOptions/StereoDownmix/Force");
LAMEXP_MAKE_ID(hibernateComputer, "AdvancedOptions/HibernateComputerOnShutdown"); LAMEXP_MAKE_ID(hibernateComputer, "AdvancedOptions/HibernateComputerOnShutdown");
LAMEXP_MAKE_ID(interfaceStyle, "InterfaceStyle"); LAMEXP_MAKE_ID(interfaceStyle, "InterfaceStyle");
LAMEXP_MAKE_ID(keepOriginalDataTime, "AdvancedOptions/FileOperations/KeepOriginalDataTime");
LAMEXP_MAKE_ID(lameAlgoQuality, "AdvancedOptions/LAME/AlgorithmQuality"); LAMEXP_MAKE_ID(lameAlgoQuality, "AdvancedOptions/LAME/AlgorithmQuality");
LAMEXP_MAKE_ID(lameChannelMode, "AdvancedOptions/LAME/ChannelMode"); LAMEXP_MAKE_ID(lameChannelMode, "AdvancedOptions/LAME/ChannelMode");
LAMEXP_MAKE_ID(licenseAccepted, "LicenseAccepted"); LAMEXP_MAKE_ID(licenseAccepted, "LicenseAccepted");
@ -272,7 +273,7 @@ LAMEXP_MAKE_ID(opusFramesize, "AdvancedOptions/Opus/FrameSize");
LAMEXP_MAKE_ID(opusOptimizeFor, "AdvancedOptions/Opus/OptimizeForSignalType"); LAMEXP_MAKE_ID(opusOptimizeFor, "AdvancedOptions/Opus/OptimizeForSignalType");
LAMEXP_MAKE_ID(outputDir, "OutputDirectory/SelectedPath"); LAMEXP_MAKE_ID(outputDir, "OutputDirectory/SelectedPath");
LAMEXP_MAKE_ID(outputToSourceDir, "OutputDirectory/OutputToSourceFolder"); LAMEXP_MAKE_ID(outputToSourceDir, "OutputDirectory/OutputToSourceFolder");
LAMEXP_MAKE_ID(overwriteMode, "AdvancedOptions/OverwriteMode"); LAMEXP_MAKE_ID(overwriteMode, "AdvancedOptions/FileOperations/OverwriteMode");
LAMEXP_MAKE_ID(prependRelativeSourcePath, "OutputDirectory/PrependRelativeSourcePath"); LAMEXP_MAKE_ID(prependRelativeSourcePath, "OutputDirectory/PrependRelativeSourcePath");
LAMEXP_MAKE_ID(renameFiles_regExpEnabled, "AdvancedOptions/RenameOutputFiles/RegExp/Enabled"); LAMEXP_MAKE_ID(renameFiles_regExpEnabled, "AdvancedOptions/RenameOutputFiles/RegExp/Enabled");
LAMEXP_MAKE_ID(renameFiles_regExpSearch, "AdvancedOptions/RenameOutputFiles/RegExp/SearchPattern"); LAMEXP_MAKE_ID(renameFiles_regExpSearch, "AdvancedOptions/RenameOutputFiles/RegExp/SearchPattern");
@ -652,6 +653,7 @@ LAMEXP_MAKE_OPTION_S(favoriteOutputFolders, QString())
LAMEXP_MAKE_OPTION_B(forceStereoDownmix, false) LAMEXP_MAKE_OPTION_B(forceStereoDownmix, false)
LAMEXP_MAKE_OPTION_B(hibernateComputer, false) LAMEXP_MAKE_OPTION_B(hibernateComputer, false)
LAMEXP_MAKE_OPTION_I(interfaceStyle, 0) LAMEXP_MAKE_OPTION_I(interfaceStyle, 0)
LAMEXP_MAKE_OPTION_B(keepOriginalDataTime, false)
LAMEXP_MAKE_OPTION_I(lameAlgoQuality, 2) LAMEXP_MAKE_OPTION_I(lameAlgoQuality, 2)
LAMEXP_MAKE_OPTION_I(lameChannelMode, 0) LAMEXP_MAKE_OPTION_I(lameChannelMode, 0)
LAMEXP_MAKE_OPTION_I(licenseAccepted, 0) LAMEXP_MAKE_OPTION_I(licenseAccepted, 0)

View File

@ -171,6 +171,7 @@ public:
LAMEXP_MAKE_OPTION_B(forceStereoDownmix) LAMEXP_MAKE_OPTION_B(forceStereoDownmix)
LAMEXP_MAKE_OPTION_B(hibernateComputer) LAMEXP_MAKE_OPTION_B(hibernateComputer)
LAMEXP_MAKE_OPTION_I(interfaceStyle) LAMEXP_MAKE_OPTION_I(interfaceStyle)
LAMEXP_MAKE_OPTION_B(keepOriginalDataTime)
LAMEXP_MAKE_OPTION_I(lameAlgoQuality) LAMEXP_MAKE_OPTION_I(lameAlgoQuality)
LAMEXP_MAKE_OPTION_I(lameChannelMode) LAMEXP_MAKE_OPTION_I(lameChannelMode)
LAMEXP_MAKE_OPTION_I(licenseAccepted) LAMEXP_MAKE_OPTION_I(licenseAccepted)

View File

@ -72,6 +72,7 @@ ProcessThread::ProcessThread(const AudioFileModel &audioFile, const QString &out
m_prependRelativeSourcePath(prependRelativeSourcePath), m_prependRelativeSourcePath(prependRelativeSourcePath),
m_renamePattern("<BaseName>"), m_renamePattern("<BaseName>"),
m_overwriteMode(OverwriteMode_KeepBoth), m_overwriteMode(OverwriteMode_KeepBoth),
m_keepDateTime(false),
m_initialized(-1), m_initialized(-1),
m_aborted(false), m_aborted(false),
m_propDetect(new WaveProperties()) m_propDetect(new WaveProperties())
@ -340,7 +341,7 @@ void ProcessThread::processFile()
// Finalize // Finalize
//----------------------------------------------------- //-----------------------------------------------------
if (bSuccess && (!m_aborted)) if (bSuccess && (!m_aborted) && m_keepDateTime)
{ {
updateFileTime(m_audioFile.filePath(), m_outFileName); updateFileTime(m_audioFile.filePath(), m_outFileName);
} }
@ -750,6 +751,11 @@ void ProcessThread::setOverwriteMode(const bool &bSkipExistingFile, const bool &
} }
} }
void ProcessThread::setKeepDateTime(const bool &keepDateTime)
{
m_keepDateTime = keepDateTime;
}
//////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////
// EVENTS // EVENTS
//////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////

View File

@ -50,6 +50,7 @@ public:
void setRenameRegExp(const QString &search, const QString &replace); void setRenameRegExp(const QString &search, const QString &replace);
void setRenameFileExt(const QString &fileExtension); void setRenameFileExt(const QString &fileExtension);
void setOverwriteMode(const bool &bSkipExistingFile, const bool &bReplacesExisting = false); void setOverwriteMode(const bool &bSkipExistingFile, const bool &bReplacesExisting = false);
void setKeepDateTime(const bool &keepDateTime);
void addFilter(AbstractFilter *filter); void addFilter(AbstractFilter *filter);
public slots: public slots:
@ -112,6 +113,7 @@ private:
QString m_renameRegExp_Replace; QString m_renameRegExp_Replace;
QString m_renameFileExt; QString m_renameFileExt;
int m_overwriteMode; int m_overwriteMode;
bool m_keepDateTime;
WaveProperties *m_propDetect; WaveProperties *m_propDetect;
QString m_outFileName; QString m_outFileName;
}; };