]> git.sesse.net Git - kdenlive/blobdiff - src/vectorscope.cpp
Add audio balance and pan effects.
[kdenlive] / src / vectorscope.cpp
index 01a41d4dd6ff187a50372b510a780c47e4c4b827..c25ef10d9d41e4cd294dfaea3d8c5b64deaa1a10 100644 (file)
@@ -48,8 +48,6 @@ Vectorscope::Vectorscope(Monitor *projMonitor, Monitor *clipMonitor, QWidget *pa
     ui = new Ui::Vectorscope_UI();
     ui->setupUi(this);
 
-    //TODO don't draw circle when mouseLeaved
-
     m_colorTools = new ColorTools();
     m_colorPlaneExport = new ColorPlaneExport(this);
     m_vectorscopeGenerator = new VectorscopeGenerator();
@@ -100,10 +98,14 @@ Vectorscope::Vectorscope(Monitor *projMonitor, Monitor *clipMonitor, QWidget *pa
 
     this->setMouseTracking(true);
     slotGainChanged(ui->sliderGain->value());
+
+    init();
 }
 
 Vectorscope::~Vectorscope()
 {
+    writeConfig();
+
     delete m_colorTools;
     delete m_colorPlaneExport;
     delete m_vectorscopeGenerator;
@@ -115,6 +117,29 @@ Vectorscope::~Vectorscope()
 
 QString Vectorscope::widgetName() const { return QString("Vectorscope"); }
 
+void Vectorscope::readConfig()
+{
+    AbstractScopeWidget::readConfig();
+
+    KSharedConfigPtr config = KGlobal::config();
+    KConfigGroup scopeConfig(config, configName());
+    m_a75PBox->setChecked(scopeConfig.readEntry("75PBox", false));
+    m_aAxisEnabled->setChecked(scopeConfig.readEntry("axis", false));
+    ui->backgroundMode->setCurrentIndex(scopeConfig.readEntry("backgroundmode").toInt());
+    ui->paintMode->setCurrentIndex(scopeConfig.readEntry("paintmode").toInt());
+}
+
+void Vectorscope::writeConfig()
+{
+    KSharedConfigPtr config = KGlobal::config();
+    KConfigGroup scopeConfig(config, configName());
+    scopeConfig.writeEntry("75PBox", m_a75PBox->isChecked());
+    scopeConfig.writeEntry("axis", m_aAxisEnabled->isChecked());
+    scopeConfig.writeEntry("backgroundmode", ui->backgroundMode->currentIndex());
+    scopeConfig.writeEntry("paintMode", ui->paintMode->currentIndex());
+    scopeConfig.sync();
+}
+
 QRect Vectorscope::scopeRect()
 {
     // Distance from top/left/right
@@ -174,7 +199,11 @@ QImage Vectorscope::renderHUD(uint)
             davinci.setPen(penLight);
             break;
         default:
-            davinci.setPen(penDark);
+            if (r > cw/2) {
+                davinci.setPen(penLight);
+            } else {
+                davinci.setPen(penDark);
+            }
             break;
         }
         davinci.drawEllipse(m_centerPoint, (int)r, (int)r);
@@ -209,10 +238,7 @@ QImage Vectorscope::renderScope(uint accelerationFactor, QImage qimage)
     }
 
     unsigned int mseconds = start.msecsTo(QTime::currentTime());
-//    qDebug() << "Scope rendered in " << mseconds << " ms. Sending finished signal.";
-//    emit signalScopeCalculationFinished(mseconds, skipPixels);
     emit signalScopeRenderingFinished(mseconds, accelerationFactor);
-//    qDebug() << "xxScope: Signal finished sent.";
     return scope;
 }