Skip to content

Commit 2da3242

Browse files
vvvarVOV3SH
andauthored
Added scaling of level meter (#59)
* Added scaling of level meter * Fix bypass * Fix parameters in Ableton * Share workflow with signed exe * Share secret with reusable workflow * Fix wrong env vars for macOS * Bring back original macOS secret flow * Bring back non-reusable workflow * Bring back non-reusable workflow * Fix documentation --------- Co-authored-by: VOV3SH <Vladyslav.Voinov@de.bosch.com>
1 parent 59d46f6 commit 2da3242

27 files changed

+351
-187
lines changed

.github/workflows/execute_merge_checks.yml

Lines changed: 40 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
1-
name: Execute nmerger checks
2-
run-name: "Merge checks for PR #${{ github.event.number }}"
1+
name: Perform merge checks
32
on: pull_request
3+
44
env:
55
BUILD_TYPE: Release
66
VST_TARGET_NAME: PeakEater_VST3
77
AU_TARGET_NAME: PeakEater_AU
88
LV2_TARGET_NAME: PeakEater_LV2
99
CLAP_TARGET_NAME: PeakEater_CLAP
1010
JUCE_REVISION: 4e68af7
11-
VERSION: 0.5.1
12-
BUILD_ID: "${{ github.run_id }}.${{ github.run_number }}.${{ github.run_attempt }}"
11+
MACOS_RELEASE_NAME: PeakEater_v0.6.0_macOS
12+
WINDOWS_RELEASE_NAME: PeakEater_v0.6.0_Windows
13+
LINUX_RELEASE_NAME: PeakEater_v0.6.0_Linux
1314
jobs:
1415
macos:
1516
name: macOS
@@ -30,6 +31,30 @@ jobs:
3031
which node
3132
npm --version
3233
which npm
34+
- name: Install the Apple certificate and provisioning profile
35+
env:
36+
BUILD_CERTIFICATE_BASE64: ${{ secrets.MACOS_BUILD_CERTIFICATE_BASE64 }}
37+
P12_PASSWORD: ${{ secrets.MACOS_P12_PASSWORD }}
38+
BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.MACOS_BUILD_PROVISION_PROFILE_BASE64 }}
39+
KEYCHAIN_PASSWORD: ${{ secrets.MACOS_KEYCHAIN_PASSWORD }}
40+
run: |
41+
# create variables
42+
CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12
43+
PP_PATH=$RUNNER_TEMP/build_pp.mobileprovision
44+
KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
45+
# import certificate and provisioning profile from secrets
46+
echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode --output $CERTIFICATE_PATH
47+
echo -n "$BUILD_PROVISION_PROFILE_BASE64" | base64 --decode --output $PP_PATH
48+
# create temporary keychain
49+
security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
50+
security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
51+
security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
52+
# import certificate to keychain
53+
security import $CERTIFICATE_PATH -P "$P12_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
54+
security list-keychain -d user -s $KEYCHAIN_PATH
55+
# apply provisioning profile
56+
mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
57+
cp $PP_PATH ~/Library/MobileDevice/Provisioning\ Profiles
3358
- name: Install Python Dependencies
3459
run: python -m pip install -r ${{github.workspace}}/requirements.txt
3560
- name: Init Git Submodules
@@ -47,12 +72,17 @@ jobs:
4772
- name: Build LV2
4873
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --target ${{env.LV2_TARGET_NAME}}
4974
- name: Package
50-
run: python ${{github.workspace}}/Scripts/Release/MacOS.py --release_type=${{env.BUILD_TYPE}} --release_version=${{env.VERSION}}
75+
env:
76+
MACOS_APPLE_IDENTITY: ${{ secrets.MACOS_APPLE_IDENTITY }}
77+
MACOS_APPLE_ID: ${{ secrets.MACOS_APPLE_ID }}
78+
MACOS_APPLE_PASSWORD: ${{ secrets.MACOS_APPLE_PASSWORD }}
79+
MACOS_APPLE_TEAM_ID: ${{ secrets.MACOS_APPLE_TEAM_ID }}
80+
run: python ${{github.workspace}}/Scripts/Release/MacOS.py --release_type=${{env.BUILD_TYPE}} --sign_and_notarize=True --release_version=0.6.0
5181
- name: Upload Artifacts
5282
uses: actions/upload-artifact@v3
5383
with:
54-
name: PeakEater_v${{env.VERSION}}_macOS_${{env.BUILD_ID}}
55-
path: ${{github.workspace}}/build/release/PeakEater-${{env.VERSION}}.dmg
84+
name: ${{ env.MACOS_RELEASE_NAME }}
85+
path: ${{github.workspace}}/build/release/PeakEater-0.6.0.dmg
5686

