Correctly forward meta info to MP3 encoder and apply.
This commit is contained in:
parent
bfa197b020
commit
cffa6a2454
@ -25,7 +25,7 @@
|
|||||||
#define VER_LAMEXP_MAJOR 4
|
#define VER_LAMEXP_MAJOR 4
|
||||||
#define VER_LAMEXP_MINOR_HI 0
|
#define VER_LAMEXP_MINOR_HI 0
|
||||||
#define VER_LAMEXP_MINOR_LO 0
|
#define VER_LAMEXP_MINOR_LO 0
|
||||||
#define VER_LAMEXP_BUILD 51
|
#define VER_LAMEXP_BUILD 54
|
||||||
#define VER_LAMEXP_SUFFIX TechPreview
|
#define VER_LAMEXP_SUFFIX TechPreview
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -153,8 +153,10 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S
|
|||||||
metaDataView->verticalHeader()->setResizeMode(QHeaderView::ResizeToContents);
|
metaDataView->verticalHeader()->setResizeMode(QHeaderView::ResizeToContents);
|
||||||
metaDataView->verticalHeader()->hide();
|
metaDataView->verticalHeader()->hide();
|
||||||
metaDataView->horizontalHeader()->setResizeMode(QHeaderView::ResizeToContents);
|
metaDataView->horizontalHeader()->setResizeMode(QHeaderView::ResizeToContents);
|
||||||
|
while(writeMetaDataCheckBox->isChecked() != m_settings->writeMetaTags()) writeMetaDataCheckBox->click();
|
||||||
connect(buttonEditMeta, SIGNAL(clicked()), this, SLOT(editMetaButtonClicked()));
|
connect(buttonEditMeta, SIGNAL(clicked()), this, SLOT(editMetaButtonClicked()));
|
||||||
connect(buttonClearMeta, SIGNAL(clicked()), this, SLOT(clearMetaButtonClicked()));
|
connect(buttonClearMeta, SIGNAL(clicked()), this, SLOT(clearMetaButtonClicked()));
|
||||||
|
connect(writeMetaDataCheckBox, SIGNAL(clicked()), this, SLOT(metaTagsEnabledChanged()));
|
||||||
|
|
||||||
//Setup "Compression" tab
|
//Setup "Compression" tab
|
||||||
m_encoderButtonGroup = new QButtonGroup(this);
|
m_encoderButtonGroup = new QButtonGroup(this);
|
||||||
@ -1066,3 +1068,11 @@ void MainWindow::modelReset(void)
|
|||||||
{
|
{
|
||||||
m_dropNoteLabel->setVisible(m_fileListModel->rowCount() <= 0);
|
m_dropNoteLabel->setVisible(m_fileListModel->rowCount() <= 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Meta tags enabled changed
|
||||||
|
*/
|
||||||
|
void MainWindow::metaTagsEnabledChanged(void)
|
||||||
|
{
|
||||||
|
m_settings->writeMetaTags(writeMetaDataCheckBox->isChecked());
|
||||||
|
}
|
||||||
|
@ -78,6 +78,7 @@ private slots:
|
|||||||
void updateBitrate(int value);
|
void updateBitrate(int value);
|
||||||
void rowsChanged(const QModelIndex &parent, int start, int end);
|
void rowsChanged(const QModelIndex &parent, int start, int end);
|
||||||
void modelReset(void);
|
void modelReset(void);
|
||||||
|
void metaTagsEnabledChanged(void);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void showEvent(QShowEvent *event);
|
void showEvent(QShowEvent *event);
|
||||||
|
@ -43,9 +43,11 @@
|
|||||||
// Constructor
|
// Constructor
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
ProcessingDialog::ProcessingDialog(FileListModel *fileListModel, SettingsModel *settings)
|
ProcessingDialog::ProcessingDialog(FileListModel *fileListModel, AudioFileModel *metaInfo, SettingsModel *settings, QWidget *parent)
|
||||||
:
|
:
|
||||||
m_settings(settings)
|
QDialog(parent),
|
||||||
|
m_settings(settings),
|
||||||
|
m_metaInfo(metaInfo)
|
||||||
{
|
{
|
||||||
//Init the dialog, from the .ui file
|
//Init the dialog, from the .ui file
|
||||||
setupUi(this);
|
setupUi(this);
|
||||||
@ -91,6 +93,7 @@ ProcessingDialog::ProcessingDialog(FileListModel *fileListModel, SettingsModel *
|
|||||||
|
|
||||||
//Init other vars
|
//Init other vars
|
||||||
m_runningThreads = 0;
|
m_runningThreads = 0;
|
||||||
|
m_currentFile = 0;
|
||||||
m_userAborted = false;
|
m_userAborted = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -168,6 +171,7 @@ bool ProcessingDialog::eventFilter(QObject *obj, QEvent *event)
|
|||||||
void ProcessingDialog::initEncoding(void)
|
void ProcessingDialog::initEncoding(void)
|
||||||
{
|
{
|
||||||
m_runningThreads = 0;
|
m_runningThreads = 0;
|
||||||
|
m_currentFile = 0;
|
||||||
m_userAborted = false;
|
m_userAborted = false;
|
||||||
|
|
||||||
label_progress->setText("Encoding files, please wait...");
|
label_progress->setText("Encoding files, please wait...");
|
||||||
@ -177,7 +181,7 @@ void ProcessingDialog::initEncoding(void)
|
|||||||
button_AbortProcess->setEnabled(true);
|
button_AbortProcess->setEnabled(true);
|
||||||
progressBar->setRange(0, m_pendingJobs.count());
|
progressBar->setRange(0, m_pendingJobs.count());
|
||||||
|
|
||||||
startNextJob();
|
startNextJob(); //TODO: Start as many jobs in parallel as processors available
|
||||||
startNextJob();
|
startNextJob();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -240,7 +244,9 @@ void ProcessingDialog::startNextJob(void)
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_currentFile++;
|
||||||
|
AudioFileModel currentFile = updateMetaInfo(m_pendingJobs.takeFirst());
|
||||||
AbstractEncoder *encoder = NULL;
|
AbstractEncoder *encoder = NULL;
|
||||||
|
|
||||||
switch(m_settings->compressionEncoder())
|
switch(m_settings->compressionEncoder())
|
||||||
@ -257,7 +263,7 @@ void ProcessingDialog::startNextJob(void)
|
|||||||
throw "Unsupported encoder!";
|
throw "Unsupported encoder!";
|
||||||
}
|
}
|
||||||
|
|
||||||
ProcessThread *thread = new ProcessThread(m_pendingJobs.takeFirst(), m_settings->outputDir(), encoder);
|
ProcessThread *thread = new ProcessThread(currentFile, m_settings->outputDir(), encoder);
|
||||||
m_threadList.append(thread);
|
m_threadList.append(thread);
|
||||||
connect(thread, SIGNAL(finished()), this, SLOT(doneEncoding()), Qt::QueuedConnection);
|
connect(thread, SIGNAL(finished()), this, SLOT(doneEncoding()), Qt::QueuedConnection);
|
||||||
connect(thread, SIGNAL(processStateInitialized(QUuid,QString,QString,int)), m_progressModel, SLOT(addJob(QUuid,QString,QString,int)), Qt::QueuedConnection);
|
connect(thread, SIGNAL(processStateInitialized(QUuid,QString,QString,int)), m_progressModel, SLOT(addJob(QUuid,QString,QString,int)), Qt::QueuedConnection);
|
||||||
@ -266,6 +272,25 @@ void ProcessingDialog::startNextJob(void)
|
|||||||
thread->start();
|
thread->start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
AudioFileModel ProcessingDialog::updateMetaInfo(const AudioFileModel &audioFile)
|
||||||
|
{
|
||||||
|
if(!m_settings->writeMetaTags())
|
||||||
|
{
|
||||||
|
return AudioFileModel(audioFile.filePath());
|
||||||
|
}
|
||||||
|
|
||||||
|
AudioFileModel result = audioFile;
|
||||||
|
|
||||||
|
if(!m_metaInfo->fileArtist().isEmpty()) result.setFileArtist(m_metaInfo->fileArtist());
|
||||||
|
if(!m_metaInfo->fileAlbum().isEmpty()) result.setFileAlbum(m_metaInfo->fileAlbum());
|
||||||
|
if(!m_metaInfo->fileGenre().isEmpty()) result.setFileGenre(m_metaInfo->fileGenre());
|
||||||
|
if(m_metaInfo->fileYear()) result.setFileYear(m_metaInfo->fileYear());
|
||||||
|
if(m_metaInfo->filePosition()) result.setFileYear(m_metaInfo->filePosition() != UINT_MAX ? m_metaInfo->filePosition() : m_currentFile);
|
||||||
|
if(!m_metaInfo->fileComment().isEmpty()) result.setFileComment(m_metaInfo->fileComment());
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
void ProcessingDialog::setCloseButtonEnabled(bool enabled)
|
void ProcessingDialog::setCloseButtonEnabled(bool enabled)
|
||||||
{
|
{
|
||||||
HMENU hMenu = GetSystemMenu((HWND) winId(), FALSE);
|
HMENU hMenu = GetSystemMenu((HWND) winId(), FALSE);
|
||||||
|
@ -35,7 +35,7 @@ class ProcessingDialog : public QDialog, private Ui::ProcessingDialog
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ProcessingDialog(FileListModel *fileListModel, SettingsModel *settings);
|
ProcessingDialog(FileListModel *fileListModel, AudioFileModel *metaInfo, SettingsModel *settings, QWidget *parent = 0);
|
||||||
~ProcessingDialog(void);
|
~ProcessingDialog(void);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
@ -50,13 +50,17 @@ protected:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
void setCloseButtonEnabled(bool enabled);
|
void setCloseButtonEnabled(bool enabled);
|
||||||
void ProcessingDialog::startNextJob(void);
|
void startNextJob(void);
|
||||||
|
AudioFileModel updateMetaInfo(const AudioFileModel &audioFile);
|
||||||
|
|
||||||
|
|
||||||
QList<AudioFileModel> m_pendingJobs;
|
QList<AudioFileModel> m_pendingJobs;
|
||||||
SettingsModel *m_settings;
|
SettingsModel *m_settings;
|
||||||
|
AudioFileModel *m_metaInfo;
|
||||||
QList<ProcessThread*> m_threadList;
|
QList<ProcessThread*> m_threadList;
|
||||||
QMovie *m_progressIndicator;
|
QMovie *m_progressIndicator;
|
||||||
ProgressModel *m_progressModel;
|
ProgressModel *m_progressModel;
|
||||||
unsigned int m_runningThreads;
|
unsigned int m_runningThreads;
|
||||||
|
unsigned int m_currentFile;
|
||||||
bool m_userAborted;
|
bool m_userAborted;
|
||||||
};
|
};
|
||||||
|
@ -75,13 +75,18 @@ bool MP3Encoder::encode(const AudioFileModel &sourceFile, const QString &outputF
|
|||||||
|
|
||||||
if(!sourceFile.fileName().isEmpty()) args << (IS_UNICODE(sourceFile.fileName()) ? "--uTitle" : "--lTitle") << sourceFile.fileName();
|
if(!sourceFile.fileName().isEmpty()) args << (IS_UNICODE(sourceFile.fileName()) ? "--uTitle" : "--lTitle") << sourceFile.fileName();
|
||||||
if(!sourceFile.fileArtist().isEmpty()) args << (IS_UNICODE(sourceFile.fileArtist()) ? "--uArtist" : "--lArtist") << sourceFile.fileArtist();
|
if(!sourceFile.fileArtist().isEmpty()) args << (IS_UNICODE(sourceFile.fileArtist()) ? "--uArtist" : "--lArtist") << sourceFile.fileArtist();
|
||||||
|
if(!sourceFile.fileAlbum().isEmpty()) args << (IS_UNICODE(sourceFile.fileAlbum()) ? "--uAlbum" : "--lAlbum") << sourceFile.fileAlbum();
|
||||||
if(!sourceFile.fileGenre().isEmpty()) args << (IS_UNICODE(sourceFile.fileGenre()) ? "--uGenre" : "--lGenre") << sourceFile.fileGenre();
|
if(!sourceFile.fileGenre().isEmpty()) args << (IS_UNICODE(sourceFile.fileGenre()) ? "--uGenre" : "--lGenre") << sourceFile.fileGenre();
|
||||||
if(!sourceFile.fileComment().isEmpty()) args << (IS_UNICODE(sourceFile.fileComment()) ? "--uComment" : "--lComment") << sourceFile.fileComment();
|
if(!sourceFile.fileComment().isEmpty()) args << (IS_UNICODE(sourceFile.fileComment()) ? "--uComment" : "--lComment") << sourceFile.fileComment();
|
||||||
|
if(sourceFile.fileYear()) args << "--ty" << QString::number(sourceFile.fileYear());
|
||||||
|
if(sourceFile.filePosition()) args << "--tn" << QString::number(sourceFile.filePosition());
|
||||||
|
|
||||||
|
//args << "--tv" << QString().sprintf("Encoder=LameXP v%d.%02d.%04d [%s]", lamexp_version_major(), lamexp_version_minor(), lamexp_version_build(), lamexp_version_release());
|
||||||
|
|
||||||
args << QDir::toNativeSeparators(sourceFile.filePath());
|
args << QDir::toNativeSeparators(sourceFile.filePath());
|
||||||
args << QDir::toNativeSeparators(outputFile);
|
args << QDir::toNativeSeparators(outputFile);
|
||||||
|
|
||||||
process.start(lamexp_lookup_tool("lame.exe"), args);
|
process.start(m_binary, args);
|
||||||
if(!process.waitForStarted())
|
if(!process.waitForStarted())
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
|
@ -140,7 +140,7 @@ int lamexp_main(int argc, char* argv[])
|
|||||||
//Show processing dialog
|
//Show processing dialog
|
||||||
if(bAccepted && fileListModel->rowCount() > 0)
|
if(bAccepted && fileListModel->rowCount() > 0)
|
||||||
{
|
{
|
||||||
ProcessingDialog *processingDialog = new ProcessingDialog(fileListModel, settingsModel);
|
ProcessingDialog *processingDialog = new ProcessingDialog(fileListModel, metaInfo, settingsModel);
|
||||||
processingDialog->exec();
|
processingDialog->exec();
|
||||||
LAMEXP_DELETE(processingDialog);
|
LAMEXP_DELETE(processingDialog);
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QInputDialog>
|
#include <QInputDialog>
|
||||||
|
#include <QFileInfo>
|
||||||
|
|
||||||
#define MODEL_ROW_COUNT 12
|
#define MODEL_ROW_COUNT 12
|
||||||
|
|
||||||
@ -251,6 +252,13 @@ void MetaInfoModel::editItem(const QModelIndex &index, QWidget *parent)
|
|||||||
temp = QInputDialog::getText(parent, "Edit Title", "Please enter the title for this file:", QLineEdit::Normal, m_audioFile->fileName(), &ok).simplified();
|
temp = QInputDialog::getText(parent, "Edit Title", "Please enter the title for this file:", QLineEdit::Normal, m_audioFile->fileName(), &ok).simplified();
|
||||||
if(ok)
|
if(ok)
|
||||||
{
|
{
|
||||||
|
if(temp.isEmpty())
|
||||||
|
{
|
||||||
|
QMessageBox::warning(parent, "Edit Title", "The title must not be empty. Generating title from file name!");
|
||||||
|
temp = QFileInfo(m_audioFile->filePath()).completeBaseName().replace("_", " ").simplified();
|
||||||
|
int index = temp.lastIndexOf(" - ");
|
||||||
|
if(index >= 0) temp = temp.mid(index + 3).trimmed();
|
||||||
|
}
|
||||||
beginResetModel();
|
beginResetModel();
|
||||||
m_audioFile->setFileName(temp.isEmpty() ? QString() : temp);
|
m_audioFile->setFileName(temp.isEmpty() ? QString() : temp);
|
||||||
endResetModel();
|
endResetModel();
|
||||||
|
@ -36,11 +36,14 @@ static const char *g_settingsId_compressionEncoder = "Compression/Encoder";
|
|||||||
static const char *g_settingsId_compressionRCMode = "Compression/RCMode";
|
static const char *g_settingsId_compressionRCMode = "Compression/RCMode";
|
||||||
static const char *g_settingsId_compressionBitrate = "Compression/Bitrate";
|
static const char *g_settingsId_compressionBitrate = "Compression/Bitrate";
|
||||||
static const char *g_settingsId_outputDir = "OutputDirectory";
|
static const char *g_settingsId_outputDir = "OutputDirectory";
|
||||||
|
static const char *g_settingsId_writeMetaTags = "WriteMetaTags";
|
||||||
|
|
||||||
#define MAKE_GETTER(OPT,DEF) int SettingsModel::OPT(void) { return m_settings->value(g_settingsId_##OPT, DEF).toInt(); }
|
#define MAKE_GETTER1(OPT,DEF) int SettingsModel::OPT(void) { return m_settings->value(g_settingsId_##OPT, DEF).toInt(); }
|
||||||
#define MAKE_SETTER(OPT) void SettingsModel::OPT(int value) { m_settings->setValue(g_settingsId_##OPT, value); }
|
#define MAKE_SETTER1(OPT) void SettingsModel::OPT(int value) { m_settings->setValue(g_settingsId_##OPT, value); }
|
||||||
#define MAKE_GETTER2(OPT,DEF) QString SettingsModel::OPT(void) { return m_settings->value(g_settingsId_##OPT, DEF).toString().trimmed(); }
|
#define MAKE_GETTER2(OPT,DEF) QString SettingsModel::OPT(void) { return m_settings->value(g_settingsId_##OPT, DEF).toString().trimmed(); }
|
||||||
#define MAKE_SETTER2(OPT) void SettingsModel::OPT(const QString &value) { m_settings->setValue(g_settingsId_##OPT, value); }
|
#define MAKE_SETTER2(OPT) void SettingsModel::OPT(const QString &value) { m_settings->setValue(g_settingsId_##OPT, value); }
|
||||||
|
#define MAKE_GETTER3(OPT,DEF) bool SettingsModel::OPT(void) { return m_settings->value(g_settingsId_##OPT, DEF).toBool(); }
|
||||||
|
#define MAKE_SETTER3(OPT) void SettingsModel::OPT(bool value) { m_settings->setValue(g_settingsId_##OPT, value); }
|
||||||
|
|
||||||
const int SettingsModel::mp3Bitrates[15] = {32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, -1};
|
const int SettingsModel::mp3Bitrates[15] = {32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, -1};
|
||||||
|
|
||||||
@ -94,21 +97,23 @@ void SettingsModel::validate(void)
|
|||||||
// Getter and Setter
|
// Getter and Setter
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
MAKE_GETTER(licenseAccepted, 0)
|
MAKE_GETTER1(licenseAccepted, 0)
|
||||||
MAKE_SETTER(licenseAccepted)
|
MAKE_SETTER1(licenseAccepted)
|
||||||
|
|
||||||
MAKE_GETTER(interfaceStyle, 0)
|
MAKE_GETTER1(interfaceStyle, 0)
|
||||||
MAKE_SETTER(interfaceStyle)
|
MAKE_SETTER1(interfaceStyle)
|
||||||
|
|
||||||
MAKE_GETTER(compressionEncoder, 0)
|
MAKE_GETTER1(compressionEncoder, 0)
|
||||||
MAKE_SETTER(compressionEncoder)
|
MAKE_SETTER1(compressionEncoder)
|
||||||
|
|
||||||
MAKE_GETTER(compressionRCMode, 0)
|
MAKE_GETTER1(compressionRCMode, 0)
|
||||||
MAKE_SETTER(compressionRCMode)
|
MAKE_SETTER1(compressionRCMode)
|
||||||
|
|
||||||
MAKE_GETTER(compressionBitrate, 0)
|
MAKE_GETTER1(compressionBitrate, 0)
|
||||||
MAKE_SETTER(compressionBitrate)
|
MAKE_SETTER1(compressionBitrate)
|
||||||
|
|
||||||
MAKE_GETTER2(outputDir, QString())
|
MAKE_GETTER2(outputDir, QString())
|
||||||
MAKE_SETTER2(outputDir)
|
MAKE_SETTER2(outputDir)
|
||||||
|
|
||||||
|
MAKE_GETTER3(writeMetaTags, true)
|
||||||
|
MAKE_SETTER3(writeMetaTags)
|
||||||
|
@ -24,10 +24,12 @@
|
|||||||
class QSettings;
|
class QSettings;
|
||||||
class QString;
|
class QString;
|
||||||
|
|
||||||
#define MAKE_GETTER_DEC(OPT) int OPT(void)
|
#define MAKE_GETTER_DEC1(OPT) int OPT(void)
|
||||||
#define MAKE_SETTER_DEC(OPT) void OPT(int value)
|
#define MAKE_SETTER_DEC1(OPT) void OPT(int value)
|
||||||
#define MAKE_GETTER_DEC2(OPT) QString OPT(void)
|
#define MAKE_GETTER_DEC2(OPT) QString OPT(void)
|
||||||
#define MAKE_SETTER_DEC2(OPT) void OPT(const QString &value)
|
#define MAKE_SETTER_DEC2(OPT) void OPT(const QString &value)
|
||||||
|
#define MAKE_GETTER_DEC3(OPT) bool OPT(void)
|
||||||
|
#define MAKE_SETTER_DEC3(OPT) void OPT(bool value)
|
||||||
|
|
||||||
class SettingsModel
|
class SettingsModel
|
||||||
{
|
{
|
||||||
@ -55,21 +57,22 @@ public:
|
|||||||
static const int mp3Bitrates[15];
|
static const int mp3Bitrates[15];
|
||||||
|
|
||||||
//Getters
|
//Getters
|
||||||
MAKE_GETTER_DEC(licenseAccepted);
|
MAKE_GETTER_DEC1(licenseAccepted);
|
||||||
MAKE_GETTER_DEC(interfaceStyle);
|
MAKE_GETTER_DEC1(interfaceStyle);
|
||||||
MAKE_GETTER_DEC(compressionEncoder);
|
MAKE_GETTER_DEC1(compressionEncoder);
|
||||||
MAKE_GETTER_DEC(compressionRCMode);
|
MAKE_GETTER_DEC1(compressionRCMode);
|
||||||
MAKE_GETTER_DEC(compressionBitrate);
|
MAKE_GETTER_DEC1(compressionBitrate);
|
||||||
MAKE_GETTER_DEC2(outputDir);
|
MAKE_GETTER_DEC2(outputDir);
|
||||||
|
MAKE_GETTER_DEC3(writeMetaTags);
|
||||||
|
|
||||||
//Setters
|
//Setters
|
||||||
MAKE_SETTER_DEC(licenseAccepted);
|
MAKE_SETTER_DEC1(licenseAccepted);
|
||||||
MAKE_SETTER_DEC(interfaceStyle);
|
MAKE_SETTER_DEC1(interfaceStyle);
|
||||||
MAKE_SETTER_DEC(compressionBitrate);
|
MAKE_SETTER_DEC1(compressionBitrate);
|
||||||
MAKE_SETTER_DEC(compressionRCMode);
|
MAKE_SETTER_DEC1(compressionRCMode);
|
||||||
MAKE_SETTER_DEC(compressionEncoder);
|
MAKE_SETTER_DEC1(compressionEncoder);
|
||||||
MAKE_SETTER_DEC2(outputDir);
|
MAKE_SETTER_DEC2(outputDir);
|
||||||
|
MAKE_SETTER_DEC3(writeMetaTags);
|
||||||
|
|
||||||
void validate(void);
|
void validate(void);
|
||||||
|
|
||||||
@ -77,7 +80,9 @@ private:
|
|||||||
QSettings *m_settings;
|
QSettings *m_settings;
|
||||||
};
|
};
|
||||||
|
|
||||||
#undef MAKE_GETTER_DEC
|
#undef MAKE_GETTER_DEC1
|
||||||
#undef MAKE_SETTER_DEC
|
#undef MAKE_SETTER_DEC1
|
||||||
#undef MAKE_GETTER_DEC2
|
#undef MAKE_GETTER_DEC2
|
||||||
#undef MAKE_SETTER_DEC2
|
#undef MAKE_SETTER_DEC2
|
||||||
|
#undef MAKE_GETTER_DEC3
|
||||||
|
#undef MAKE_SETTER_DEC3
|
||||||
|
@ -165,7 +165,7 @@ void InitializationThread::initNeroAac(void)
|
|||||||
catch(...)
|
catch(...)
|
||||||
{
|
{
|
||||||
for(int i = 0; i < 3; i++) LAMEXP_DELETE(neroBin[i]);
|
for(int i = 0; i < 3; i++) LAMEXP_DELETE(neroBin[i]);
|
||||||
qWarning("Failed to lock Nero encoder binary -> AAC encoding support will be disabled!");
|
qWarning("Failed to get excluive lock to Nero encoder binary -> AAC encoding support will be disabled!");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -178,7 +178,6 @@ void InitializationThread::initNeroAac(void)
|
|||||||
{
|
{
|
||||||
qWarning("Nero process failed to create!");
|
qWarning("Nero process failed to create!");
|
||||||
qWarning("Error message: \"%s\"\n", process.errorString().toLatin1().constData());
|
qWarning("Error message: \"%s\"\n", process.errorString().toLatin1().constData());
|
||||||
qDebug("File '%s' does exist?\n%s!\n", neroFileInfo[0].canonicalFilePath().toUtf8().constData(), (neroFileInfo[0].exists() ? "Yes, it still exists" : "Nope, it disappeared"));
|
|
||||||
process.kill();
|
process.kill();
|
||||||
process.waitForFinished(-1);
|
process.waitForFinished(-1);
|
||||||
for(int i = 0; i < 3; i++) LAMEXP_DELETE(neroBin[i]);
|
for(int i = 0; i < 3; i++) LAMEXP_DELETE(neroBin[i]);
|
||||||
|
Loading…
Reference in New Issue
Block a user