Added GUI option to reset all encoder settings.

This commit is contained in:
LoRd_MuldeR 2013-07-14 18:14:26 +02:00
parent 822e1e1ffb
commit 94d6d16ce3
12 changed files with 1227 additions and 1112 deletions

View File

@ -117,6 +117,7 @@ IDR_WAVE_SHUTDOWN WAVE "res\\sounds\\shutdown.wav"
IDR_WAVE_BEEP WAVE "res\\sounds\\beep.wav"
IDR_WAVE_BEEP_LONG WAVE "res\\sounds\\beep2.wav"
IDR_WAVE_WAITING WAVE "res\\sounds\\waiting.wav"
IDR_WAVE_BLAST WAVE "res\\sounds\\blast.wav"
/////////////////////////////////////////////////////////////////////////////
//

File diff suppressed because it is too large Load Diff

View File

@ -31,7 +31,7 @@
<context>
<name>MainWindow</name>
<message numerus="yes">
<location filename="../../src/Dialog_MainWindow.cpp" line="729"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="726"/>
<source>%n file(s) have been rejected, because read access was not granted!</source>
<translation>
<numerusform>%n file have been rejected, because read access was not granted!</numerusform>
@ -39,7 +39,7 @@
</translation>
</message>
<message numerus="yes">
<location filename="../../src/Dialog_MainWindow.cpp" line="733"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="730"/>
<source>%n file(s) have been rejected, because they are dummy CDDA files!</source>
<translation>
<numerusform>%n file have been rejected, because they are dummy CDDA files!</numerusform>
@ -47,7 +47,7 @@
</translation>
</message>
<message numerus="yes">
<location filename="../../src/Dialog_MainWindow.cpp" line="737"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="734"/>
<source>%n file(s) have been rejected, because they appear to be Cue Sheet images!</source>
<translation>
<numerusform>%n file have been rejected, because they appear to be Cue Sheet images!</numerusform>
@ -55,7 +55,7 @@
</translation>
</message>
<message numerus="yes">
<location filename="../../src/Dialog_MainWindow.cpp" line="741"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="738"/>
<source>%n file(s) have been rejected, because the file format could not be recognized!</source>
<translation>
<numerusform>%n file have been rejected, because the file format could not be recognized!</numerusform>
@ -63,7 +63,7 @@
</translation>
</message>
<message numerus="yes">
<location filename="../../src/Dialog_MainWindow.cpp" line="4217"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="4244"/>
<source>%n Instance(s)</source>
<translation>
<numerusform>%n Instance</numerusform>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1318,6 +1318,76 @@
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="labelResetEncoders">
<property name="palette">
<palette>
<active>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>120</red>
<green>120</green>
<blue>120</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="font">
<font>
<weight>50</weight>
<bold>false</bold>
<underline>true</underline>
</font>
</property>
<property name="cursor">
<cursorShape>PointingHandCursor</cursorShape>
</property>
<property name="text">
<string>Reset</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_67">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>5</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="labelCompressionHelp">
<property name="palette">

View File

@ -34,7 +34,7 @@
#define VER_LAMEXP_MINOR_LO 8
#define VER_LAMEXP_TYPE Beta
#define VER_LAMEXP_PATCH 1
#define VER_LAMEXP_BUILD 1318
#define VER_LAMEXP_BUILD 1319
#define VER_LAMEXP_CONFG 1288
///////////////////////////////////////////////////////////////////////////////

View File