5787
windows:
5888
name: Windows
@@ -74,7 +104,7 @@ jobs:
74104
- name: Upload Artifacts
75105
uses: actions/upload-artifact@v3
76106
with:
77-
name: PeakEater_v${{env.VERSION}}_Windows_${{env.BUILD_ID}}
107+
name: ${{ env.WINDOWS_RELEASE_NAME }}
78108
path: |
79109
${{github.workspace}}/build/PeakEater_artefacts/${{env.BUILD_TYPE}}/VST3/PeakEater.vst3/Contents/x86_64-win/PeakEater.vst3
80110
${{github.workspace}}/build/PeakEater_artefacts/${{env.BUILD_TYPE}}/LV2/PeakEater.lv2
@@ -105,8 +135,8 @@ jobs:
105135
- name: Upload Artifacts
106136
uses: actions/upload-artifact@v3
107137
with:
108-
name: PeakEater_v${{env.VERSION}}_Linux_${{env.BUILD_ID}}
138+
name: ${{ env.LINUX_RELEASE_NAME }}
109139
path: |
110140
${{github.workspace}}/build/PeakEater_artefacts/VST3/PeakEater.vst3/Contents/x86_64-linux/PeakEater.so
111141
${{github.workspace}}/build/PeakEater_artefacts/LV2/PeakEater.lv2
112-
${{github.workspace}}/build/PeakEater_artefacts/CLAP/PeakEater.clap
142+
${{github.workspace}}/build/PeakEater_artefacts/CLAP/PeakEater.claps

.github/workflows/publish_release_draft.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: Publish Release Draft
2-
run-name: Create release draft for v0.5.1
2+
run-name: Create release draft for v0.6.0
33
on:
44
push:
55
branches:
@@ -12,9 +12,9 @@ env:
1212
LV2_TARGET_NAME: PeakEater_LV2
1313
CLAP_TARGET_NAME: PeakEater_CLAP
1414
JUCE_REVISION: 4e68af7
15-
MACOS_RELEASE_NAME: PeakEater_v0.5.1_macOS
16-
WINDOWS_RELEASE_NAME: PeakEater_v0.5.1_Windows
17-
LINUX_RELEASE_NAME: PeakEater_v0.5.1_Linux
15+
MACOS_RELEASE_NAME: PeakEater_v0.6.0_macOS
16+
WINDOWS_RELEASE_NAME: PeakEater_v0.6.0_Windows
17+
LINUX_RELEASE_NAME: PeakEater_v0.6.0_Linux
1818
jobs:
1919
macos:
2020
name: macOS
@@ -81,12 +81,12 @@ jobs:
8181
MACOS_APPLE_ID: ${{ secrets.MACOS_APPLE_ID }}
8282
MACOS_APPLE_PASSWORD: ${{ secrets.MACOS_APPLE_PASSWORD }}
8383
MACOS_APPLE_TEAM_ID: ${{ secrets.MACOS_APPLE_TEAM_ID }}
84-
run: python ${{github.workspace}}/Scripts/Release/MacOS.py --release_type=${{env.BUILD_TYPE}} --sign_and_notarize=True --release_version=0.5.1
84+
run: python ${{github.workspace}}/Scripts/Release/MacOS.py --release_type=${{env.BUILD_TYPE}} --sign_and_notarize=True --release_version=0.6.0
8585
- name: Upload Artifacts
8686
uses: actions/upload-artifact@v3
8787
with:
8888
name: ${{ env.MACOS_RELEASE_NAME }}
89-
path: ${{github.workspace}}/build/release/PeakEater-0.5.1.dmg
89+
path: ${{github.workspace}}/build/release/PeakEater-0.6.0.dmg
9090

