Skip to content

Commit a99b8db

Browse files
authored
Bugfix: Fix comb-filter effect on oversampled dry/wet; Fix link-in-out knob positioning; Fix oversampled filter artefacts (#100)
* Fix oversampling issues and refactor DSP * Fix bypass * Fix linkinout position * Fix link-in-out * Simplify clipper - remove block * Prettify namespaces * Proper Clipper cpp split * Update dry/wet position; Update screenshots * Remove switch simplification to support Linux build * Exclude filtering for non-oversampled signal * Use default mixing rule * Prototype dry wet on whole section * Fix comb filter effect * Fix position of dry/wet knob * Fix Level Meter magnitude calculation * Use FIR and report latency to the DAW * Use cross platform find_max stl function * Bring back lowest possible macos compatible version * Bring back test folder
1 parent 4b97124 commit a99b8db

File tree

99 files changed

+1596
-2297
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

99 files changed

+1596
-2297
lines changed

.vscode/settings.json

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,13 @@
9090
"forward_list": "cpp",
9191
"regex": "cpp",
9292
"valarray": "cpp",
93-
"random": "cpp"
93+
"random": "cpp",
94+
"*.mm": "cpp",
95+
"any": "cpp",
96+
"charconv": "cpp",
97+
"format": "cpp",
98+
"__std_stream": "cpp",
99+
"iterator": "cpp"
94100
},
95101
"[python]": {
96102
"editor.defaultFormatter": "ms-python.black-formatter"
@@ -146,9 +152,13 @@
146152
"bindirs",
147153
"buildenv",
148154
"cmaketoolchain",
155+
"cmpf",
149156
"codesign",
150157
"cppstd",
158+
"DBFS",
159+
"Downsample",
151160
"hexlabs",
161+
"jassert",
152162
"juce",
153163
"killall",
154164
"libc",
@@ -158,21 +168,26 @@
158168
"mmacosx",
159169
"msvc",
160170
"notarytool",
171+
"Nyquist",
172+
"oversampled",
161173
"peakeater",
174+
"PLOGD",
162175
"pluginval",
176+
"Polyphase",
163177
"resdirs",
164178
"ULFO",
179+
"Upsample",
165180
"vvvar",
166181
"xcrun",
167182
"zfile",
168183
"zipresp"
169184
],
170-
"sonarlint.pathToCompileCommands": "${workspaceFolder}/build/Debug/compile_commands.json",
171185
// Bandaid because occasinally git is not added to the Path which breaks just
172186
// Keep untill this resolved - https://github.com/casey/just/issues/1517
173187
// VS Code-only since it is installation issue which works fine on a CI
174188
"terminal.integrated.env.windows": {
175189
"Path": "${env:Path};C:\\Program Files\\Git\\bin"
176190
},
177-
"terminal.integrated.scrollback": 999999999999
191+
"terminal.integrated.scrollback": 999999999999,
192+
"sonarlint.pathToCompileCommands": "${workspaceFolder}/build/Release/compile_commands.json"
178193
}

CMakeLists.txt