@ -162,6 +162,7 @@ while(0)
#define FSLINK(PATH) QString("<a href=\"file:///%1\">%2</a>").arg(PATH).arg(QString(PATH).replace("-", "&minus;"))
//#define USE_NATIVE_FILE_DIALOG (lamexp_themes_enabled() || ((QSysInfo::windowsVersion() & QSysInfo::WV_NT_based) < QSysInfo::WV_XP))
#define CENTER_CURRENT_OUTPUT_FOLDER_DELAYED QTimer::singleShot(125, this, SLOT(centerOutputFolderModel()))
#define RESET_SETTING(OBJ,NAME) (OBJ)->NAME((OBJ)->NAME##Default())
static const DWORD IDM_ABOUTBOX = 0xEFF0;
@ -365,13 +366,9 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S
ui->radioButtonEncoderDCA->setChecked(m_settings->compressionEncoder() == SettingsModel::DCAEncoder);
ui->radioButtonEncoderPCM->setChecked(m_settings->compressionEncoder() == SettingsModel::PCMEncoder);
//ui->radioButtonModeQuality->setChecked(m_settings->compressionRCMode() == SettingsModel::VBRMode);
//ui->radioButtonModeAverageBitrate->setChecked(m_settings->compressionRCMode() == SettingsModel::ABRMode);
//ui->radioButtonConstBitrate->setChecked(m_settings->compressionRCMode() == SettingsModel::CBRMode);
//ui->sliderBitrate->setValue(m_settings->compressionBitrate());
m_evenFilterCompressionTab = new CustomEventFilter();
ui->labelCompressionHelp->installEventFilter(m_evenFilterCompressionTab);
ui->labelResetEncoders ->installEventFilter(m_evenFilterCompressionTab);
connect(m_encoderButtonGroup, SIGNAL(buttonClicked(int)), this, SLOT(updateEncoder(int)));
connect(m_modeButtonGroup, SIGNAL(buttonClicked(int)), this, SLOT(updateRCMode(int)));
@ -3878,6 +3875,36 @@ void MainWindow::compressionTabEventOccurred(QWidget *sender, QEvent *event)
{
QDesktopServices::openUrl(helpUrl);
}
else if((sender == ui->labelResetEncoders) && (event->type() == QEvent::MouseButtonPress))
{
if(m_settings->soundsEnabled())
{
PlaySound(MAKEINTRESOURCE(IDR_WAVE_BLAST), GetModuleHandle(NULL), SND_RESOURCE | SND_ASYNC);
}
RESET_SETTING(m_settings, compressionBitrateAacEnc);
RESET_SETTING(m_settings, compressionBitrateAften);
RESET_SETTING(m_settings, compressionBitrateDcaEnc);
RESET_SETTING(m_settings, compressionBitrateLAME);
RESET_SETTING(m_settings, compressionBitrateOggEnc);
RESET_SETTING(m_settings, compressionBitrateOpusEnc);
RESET_SETTING(m_settings, compressionRCModeAacEnc);
RESET_SETTING(m_settings, compressionRCModeAften);
RESET_SETTING(m_settings, compressionRCModeLAME);
RESET_SETTING(m_settings, compressionRCModeOggEnc);
RESET_SETTING(m_settings, compressionRCModeOpusEnc);
RESET_SETTING(m_settings, compressionVbrLevelAacEnc);
RESET_SETTING(m_settings, compressionVbrLevelAften);
RESET_SETTING(m_settings, compressionVbrLevelFLAC);
RESET_SETTING(m_settings, compressionVbrLevelLAME);
RESET_SETTING(m_settings, compressionVbrLevelOggEnc);
m_settings->compressionEncoder(SettingsModel::MP3Encoder);
ui->radioButtonEncoderMP3->setChecked(true);
QTimer::singleShot(0, this, SLOT(updateEncoder()));
}
}
// =========================================================
@ -4394,6 +4421,11 @@ void MainWindow::overwriteModeChanged(int id)
*/
void MainWindow::resetAdvancedOptionsButtonClicked(void)
{
if(m_settings->soundsEnabled())
{
PlaySound(MAKEINTRESOURCE(IDR_WAVE_BLAST), GetModuleHandle(NULL), SND_RESOURCE | SND_ASYNC);
}
ui->sliderLameAlgoQuality->setValue(m_settings->lameAlgoQualityDefault());
ui->spinBoxBitrateManagementMin->setValue(m_settings->bitrateManagementMinRateDefault());
ui->spinBoxBitrateManagementMax->setValue(m_settings->bitrateManagementMaxRateDefault());
@ -4409,6 +4441,7 @@ void MainWindow::resetAdvancedOptionsButtonClicked(void)
ui->comboBoxAftenDRCMode->setCurrentIndex(m_settings->aftenDynamicRangeCompressionDefault());
ui->comboBoxNormalizationMode->setCurrentIndex(m_settings->normalizationFilterEqualizationModeDefault());
ui->comboBoxOpusFramesize->setCurrentIndex(m_settings->opusFramesizeDefault());
SET_CHECKBOX_STATE(ui->checkBoxBitrateManagement, m_settings->bitrateManagementEnabledDefault());
SET_CHECKBOX_STATE(ui->checkBoxNeroAAC2PassMode, m_settings->neroAACEnable2PassDefault());
SET_CHECKBOX_STATE(ui->checkBoxNormalizationFilter, m_settings->normalizationFilterEnabledDefault());
@ -4418,6 +4451,7 @@ void MainWindow::resetAdvancedOptionsButtonClicked(void)
SET_CHECKBOX_STATE(ui->checkBoxRenameOutput, m_settings->renameOutputFilesEnabledDefault());
SET_CHECKBOX_STATE(ui->checkBoxForceStereoDownmix, m_settings->forceStereoDownmixDefault());
SET_CHECKBOX_STATE(ui->checkBoxOpusDisableResample, m_settings->opusDisableResampleDefault());
ui->lineEditCustomParamLAME->setText(m_settings->customParametersLAMEDefault());
ui->lineEditCustomParamOggEnc->setText(m_settings->customParametersOggEncDefault());
ui->lineEditCustomParamNeroAAC->setText(m_settings->customParametersAacEncDefault());
@ -4425,9 +4459,11 @@ void MainWindow::resetAdvancedOptionsButtonClicked(void)
ui->lineEditCustomParamOpus->setText(m_settings->customParametersFLACDefault());
ui->lineEditCustomTempFolder->setText(QDir::toNativeSeparators(m_settings->customTempPathDefault()));
ui->lineEditRenamePattern->setText(m_settings->renameOutputFilesPatternDefault());
if(m_settings->overwriteModeDefault() == SettingsModel::Overwrite_KeepBoth) ui->radioButtonOverwriteModeKeepBoth->click();
if(m_settings->overwriteModeDefault() == SettingsModel::Overwrite_SkipFile) ui->radioButtonOverwriteModeSkipFile->click();
if(m_settings->overwriteModeDefault() == SettingsModel::Overwrite_Replaces) ui->radioButtonOverwriteModeReplaces->click();
customParamsChanged();
ui->scrollArea->verticalScrollBar()->setValue(0);
}