9191
windows:
9292
name: Windows
@@ -183,5 +183,5 @@ jobs:
183183
draft: true
184184
removeArtifacts: true
185185
makeLatest: true
186-
tag: "v0.5.1"
186+
tag: "v0.6.0"
187187
artifacts: "${{ env.MACOS_RELEASE_NAME }}.zip,${{ env.WINDOWS_RELEASE_NAME }}.zip,${{ env.LINUX_RELEASE_NAME }}.zip"

.vscode/c_cpp_properties.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@
1313
"cStandard": "c17",
1414
"cppStandard": "c++17",
1515
"intelliSenseMode": "macos-clang-x64",
16-
"compileCommands": "${workspaceFolder}/build/compile_commands.json"
16+
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
17+
"configurationProvider": "ms-vscode.cmake-tools"
1718
}
1819
],
1920
"version": 4

.vscode/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@
137137
* - Release
138138
* - Debug
139139
*/
140-
"peakeater.config": "Debug",
140+
"peakeater.config": "Release",
141141
"[cpp]": {
142142
"editor.defaultFormatter": "zachflower.uncrustify"
143143
},

CMakeLists.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
cmake_minimum_required(VERSION 3.15)
2-
project(PeakEater VERSION 0.5.1)
2+
project(PeakEater VERSION 0.6.0)
33
set(CMAKE_CXX_STANDARD 20)
44

55
add_subdirectory(Dependencies/JUCE)
6-
add_subdirectory(Dependencies/clap-juce-extensions EXCLUDE_FROM_ALL)
6+
add_subdirectory(Dependencies/clap-juce-extensions EXCLUDE_FROM_ALL)
77