Lines changed: 36 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -29,36 +29,45 @@ juce_add_plugin(${CMAKE_PROJECT_NAME}
2929

3030
target_sources(${CMAKE_PROJECT_NAME}
3131
PRIVATE
32-
source/GUIv2/clipmeter/ClipMeter.cpp
33-
source/GUIv2/editableparameter/EditableParameterComponentLookAndFeel.cpp
34-
source/GUIv2/editableparameter/EditableLabelAttachment.cpp
35-
source/GUIv2/editableparameter/EditableParameterComponent.cpp
36-
source/GUIv2/dial/DialLookAndFeel.cpp
37-
source/GUIv2/dial/Dial.cpp
38-
source/GUIv2/dial/gaindial/GainDialLookAndFeel.cpp
39-
source/GUIv2/dial/gaindial/GainDial.cpp
40-
source/GUIv2/dial/ceilingdial/CeilingDial.cpp
41-
source/GUIv2/dial/ceilingdial/CeilingDialLookAndFeel.cpp
42-
source/GUIv2/linkinout/LinkInOut.cpp
43-
source/GUIv2/bypass/BypassButton.cpp
44-
source/GUIv2/scaling/ScalingSwitch.cpp
45-
source/GUIv2/levelmeter/LevelMeterComponent.cpp
46-
source/GUIv2/analyser/peakanalyzer/PeakMeter.cpp
47-
source/GUIv2/analyser/peakanalyzer/PeakAnalyzerComponent.cpp
48-
source/GUIv2/analyser/cliptype/ClipTypeComponent.cpp
49-
source/GUIv2/analyser/AnalyserComponent.cpp
50-
source/GUIv2/ControlPanel.cpp
51-
source/GUIv2/LinkingPanel.cpp
52-
source/GUIv2/LeftPanel.cpp
53-
source/GUIv2/CentralPanel.cpp
54-
source/GUIv2/RightPanel.cpp
55-
source/GUIv2/Header.cpp
56-
source/GUIv2/WorkingPanel.cpp
57-
source/GUIv2/MainComponent.cpp
58-
source/DSP/LevelMeter.cpp
32+
33+
# DSP
34+
source/processor/Clipper.cpp
35+
source/processor/LevelMeter.cpp
36+
37+
# GUI
38+
source/editor/clipmeter/ClipMeter.cpp
39+
source/editor/editableparameter/EditableParameterComponentLookAndFeel.cpp
40+
source/editor/editableparameter/EditableLabelAttachment.cpp
41+
source/editor/editableparameter/EditableParameterComponent.cpp
42+
source/editor/dial/DialLookAndFeel.cpp
43+
source/editor/dial/Dial.cpp
44+
source/editor/dial/gaindial/GainDialLookAndFeel.cpp
45+
source/editor/dial/gaindial/GainDial.cpp
46+
source/editor/dial/ceilingdial/CeilingDial.cpp
47+
source/editor/dial/ceilingdial/CeilingDialLookAndFeel.cpp
48+
source/editor/linkinout/LinkInOut.cpp
49+
source/editor/bypass/BypassButton.cpp
50+
source/editor/scaling/ScalingSwitch.cpp
51+
source/editor/levelmeter/LevelMeterComponent.cpp
52+
source/editor/analyser/peakanalyzer/PeakMeter.cpp
53+
source/editor/analyser/peakanalyzer/PeakAnalyzerComponent.cpp
54+
source/editor/analyser/cliptype/ClipTypeComponent.cpp
55+
source/editor/analyser/AnalyserComponent.cpp
56+
source/editor/ControlPanel.cpp
57+
source/editor/LinkingPanel.cpp
58+
source/editor/LeftPanel.cpp
59+
source/editor/CentralPanel.cpp
60+
source/editor/RightPanel.cpp
61+
source/editor/Header.cpp
62+
source/editor/WorkingPanel.cpp
63+
source/editor/MainComponent.cpp
64+
65+
# Entry point
5966
source/PluginEditor.cpp
6067
source/PluginProcessor.cpp)
6168

69+
target_include_directories(${CMAKE_PROJECT_NAME} PUBLIC source)
70+
6271
target_compile_definitions(${CMAKE_PROJECT_NAME}
6372
PUBLIC
6473
JUCE_DISPLAY_SPLASH_SCREEN=0

assets/screenshots/screenshot-mac.png

321 KB
Loading

conanfile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
class PeakEater(ConanFile):
77
name = "peakeater"
8-
version = "0.8.1"
8+
version = "0.8.2"
99
user = "vvvar"
1010
channel = "testing"
1111
company = "T-Audio"

config/.clang-format

Lines changed: 2 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,3 @@
1-
---
2-
AccessModifierOffset: -4
3-
AlignAfterOpenBracket: Align
4-
AlignConsecutiveAssignments: false
5-
AlignConsecutiveDeclarations: false
6-
AlignEscapedNewlines: Left
7-
AlignOperands: Align
8-
AlignTrailingComments: false
9-
AllowAllParametersOfDeclarationOnNextLine: false
10-
AllowShortBlocksOnASingleLine: Never
11-
AllowShortCaseLabelsOnASingleLine: false
12-
AllowShortFunctionsOnASingleLine: All
13-
AllowShortIfStatementsOnASingleLine: Never
14-
AllowShortLoopsOnASingleLine: false
15-
AlwaysBreakAfterDefinitionReturnType: None
16-
AlwaysBreakAfterReturnType: None
17-
AlwaysBreakBeforeMultilineStrings: false
18-
AlwaysBreakTemplateDeclarations: Yes
19-
BinPackArguments: false
20-
BinPackParameters: false
21-
BreakAfterJavaFieldAnnotations: false
22-
BreakBeforeBinaryOperators: NonAssignment
23-
BreakBeforeBraces: Allman
24-
BreakBeforeTernaryOperators: true
25-
BreakConstructorInitializersBeforeComma: false
26-
BreakStringLiterals: false
27-
ColumnLimit: 120
28-
ConstructorInitializerAllOnOneLineOrOnePerLine: false
29-
ConstructorInitializerIndentWidth: 4
30-
ContinuationIndentWidth: 4
31-
Cpp11BracedListStyle: false
32-
DerivePointerAlignment: false
33-
DisableFormat: false
34-
ExperimentalAutoDetectBinPacking: false
35-
IndentCaseLabels: true
1+
BasedOnStyle: Google
362
IndentWidth: 4
37-
IndentWrappedFunctionNames: true
38-
KeepEmptyLinesAtTheStartOfBlocks: false
39-
Language: Cpp
40-
MaxEmptyLinesToKeep: 1
41-
NamespaceIndentation: Inner
42-
PointerAlignment: Left
43-
ReflowComments: false
44-
SortIncludes: true
45-
SpaceAfterCStyleCast: true
46-
SpaceAfterLogicalNot: true
47-
SpaceBeforeAssignmentOperators: true
48-
SpaceBeforeCpp11BracedList: true
49-
SpaceBeforeParens: NonEmptyParentheses
50-
SpaceInEmptyParentheses: false
51-
SpaceBeforeInheritanceColon: true
52-
SpacesInAngles: false
53-
SpacesInCStyleCastParentheses: false
54-
SpacesInContainerLiterals: true
55-
SpacesInParentheses: false
56-
SpacesInSquareBrackets: false
57-
Standard: "c++17"
58-
TabWidth: 4
59-
UseTab: Never
60-
---
61-
Language: ObjC
62-
BasedOnStyle: Chromium
63-
AlignTrailingComments: true
64-
BreakBeforeBraces: Allman
65-
ColumnLimit: 120
66-
IndentWidth: 4
67-
KeepEmptyLinesAtTheStartOfBlocks: false
68-
ObjCSpaceAfterProperty: true
69-
ObjCSpaceBeforeProtocolList: true
70-
PointerAlignment: Left
71-
SpacesBeforeTrailingComments: 1
72-
TabWidth: 4
73-
UseTab: Never
3+
ColumnLimit: 140

config/conan/macos.jinja

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ include(shared/cppstd.jinja)
44
include(shared/build_type.jinja)
55

66
[conf]
7-
tools.build:cxxflags+=["-arch x86_64", "-arch arm64", "-mmacosx-version-min=10.10"]
7+
tools.build:cxxflags+=["-arch x86_64", "-arch arm64", "-mmacosx-version-min=10.9"]

source/Controller/WaveShaperController.h

Lines changed: 0 additions & 171 deletions
This file was deleted.

0 commit comments

Comments
 (0)