View File

@ -158,7 +158,7 @@ private slots:
void toneAdjustTrebleChanged(double value);
void toneAdjustTrebleReset(void);
void updateBitrate(int value);
void updateEncoder(int id);
void updateEncoder(int id = 0);
void updateLameAlgoQuality(int value);
void updateMaximumInstances(int value);
void updateRCMode(int id);

View File

@ -200,9 +200,9 @@ SettingsModel::SettingsModel(void)
m_cacheDirty = new QSet<QString>();
//Create settings
m_settings = new QSettings(configPath, QSettings::IniFormat);
m_configFile = new QSettings(configPath, QSettings::IniFormat);
const QString groupKey = QString().sprintf("LameXP_%u%02u%05u", lamexp_version_major(), lamexp_version_minor(), lamexp_version_confg());
QStringList childGroups = m_settings->childGroups();
QStringList childGroups = m_configFile->childGroups();
//Clean-up settings
while(!childGroups.isEmpty())
@ -219,13 +219,13 @@ SettingsModel::SettingsModel(void)
}
}
qWarning("Deleting obsolete group from config: %s", current.toUtf8().constData());
REMOVE_GROUP(m_settings, current);
REMOVE_GROUP(m_configFile, current);
}
//Setup settings
m_settings->beginGroup(groupKey);
m_settings->setValue(g_settingsId_versionNumber, QApplication::applicationVersion());
m_settings->sync();
m_configFile->beginGroup(groupKey);
m_configFile->setValue(g_settingsId_versionNumber, QApplication::applicationVersion());
m_configFile->sync();
}
////////////////////////////////////////////////////////////
@ -239,7 +239,7 @@ SettingsModel::~SettingsModel(void)
LAMEXP_DELETE(m_cache);
LAMEXP_DELETE(m_cacheDirty);
LAMEXP_DELETE(m_cacheLock);
LAMEXP_DELETE(m_settings);
LAMEXP_DELETE(m_configFile);
LAMEXP_DELETE(m_defaultLanguage);
}
@ -467,7 +467,7 @@ QVariant SettingsModel::loadValue(const QString &key, const QVariant &defaultVal
if(!m_cache->contains(key))
{
const QVariant storedValue = m_settings->value(key, defaultValue);
const QVariant storedValue = m_configFile->value(key, defaultValue);
m_cache->insert(key, storedValue);
}
@ -480,15 +480,19 @@ void SettingsModel::flushValues(void)
if(!m_cacheDirty->isEmpty())
{
QHash<QString, QVariant>::ConstIterator iter;
for(iter = m_cache->constBegin(); iter != m_cache->constEnd(); iter++)
QSet<QString>::ConstIterator iter;
for(iter = m_cacheDirty->constBegin(); iter != m_cacheDirty->constEnd(); iter++)
{
if(m_cacheDirty->contains(iter.key()))
if(m_cache->contains(*iter))
{
m_settings->setValue(iter.key(), iter.value());
m_configFile->setValue((*iter), m_cache->value(*iter));
}
else
{
qWarning("Could not find '%s' in cache, but it has been marked as dirty!", (*iter).toUtf8().constData());
}
}
m_settings->sync();
m_configFile->sync();
m_cacheDirty->clear();
}
}

View File

@ -173,7 +173,7 @@ public:
void syncNow(void);
private:
QSettings *m_settings;
QSettings *m_configFile;
QHash<QString, QVariant> *m_cache;
QSet<QString> *m_cacheDirty;
QMutex *m_cacheLock;

View File

@ -34,6 +34,7 @@
#define IDR_WAVE_BEEP 673
#define IDR_WAVE_BEEP_LONG 674
#define IDR_WAVE_WAITING 675
#define IDR_WAVE_BLAST 676
/*
* Next default values for new objects