88
juce_add_plugin(PeakEater
99
PLUGIN_MANUFACTURER_CODE Tado
@@ -30,6 +30,7 @@ target_sources(PeakEater
3030
Source/GUIv2/dial/ceilingdial/CeilingDialLookAndFeel.cpp
3131
Source/GUIv2/linkinout/LinkInOut.cpp
3232
Source/GUIv2/bypass/BypassButton.cpp
33+
Source/GUIv2/scaling/ScalingSwitch.cpp
3334
Source/GUIv2/levelmeter/LevelMeterComponent.cpp
3435
Source/GUIv2/analyser/peakanalyzer/PeakMeter.cpp
3536
Source/GUIv2/analyser/peakanalyzer/PeakAnalyzerComponent.cpp

README.md

Lines changed: 37 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -12,48 +12,34 @@
1212

1313
<!-- TABLE OF CONTENTS -->
1414

15-
<details open="open">
16-
<summary>Table of Contents</summary>
17-
<ol>
18-
<li><a href="#about">About</a></li>
19-
<li>
20-
<a href="#features">Features</a>
21-
<ul>
22-
<li><a href="#input--output-rms-meters">Input/Output RMS Meters</a></li>
23-
<li><a href="#input--output-gain">Input & Output Gain</a></li>
24-
<li><a href="#link-input-with-output">Link Input with Output</a></li>
25-
<li><a href="#ceiling-control">Ceiling control</a></li>
26-
<li><a href="#visualizer">Visualizer</a></li>
27-
<li><a href="#analyzer">Analyzer</a></li>
28-
<li><a href="#switchable-scales">Switchable scales</a></li>
29-
<li><a href="#6-clipping-types">6 Clipping Types</a></li>
30-
<li><a href="#oversampling">Oversampling</a></li>
31-
<li><a href="#bypass-mode">Bypass mode</a></li>
32-
<li><a href="#resizing">Resizing</a></li>
33-
<li><a href="#vst3-au-lv2-and-clap-support">VST3, AU, LV2 and CLAP Support</a></li>
34-
<li><a href="#available-on-all-major-platforms">macOS, Windows and Linux Support</a></li>
35-
</ul>
36-
</li>
37-
<li>
38-
<a href="#installation">Installation</a>
39-
<ul>
40-
<li><a href="#macos">macOS</a></li>
41-
<li><a href="#windows">Windows</a></li>
42-
<li><a href="#linux">Linux</a></li>
43-
</ul>
44-
</li>
45-
<li>
46-
<a href="#building-from-sources">Building from sources</a>
47-
<ul>
48-
<li><a href="#prerequisites">Prerequisites</a></li>
49-
<li><a href="#build">Build</a></li>
50-
</ul>
51-
</li>
52-
<li><a href="#contributing">Contributing</a></li>
53-
<li><a href="#license">License</a></li>
54-
<li><a href="#acknowledgements">Acknowledgements</a></li>
55-
</ol>
56-
</details>
15+
Table of Contents
16+
17+
- [About](#about)
18+
- [Features](#features)
19+
- [Input/Output RMS Meters](#rms-meters)
20+
- [Input & Output Gain](#input--output-gain)
21+
- [Link Input with Output](#link-input-with-output)
22+
- [Ceiling Control](#ceiling-control)
23+
- [Visualizer](#visualizer)
24+
- [Analyzer](#analyzer)
25+
- [Configurable Tickmarks](#configurable-tickmarks)
26+
- [Configurable Scaling](#configurable-scaling)
27+
- [6 Clipping Types](#6-clipping-types)
28+
- [Oversampling](#oversampling)
29+
- [Bypass Mode](#bypass-mode)
30+
- [Resizing](#resizing)
31+
- [VST3, AU, LV2 and CLAP Support](#vst3-au-lv2-and-clap-support)
32+
- [macOS, Windows and Linux Support](#available-on-all-major-platforms)
33+
- [Installation](#installation)
34+
- [macOS](#macos)
35+
- [Windows](#windows)
36+
- [Linux](#linux)
37+
- [Building from sources](#building-from-sources)
38+
- [Prerequisites](#prerequisites)
39+
- [Build](#build)
40+
- [Contributing](#contributing)
41+
- [License](#license)
42+
- [Acknowledgements](#acknowledgements)
5743

5844
<!-- ABOUT -->
5945

@@ -63,7 +49,7 @@ PeakEater is a free, easy to use waveshaping plugin. PeakEater lets you choose b
6349

6450
## Features
6551

66-
### Input & Output RMS Meters
52+
### RMS Meters
6753

6854
<img src="Resources/screenshots/screenshot-in.png" alt="input-rms-screen" height="250"/><---><img src="Resources/screenshots/screenshot-out.png" alt="output-rms-screen" height="250"/>
6955

@@ -99,11 +85,17 @@ Displays magnitude(in dB's) so you can see how peaks were eaten over time.
9985

10086
Shows approximated RMS that was cut("Eaten") in last 2 seconds and current clipping algorithm. Double-click on numbers to drop it to zero and force to re-calculate.
10187

102-
### Switchable scales
88+
### Configurable Tickmarks
10389

10490
<img src="Resources/screenshots/screenshot-switch-ticks.gif" alt="switch-db-level-scales" width="400"/>
10591

106-
Right click on Visualizer to switch between different scales.
92+
Right-Mouse-Click on Visualizer to switch between different tickmarks.
93+
94+
## Configurable Scaling
95+
96+
<img src="Resources/screenshots/screenshot-scaling.gif" alt="switch-db-level-scales" width="400"/>
97+
98+
Also, you can switch between linear and non-linear scaling.
10799

108100
### 6 Clipping Types
109101

-216 KB
Loading
1.14 MB
Loading
-616 KB
Loading

Scripts/Release/configs/inno-config.iss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[Setup]
22
AppName=PeakEater
3-
AppVersion=0.5.1
3+
AppVersion=0.6.0
44
DefaultDirName={cf}
55
DefaultGroupName=PeakEater
66
OutputBaseFilename=PeakEater-windows

0 commit comments

Comments
 (0)