C06N%&-fQe}g3O#d~eG
z5?p%Bn>IHwb7;D-O1<=%j%VpIRM)Y0LhAm&*q7*u@CmIw!bH~3UO8L8*oNWhCZ9!%
zVsd}jb2&8jjHssY1}!I~c+a5At(XDVqxXV$tvS!_xEi042?4toH+x6CtGvo*pKmQ#
z4F=wZ*ep9=zdqSwxJN~??8vdX%;|v`Y!(K7?ZQY>VCHXxu?feg``%NL{d=Ye_gQX^
zNV7HBb*slylxns62>Y4=ipH#e=>vR$Ji?`BtkH~YhVK74_IPM?%eXzvs{iXG?OOM{
z5&SdHPUWY!AuKi1?Zmz5W>mMcVdF9$+w9eBzsW1$L3)di6PkQ2$-vOQv|&AEIadiwAnw0P1fKdd1BB
z06?rhcu-Mv;M-9W^73_FrCll|&l`HS$}?cuIDSVWKW5+N>k1Os=4L!L6-
zcn!)}>%1_SQKgnI^gB?&=QalKigqizbc)NxV1I63E^VPyUwmk1_oVpF_hA@ps!n2;
zbHgtm)Ib`N2p#}xkS$#+@pt|x01#!Y^GK}#E&
zr?Xam%95u-q`2
zdVHEiK%+dW%*z*YS}lTd$aXbnZ9;_v$vKAsk3-&T(;K~ab}hWEw|E;>@0yk@TU2R0
zM_*eEtKSe!m5IsX_KUM^L}?nLpY7Owo5tQC-&EwlZ97wEx`t}eY1;o$Gq8*g=j$)}oFG4ZjrVy;Wl_Bx^C{P{ACJN|gZ
z=e3H{&7t<6rl=^^A@X==xn4Y$n={C>xK?D
ziHdt~y2O8O!u{^uPj~1N3bVpYOjcRSj+nX!@hp~>8KqgO?4rkSX|(ZgTR5tkFS}5?
zJTv(wJkjMlCZxm+SSpnn#_lLH$07ttJh5o8U=fbTCWvNot-%^m7s6?3NYc(_E*)$F
zeWiTUkDosn1!(KM(+OHxQR(rK*_D@=eL!camA#mywAq5W&qseqtZtn_k(TQo`5#?)gMASnQ>0a
zOjpeli}~~82h$UvTux+2gvdj>YDv2Fm4K_3oP4U{r@fe+Ss7x2kgb)_lDa?xPJHTy
zB8gfY-5fd=MM@Nm&)@OCxt_rJNWMn8Q)&=tgT4{b(Q?A*&A}jipb>F*hT{6=iLr4}
zLV7ytF=8KsPSi1^IQ+FC#$WI(3Bc>Sk_HzD@Q)qWl
zWNV+F@{B3F-1gy_asTR_p`P1Fa`%$Q;i4W&tlh6%Bz#>mEDvgyG%X*3FwTBo@8k8kd|=bZ1H@0>Gykh{^w
zz2Vss2LvwT|Hs%$uo3tVBimNcnFg$j2Ym06O$P)A07(O6D+E%;fxKBDdlIny2LAB7
zK*l2YcU~lW0r*dOz$$~EAuP6nzZ^u^3I56hV8a504c`J=w_k;jm`;i3Ae3AHN_rsF
zybfe`L+F_R%IN?5Rv;@F!Uy4i-zPYtREyZwyBpZug4F$bfO~ocosCHCh@mpFkk(cTcwIvF7FWQ{13TIW0lUO33S){b
z3ie+UsN17(4E+T-&ZDa4DWX}A+J~Efx*VM7JV(X)W9i08;5m~*eLI%AzN~nxIUn#G
zRTT7}04guC358LU*QHo!j|OtSXSWrJ`br%)ut`n&Epp@Y^MJ09`*Pd>)Gjg$XL2ub
zQ(C;Q0eh2`T^S9eL;~yP{B;SuTt5K#c=FGrQn1F!ra6PY;vv3&tR2{NlOGPABAKlG
za40pBpUlFQCayYx*_1}Ty-wik4*{Wj1mBOmi8)>HT_Aa^TiKw}$d#^Q(@K-RCR|iq
zC$F+rQQb`kW-upj
zXequRDQifY+^;0@4o$+RTJj3(0V0+p@1rE;qvs{V{6(PXz7*O)66=nw;N~#Ne4Lih
z{)J?oBbvr0$(maZG&m&Z>?NSwO{y1&u5nCiY{~>o{Zd=PPNF?1js0n$BAcY?rDZ&V
z+)nA%*RKGpk4twx3FmSegELHFiIi?z4^E*&sQ%hYm
zK+6;AuzTbb*rzU7cNUO;P&b^qPV9NCTQIs8WvX8rodEm?SFqv=n-i20PMS!x5H=yj=$)f3zr@x8Av#x|(0Do?Vv1Q*
zTev29q+Ru6&d8hAbHd0Tdw`2{#$YeOxY)BDMqEStktR2NX_aIosU)g!%i9=d-4
D&qhPg
delta 1449
zcmZXTdr(wm7{;GHdoFu}aSc=!*wsc>6xi{CK|+G9fUa^!ZsW3x35&R}xLiyjDXo!k
zP4RP`&}tmONM$CcrKEDAF&rCHsI-ftH8eGuj<+b(Y`|XIKbqkD^P6+d^S#&SyV=6^
z?BezYHP-;MAL8G~xSbFKJZ5~0pVcM695WF17k$$Lku!m`F8WpqSOx&wd?4>E;79_0
z;2j|AKKQq{0M@N4HWhcRZ8A1FF{CDF()Ch#AOTe?)S0JQjQs7|-<)2WX
zI}qHj0y$m?ub%-nE`)I04&+8cII$QAzYO8iGGJC8gds{?9niAy3Jq@ed*8$Ici}V+D0Jp-=>Rm|pETuAXksp|s`Q7IRZrlL0rQGKOdWtHs
zHJoXx!y#W2@*}XNNWL#?D^Piec{xLKJ+E%)0z!lMRq1qCRmJac?FS0J=XbQ!0doiW
z)*>GelIy2l;it>MclNge3-0j8U!zv6pApB2e-a-7B@z7bJ#u0`Q6%mpDu{i2Pvkk8
zyPfZerpa)&!)%N*aqc`8BRA?Qz7Y5ZN*}#h2>T#}ddU>RMrh!r?W{^}@B9N0mEIodFC-{B&JoULj*i?TGS`MB@49
z{IuUvEjgS8tQS>Df#mn8X?`xeqe=^HrygdjR^B}dY}&=bMH9Da1xpu=y2b&OFQNo!
zIG{S^A&=N9RRiP6bk~$@w`j=DP%loT%@!1@Q+0EJd8z91$gj!ltJF1H`vJQ`y)Akh
z-KAc2r_ut%C1}KhDRf8lnmFACAmF4Xuap?ltts;SLg#ifK{BeGO3lz4ba8DL*ak9Tzgkll*La47;
zakU^^gJp1{4pB%&EO`LoudnessCorrectionFilterGUI
-
+ Attenuation:Abschwächung:
-
+ Reference offset:Referenzversatz:
@@ -924,19 +924,19 @@ Change the file permissions or copy the file to the config directory.
Gesamtlautstärke:
-
+ contributed by
Alexander Walchbeigetragen durch
Alexander Walch
-
+ Loudness correction:Lautheitskorrektur:
-
+ CalibrateKalibrieren
@@ -1038,30 +1038,30 @@ Alexander Walch
Bearbeiten
-
+ ViewAnsicht
-
-
+
+ SettingsEinstellungen
-
+ LanguageSprache
-
-
+
+ ToolbarWerkzeugleiste
-
-
+
+ Analysis panelAnalysepanel
@@ -1070,143 +1070,141 @@ Alexander Walch
FFT-Auflösung:
-
+ Resolution:Auflösung:
-
+ Channel:Kanal:
-
+ Start from:Beginne bei:
-
+ Current fileAktuelle Datei
-
+ Estimated propertiesGeschätzte Eigenschaften
-
+ CPU usage:CPU-Last:
-
+ Init. time:Init.-Zeit:
-
+ Latency: Latenz:
-
+ Peak gain:Maximum:
-
+ NewNeu
- Ctrl+N
- Ctrl+N
+ Ctrl+N
-
-
+
+ OpenÖffnen
- Ctrl+O
- Ctrl+O
+ Ctrl+O
-
-
+
+ SaveSpeichern
- Ctrl+S
- Ctrl+S
+ Ctrl+S
-
-
+
+ Save as...Speichern unter...
-
+ ExitBeenden
- Alt+F4
- Alt+F4
+ Alt+F4
-
+ CutAusschneiden
- Ctrl+X
- Ctrl+X
+ Ctrl+X
-
+ CopyKopieren
- Ctrl+C
- Ctrl+C
+ Ctrl+C
-
+ PasteEinfügen
- Ctrl+V
- Ctrl+V
+ Ctrl+V
-
+ DeleteLöschen
-
+ Reset all global preferencesAlle globalen Einstellungen zurücksetzen
-
+ Reset all file-specific preferencesAlle dateispezifischen Einstellungen zurücksetzen
+
+
+ Select all
+ Alles auswählen
+ Equalizer APO %0 Configuration Editor
@@ -1328,7 +1326,7 @@ Möchten Sie die Configurator-Anwendung starten, um das Problem zu beheben?Von Gerät
-
+ %0 dB%0 dB
@@ -1337,7 +1335,7 @@ Möchten Sie die Configurator-Anwendung starten, um das Problem zu beheben?%0 ms (%1 Samp.)
-
+ %0 ms (%1 s.)%0 ms (%1 S.)
@@ -1346,46 +1344,46 @@ Möchten Sie die Configurator-Anwendung starten, um das Problem zu beheben?%0 ms (%1 Samples)
-
+ %0 ms%0 ms
-
+ %0 % (one core)%0 % (ein Kern)
-
-
-
+
+
+ Restart requiredNeustart erforderlich
-
-
-
+
+
+ Configuration Editor will be restarted to apply the changed settings. Proceed?Konfigurationseditor wird neugestartet, um die geänderten Einstellungen zu übernehmen. Fortsetzen?
-
+ Unsaved changesUngespeicherte Änderungen
-
+ The configuration file %0 has unsaved changes.Die Konfigurationsdatei %0 hat ungespeicherte Änderungen.
-
+ Do you want to save the changes before closing the file?Möchten Sie die Änderungen speichern, bevor die Datei geschlossen wird?
-
+ Open fileDatei öffnen
@@ -1395,18 +1393,18 @@ Möchten Sie die Configurator-Anwendung starten, um das Problem zu beheben?Automatisch (%0)
-
-
+
+ E-APO configurations (*.txt)E-APO-Konfigurationen (*.txt)
-
+ Save file asDatei speichern unter
-
+ UnsavedUngespeichert
@@ -1655,12 +1653,12 @@ Möchten Sie die Configurator-Anwendung starten, um das Problem zu beheben?VST-Plugins (*.dll)
-
+ Plugin crashed when opening panel.Plugin ist beim Öffnen des Panels abgestürzt.
-
+ The library is not readable by the audio service.
Change the file permissions or copy the file to the VSTPlugins directory.Die Bibliothek ist für den Audiodienst nicht lesbar.
@@ -1673,7 +1671,7 @@ Change the file permissions or copy the file to the plugins directory.
Ändern Sie die Dateiberechtigungen oder kopieren Sie die Datei in das plugins-Verzeichnis.
-
+ The plugin seemingly accesses these files not readable by the audio service:
%0
Change the file permissions or copy the files to the config directory.
diff --git a/Editor/widgets/MiddleClickTabBar.cpp b/Editor/widgets/MiddleClickTabBar.cpp
new file mode 100644
index 0000000..ece0ee7
--- /dev/null
+++ b/Editor/widgets/MiddleClickTabBar.cpp
@@ -0,0 +1,42 @@
+/*
+ This file is part of Equalizer APO, a system-wide equalizer.
+ Copyright (C) 2017 Jonas Thedering
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+*/
+
+#include
+
+#include "MiddleClickTabBar.h"
+
+MiddleClickTabBar::MiddleClickTabBar(QWidget* parent)
+ : QTabBar(parent)
+{
+}
+
+void MiddleClickTabBar::mouseReleaseEvent(QMouseEvent* event)
+{
+ if (event->button() == Qt::MidButton)
+ {
+ int tabIndex = tabAt(event->pos());
+ if (tabIndex != -1)
+ {
+ emit tabCloseRequested(tabIndex);
+ return;
+ }
+ }
+
+ QTabBar::mouseReleaseEvent(event);
+}
diff --git a/Editor/widgets/MiddleClickTabBar.h b/Editor/widgets/MiddleClickTabBar.h
new file mode 100644
index 0000000..29f4841
--- /dev/null
+++ b/Editor/widgets/MiddleClickTabBar.h
@@ -0,0 +1,31 @@
+/*
+ This file is part of Equalizer APO, a system-wide equalizer.
+ Copyright (C) 2017 Jonas Thedering
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+*/
+
+#pragma once
+
+#include
+
+class MiddleClickTabBar : public QTabBar
+{
+public:
+ MiddleClickTabBar(QWidget* parent = NULL);
+
+protected:
+ void mouseReleaseEvent(QMouseEvent* event) override;
+};
diff --git a/Editor/widgets/MiddleClickTabWidget.cpp b/Editor/widgets/MiddleClickTabWidget.cpp
new file mode 100644
index 0000000..ee57ba3
--- /dev/null
+++ b/Editor/widgets/MiddleClickTabWidget.cpp
@@ -0,0 +1,27 @@
+/*
+ This file is part of Equalizer APO, a system-wide equalizer.
+ Copyright (C) 2017 Jonas Thedering
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+*/
+
+#include "MiddleClickTabBar.h"
+#include "MiddleClickTabWidget.h"
+
+MiddleClickTabWidget::MiddleClickTabWidget(QWidget* parent)
+ : QTabWidget(parent)
+{
+ setTabBar(new MiddleClickTabBar(this));
+}
diff --git a/Editor/widgets/MiddleClickTabWidget.h b/Editor/widgets/MiddleClickTabWidget.h
new file mode 100644
index 0000000..babeef0
--- /dev/null
+++ b/Editor/widgets/MiddleClickTabWidget.h
@@ -0,0 +1,28 @@
+/*
+ This file is part of Equalizer APO, a system-wide equalizer.
+ Copyright (C) 2017 Jonas Thedering
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+*/
+
+#pragma once
+
+#include
+
+class MiddleClickTabWidget : public QTabWidget
+{
+public:
+ MiddleClickTabWidget(QWidget* parent = NULL);
+};