Improved: The Configuration Editor now saves most of its state (window positions, open files, etc.) when closing and restores it when run again.
Fixed: The GUI for the Copy command was behaving incorrectly when channels were selected by number instead of name. Fixed: When the processing caused delay (e.g. via Delay command), the remaining audio was not output when the input signal became silence (e.g. pausing a music player), but only when the silence ended. Fixed: The checks for missing registry values in Configuration Editor/Configurator should now be sufficient to reanimate E-APO after an OS upgrade. Also the Configurator did not launch when accepting the question in the Configuration Editor with UAC enabled.
This commit is contained in:
1 parent
0895d84055
commit
a1be4cc70f
32 files changed
+1111
-205
No files matched your search
@@ -69,6 +69,16 @@ void CommentFilterGUI::store(QString& command, QString& parameters)
|
||||
command = "# " + command;
|
||||
}
|
||||
|
||||
void CommentFilterGUI::loadPreferences(const QVariantMap& prefs)
|
||||
{
|
||||
child->loadPreferences(prefs);
|
||||
}
|
||||
|
||||
void CommentFilterGUI::storePreferences(QVariantMap& prefs)
|
||||
{
|
||||
child->storePreferences(prefs);
|
||||
}
|
||||
|
||||
void CommentFilterGUI::on_actionPowerOn_toggled(bool checked)
|
||||
{
|
||||
child->setEnabled(checked);
|
||||
|
||||
@@ -36,6 +36,9 @@ public:
|
||||
void configureChannels(std::vector<std::wstring>& channelNames) override;
|
||||
void store(QString& command, QString& parameters) override;
|
||||
|
||||
void loadPreferences(const QVariantMap& prefs) override;
|
||||
void storePreferences(QVariantMap& prefs) override;
|
||||
|
||||
private slots:
|
||||
void on_actionPowerOn_toggled(bool checked);
|
||||
|
||||
|
||||
@@ -23,6 +23,8 @@
|
||||
#include "CopyFilterGUI.h"
|
||||
#include "ui_CopyFilterGUI.h"
|
||||
|
||||
static const int DEFAULT_HEIGHT = 88;
|
||||
|
||||
using namespace std;
|
||||
|
||||
CopyFilterGUI::CopyFilterGUI(CopyFilter* filter, FilterTable* filterTable) :
|
||||
@@ -42,7 +44,7 @@ CopyFilterGUI::CopyFilterGUI(CopyFilter* filter, FilterTable* filterTable) :
|
||||
return QSize(0, ui->scrollArea->height());
|
||||
},
|
||||
[this](QSize size) {
|
||||
ui->scrollArea->setMinimumHeight(size.height());
|
||||
ui->scrollArea->setFixedHeight(size.height());
|
||||
}, ui->scrollArea);
|
||||
cornerWidget->setCursor(Qt::SizeVerCursor);
|
||||
cornerWidget->setAutoFillBackground(true);
|
||||
@@ -162,3 +164,17 @@ void CopyFilterGUI::store(QString& command, QString& parameters)
|
||||
scene->load(inputChannelNames, assignments);
|
||||
}
|
||||
}
|
||||
|
||||
void CopyFilterGUI::loadPreferences(const QVariantMap& prefs)
|
||||
{
|
||||
ui->scrollArea->setFixedHeight(prefs.value("height", DEFAULT_HEIGHT).toInt());
|
||||
ui->tabWidget->setCurrentIndex(prefs.value("tabIndex", 0).toInt());
|
||||
}
|
||||
|
||||
void CopyFilterGUI::storePreferences(QVariantMap& prefs)
|
||||
{
|
||||
if(ui->scrollArea->height() != DEFAULT_HEIGHT)
|
||||
prefs.insert("height", ui->scrollArea->height());
|
||||
if(ui->tabWidget->currentIndex() != 0)
|
||||
prefs.insert("tabIndex", ui->tabWidget->currentIndex());
|
||||
}
|
||||
@@ -40,6 +40,9 @@ public:
|
||||
|
||||
void store(QString& command, QString& parameters) override;
|
||||
|
||||
void loadPreferences(const QVariantMap& prefs) override;
|
||||
void storePreferences(QVariantMap& prefs) override;
|
||||
|
||||
private:
|
||||
Ui::CopyFilterGUI *ui;
|
||||
CopyFilterGUIScene* scene;
|
||||
|
||||
@@ -48,7 +48,7 @@ void CopyFilterGUIScene::load(const vector<wstring>& channelNames, vector<Assign
|
||||
addItem(inputItem);
|
||||
|
||||
inputChannelMap.insert(c, inputItem);
|
||||
inputChannelMap.insert(QString().setNum(i), inputItem);
|
||||
inputChannelMap.insert(QString().setNum(i + 1), inputItem);
|
||||
lastInputItem = inputItem;
|
||||
|
||||
CopyFilterGUIChannelItem* outputItem = new CopyFilterGUIChannelItem(c, true);
|
||||
@@ -56,7 +56,7 @@ void CopyFilterGUIScene::load(const vector<wstring>& channelNames, vector<Assign
|
||||
addItem(outputItem);
|
||||
|
||||
outputChannelMap.insert(c, outputItem);
|
||||
outputChannelMap.insert(QString().setNum(i), outputItem);
|
||||
outputChannelMap.insert(QString().setNum(i + 1), outputItem);
|
||||
lastOutputItem = outputItem;
|
||||
}
|
||||
|
||||
@@ -212,6 +212,8 @@ void CopyFilterGUIScene::keyPressEvent(QKeyEvent* event)
|
||||
emit updateModel();
|
||||
emit updateChannels();
|
||||
}
|
||||
|
||||
QGraphicsScene::keyPressEvent(event);
|
||||
else
|
||||
{
|
||||
QGraphicsScene::keyPressEvent(event);
|
||||
}
|
||||
}
|
||||
@@ -29,6 +29,9 @@
|
||||
#include "GraphicEQFilterGUI.h"
|
||||
#include "ui_GraphicEQFilterGUI.h"
|
||||
|
||||
static const int DEFAULT_TABLE_WIDTH = 119;
|
||||
static const int DEFAULT_VIEW_HEIGHT = 150;
|
||||
|
||||
using namespace std;
|
||||
|
||||
QRegularExpression GraphicEQFilterGUI::numberRegEx("[-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?");
|
||||
@@ -51,7 +54,6 @@ GraphicEQFilterGUI::GraphicEQFilterGUI(GraphicEQFilter* filter, QString configPa
|
||||
ui->graphicsView->setFixedHeight(size.height());
|
||||
}, ui->graphicsView);
|
||||
ui->graphicsView->setCornerWidget(cornerWidget);
|
||||
ui->graphicsView->setFixedHeight(150);
|
||||
|
||||
ui->toolBar->addAction(ui->actionImport);
|
||||
ui->toolBar->addAction(ui->actionExport);
|
||||
@@ -105,6 +107,39 @@ void GraphicEQFilterGUI::store(QString & command, QString & parameters)
|
||||
}
|
||||
}
|
||||
|
||||
void GraphicEQFilterGUI::loadPreferences(const QVariantMap& prefs)
|
||||
{
|
||||
ui->tableWidget->setFixedWidth(prefs.value("tableWidth", DEFAULT_TABLE_WIDTH).toInt());
|
||||
ui->graphicsView->setFixedHeight(prefs.value("viewHeight", DEFAULT_VIEW_HEIGHT).toInt());
|
||||
double zoomX = prefs.value("zoomX", 1.0).toDouble();
|
||||
double zoomY = prefs.value("zoomY", 1.0).toDouble();
|
||||
if(zoomX != 1.0 || zoomY != 1.0)
|
||||
scene->setZoom(zoomX, zoomY);
|
||||
int scrollX = prefs.value("scrollX", round(scene->hzToX(20))).toInt();
|
||||
int scrollY = prefs.value("scrollY", round(scene->dbToY(22))).toInt();
|
||||
ui->graphicsView->setScrollOffsets(scrollX, scrollY);
|
||||
}
|
||||
|
||||
void GraphicEQFilterGUI::storePreferences(QVariantMap& prefs)
|
||||
{
|
||||
if(ui->tableWidget->width() != DEFAULT_TABLE_WIDTH)
|
||||
prefs.insert("tableWidth", ui->tableWidget->width());
|
||||
if(ui->graphicsView->height() != DEFAULT_VIEW_HEIGHT)
|
||||
prefs.insert("viewHeight", ui->graphicsView->height());
|
||||
if(scene->getZoomX() != 1.0)
|
||||
prefs.insert("zoomX", scene->getZoomX());
|
||||
if(scene->getZoomY() != 1.0)
|
||||
prefs.insert("zoomY", scene->getZoomY());
|
||||
QScrollBar* hScrollBar = ui->graphicsView->horizontalScrollBar();
|
||||
int value = hScrollBar->value();
|
||||
if(value != round(scene->hzToX(20)))
|
||||
prefs.insert("scrollX", value);
|
||||
QScrollBar* vScrollBar = ui->graphicsView->verticalScrollBar();
|
||||
value = vScrollBar->value();
|
||||
if(value != round(scene->dbToY(22)))
|
||||
prefs.insert("scrollY", value);
|
||||
}
|
||||
|
||||
void GraphicEQFilterGUI::insertRow(int index, double hz, double db)
|
||||
{
|
||||
ui->tableWidget->blockSignals(true);
|
||||
|
||||
@@ -41,6 +41,9 @@ public:
|
||||
|
||||
void store(QString& command, QString& parameters) override;
|
||||
|
||||
void loadPreferences(const QVariantMap& prefs) override;
|
||||
void storePreferences(QVariantMap& prefs) override;
|
||||
|
||||
private slots:
|
||||
void insertRow(int index, double hz, double db);
|
||||
void removeRow(int index);
|
||||
|
||||
Reference in new issue
Block a user