Skip to content

Commit 570304d

Browse files
authored
Merge pull request #90 from jerryuhoo/v1.5.0
V1.5.0
2 parents 16a46b7 + 0cf20e0 commit 570304d

85 files changed

Lines changed: 15832 additions & 2651 deletions

File tree

Some content is hidden

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

Fire.jucer

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<JUCERPROJECT id="NykRD7" name="Fire" projectType="audioplug" pluginManufacturer="Blue Wings Music"
44
aaxIdentifier="com.bluewingsmusic.Fire" bundleIdentifier="com.bluewingsmusic.Fire"
5-
version="1.5.0b" displaySplashScreen="1" pluginFormats="buildAU,buildLV2,buildVST3"
5+
version="1.5.0" displaySplashScreen="1" pluginFormats="buildAU,buildLV2,buildVST3"
66
jucerFormatVersion="1" pluginAUMainType="'aufx'" pluginVST3Category="Distortion"
77
addUsingNamespaceToJuceHeader="0" cppLanguageStandard="17" defines="JUCE_MODAL_LOOPS_PERMITTED=1"
88
pluginManufacturerCode="Wing" pluginCode="Fire" useAppConfig="0"
@@ -11,6 +11,7 @@
1111
<MAINGROUP id="X9e8F0" name="Fire">
1212
<GROUP id="{1F2CD48B-B61D-AF36-6422-79EF5DB875FF}" name="assets">
1313
<GROUP id="{C0F63D30-4000-ACDE-A34A-16D94E9E277B}" name="images">
14+
<FILE id="SoUMNs" name="fire_anime.png" compile="0" resource="1" file="assets/images/fire_anime.png"/>
1415
<FILE id="IePV5S" name="firelogo.png" compile="0" resource="1" file="assets/images/firelogo.png"/>
1516
<FILE id="DLHWyX" name="firewingslogo.png" compile="0" resource="1"
1617
file="assets/images/firewingslogo.png"/>
@@ -86,6 +87,8 @@
8687
file="Source/Panels/ControlPanel/ModulationMatrixPanel.cpp"/>
8788
<FILE id="bPv4s8" name="ModulationMatrixPanel.h" compile="0" resource="0"
8889
file="Source/Panels/ControlPanel/ModulationMatrixPanel.h"/>
90+
<FILE id="oh9wRo" name="PanelBase.cpp" compile="1" resource="0" file="Source/Panels/ControlPanel/PanelBase.cpp"/>
91+
<FILE id="pBpaAu" name="PanelBase.h" compile="0" resource="0" file="Source/Panels/ControlPanel/PanelBase.h"/>
8992
</GROUP>
9093
<GROUP id="{995D5DE9-21F2-8C23-FD7F-A46997F360E4}" name="TopPanel">
9194
<FILE id="By9zs9" name="Preset.cpp" compile="1" resource="0" file="Source/Panels/TopPanel/Preset.cpp"/>
@@ -109,6 +112,12 @@
109112
file="Source/GUI/ModulatableSlider.h"/>
110113
<FILE id="i163aG" name="SettingsComponent.h" compile="0" resource="0"
111114
file="Source/GUI/SettingsComponent.h"/>
115+
<FILE id="C3EVC1" name="ValueEntryPopup.cpp" compile="1" resource="0"
116+
file="Source/GUI/ValueEntryPopup.cpp"/>
117+
<FILE id="LhmYR1" name="ValueEntryPopup.h" compile="0" resource="0"
118+
file="Source/GUI/ValueEntryPopup.h"/>
119+
<FILE id="g4Ar29" name="ValuePopup.cpp" compile="1" resource="0" file="Source/GUI/ValuePopup.cpp"/>
120+
<FILE id="h6WIOb" name="ValuePopup.h" compile="0" resource="0" file="Source/GUI/ValuePopup.h"/>
112121
</GROUP>
113122
<GROUP id="{6D93BA34-0044-C87D-1644-2333FABFA73D}" name="DSP">
114123
<FILE id="kfZ8qg" name="ClippingFunctions.h" compile="0" resource="0"
@@ -124,6 +133,8 @@
124133
<FILE id="BoNr69" name="LfoManager.h" compile="0" resource="0" file="Source/DSP/LfoManager.h"/>
125134
<FILE id="f8ecdJ" name="LfoShapeGenerator.h" compile="0" resource="0"
126135
file="Source/DSP/LfoShapeGenerator.h"/>
136+
<FILE id="sbKeYA" name="ModulatedValueProvider.h" compile="0" resource="0"
137+
file="Source/DSP/ModulatedValueProvider.h"/>
127138
<FILE id="SBXQBa" name="ModulationRouting.h" compile="0" resource="0"
128139
file="Source/DSP/ModulationRouting.h"/>
129140
<FILE id="PVeY6u" name="WDF.h" compile="0" resource="0" file="Source/DSP/WDF.h"/>

Fire1.png

-29.3 KB
Loading

Fire2.png

-4.26 KB
Loading

Fire3.png

-32.1 KB
Loading

JuceLibraryCode/BinaryData.cpp

Lines changed: 10123 additions & 4 deletions
Large diffs are not rendered by default.

JuceLibraryCode/BinaryData.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,17 @@
88

99
namespace BinaryData
1010
{
11+
extern const char* fire_anime_png;
12+
const int fire_anime_pngSize = 713474;
13+
1114
extern const char* firelogo_png;
1215
const int firelogo_pngSize = 9722;
1316

1417
extern const char* firewingslogo_png;
1518
const int firewingslogo_pngSize = 11396;
1619

1720
// Number of elements in the namedResourceList and originalFileNames arrays.
18-
const int namedResourceListSize = 2;
21+
const int namedResourceListSize = 3;
1922

2023
// Points to the start of a list of resource names.
2124
extern const char* namedResourceList[];

JuceLibraryCode/JuceHeader.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ namespace ProjectInfo
4646
{
4747
const char* const projectName = "Fire";
4848
const char* const companyName = "Blue Wings Music";
49-
const char* const versionString = "1.5.0b";
49+
const char* const versionString = "1.5.0";
5050
const int versionNumber = 0x10500;
5151
}
5252
#endif

JuceLibraryCode/JucePluginDefines.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,13 +77,13 @@
7777
#define JucePlugin_EditorRequiresKeyboardFocus 0
7878
#endif
7979
#ifndef JucePlugin_Version
80-
#define JucePlugin_Version 1.5.0b
80+
#define JucePlugin_Version 1.5.0
8181
#endif
8282
#ifndef JucePlugin_VersionCode
8383
#define JucePlugin_VersionCode 0x10500
8484
#endif
8585
#ifndef JucePlugin_VersionString
86-
#define JucePlugin_VersionString "1.5.0b"
86+
#define JucePlugin_VersionString "1.5.0"
8787
#endif
8888
#ifndef JucePlugin_VSTUniqueID
8989
#define JucePlugin_VSTUniqueID JucePlugin_PluginCode
@@ -155,7 +155,7 @@
155155
#define JucePlugin_ARAFactoryID "com.BlueWingsMusic.Fire.factory"
156156
#endif
157157
#ifndef JucePlugin_ARADocumentArchiveID
158-
#define JucePlugin_ARADocumentArchiveID "com.BlueWingsMusic.Fire.aradocumentarchive.1.0.2"
158+
#define JucePlugin_ARADocumentArchiveID "com.BlueWingsMusic.Fire.aradocumentarchive.1.5.0"
159159
#endif
160160
#ifndef JucePlugin_ARACompatibleArchiveIDs
161161
#define JucePlugin_ARACompatibleArchiveIDs ""

README.md

Lines changed: 66 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Fire (Version 1.5.0 Beta) [![](https://travis-ci.com/jerryuhoo/Fire.svg?branch=master)](https://travis-ci.com/jerryuhoo/Fire) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/8c68fa4c8da04cb8abca88e2dfceb280)](https://app.codacy.com/gh/jerryuhoo/Fire/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)[![CMake Build Matrix](https://github.com/jerryuhoo/Fire/actions/workflows/build_and_test.yml/badge.svg)](https://github.com/jerryuhoo/Fire/actions/workflows/build_and_test.yml)
1+
# Fire (Version 1.5.0) [![](https://travis-ci.com/jerryuhoo/Fire.svg?branch=master)](https://travis-ci.com/jerryuhoo/Fire) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/8c68fa4c8da04cb8abca88e2dfceb280)](https://app.codacy.com/gh/jerryuhoo/Fire/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)[![CMake Build Matrix](https://github.com/jerryuhoo/Fire/actions/workflows/build_and_test.yml/badge.svg)](https://github.com/jerryuhoo/Fire/actions/workflows/build_and_test.yml)
22

33
![Alt text](Fire1.png?raw=true "Title")
44

@@ -12,9 +12,9 @@ This is a multi-band distortion plugin [『Fire』](https://www.bluewingsmusic.c
1212

1313
Demo video:
1414

15-
(YouTube) <https://youtu.be/sccW_8W_0o4>
15+
(YouTube) <https://youtu.be/U5UTz6kWVE4>
1616

17-
(Bilibili) <https://www.bilibili.com/video/BV17f4y1M7Hm>
17+
(Bilibili) <https://www.bilibili.com/video/BV11MWpzUEKA/>
1818

1919
:musical_note: Home Page for Wings Music: [Blue Wings Music](https://www.bluewingsmusic.com/)
2020

@@ -149,51 +149,75 @@ Builds/Fire_artefacts/Release/
149149
150150
### 3.1. Top panel
151151
152-
- HQ: 4x oversampling for high quality audio.
153-
- A/B: switch between A/B to compare.
154-
- Copy: copy current preset parameters to another(A/B) panel.
155-
- Preset bar: choose your current preset.
156-
- Save: save your preset to user folder.
157-
- Menu: other settings including init, open preset folder, rescan preset folder, open GitHub page, check for new version.
152+
- **HQ**: 4x oversampling for high quality audio.
153+
- **A/B**: Switch between A/B to compare.
154+
- **Copy**: Copy current preset parameters to another (A/B) panel.
155+
- **Preset bar**: Choose your current preset.
156+
- **Save**: Save your preset to user folder.
157+
- **Menu**: Other settings including init, open preset folder, rescan preset folder, open GitHub page, check for new version.
158158
159159
### 3.2. Spectrogram
160160
161161
- You can split up frequency to four bands for multiband distortion.
162162
163-
### 3.3. Graph Visualizer
163+
### 3.3. Band Effect
164164
165-
- There are four graph visualizers. You can click on each graph to zoom in or zoom out.
166-
- Top left is oscilloscope.
167-
- Top right is distortion graph.
168-
- Buttom Left is VU meters.
169-
- Buttom right is Width graph.
165+
- You can click four switches on the right side of graphs.
166+
- **Drive**:『Fire』 has several distortion functions. There are three buttons "L", "S", "E", related to drive knob, and each means "Link", "Safe", and "Extreme".
167+
- **Link**: When your turn up drive knob, the output knob value will automatically reduce.
168+
- **Safe**: If your drive knob pushes your volume too loud, it will automatically reduce your drive value. It also shows reduced value on drive knob.
169+
- **Extreme**: It expands the range of the the drive knob (from around +40db to around +60db) when it is enabled to give more distortion.
170+
- **Retification and bias**: Change your distortion shape.
171+
- **Compressor**: You can change threshold, ratio, attack, and release for each band.
172+
- **Stereo**: Change audio width and pan.
173+
- **Output and mix**: For each bandm you can change the output and the mix.
170174
171-
### 3.4. Band Effect
175+
### 3.4. LFO / Modulation
172176
173-
- You can click four switches on the right side of graphs.
177+
『Fire』 includes four fully customizable LFOs that can be used to modulate various parameters.
174178
175-
- Drive:『Fire』 has several distortion functions. There are three buttons "L", "S", "E", related to drive knob, and each means "Link", "Safe", and "Extreme".
176-
- "L" (Link): When your turn up drive knob, the output knob value will automatically reduce.
177-
- "S" (Safe): If your drive knob pushes your volume too loud, it will automatically reduce your drive value. It also shows reduced value on drive knob.
178-
- "E" (Extreme): It expands the range of the the drive knob (from around +40db to around +60db) when it is enabled to give more distortion.
179+
- **LFO Selection**: On the left, click the "LFO 1" through "LFO 4" buttons to select which LFO you are editing.
180+
- **Rate & Sync**: The **Rate** knob controls the LFO speed. Click the **BPM** button to toggle synchronization with your DAW's tempo.
181+
- **Smooth**: Adjusts the smoothness of the LFO shape.
182+
- **Phase**: Adjusts the starting point (phase) of the LFO shape.
183+
- **Grid**: The X and Y controls adjust the grid divisions in the editor for visual guidance and snapping.
179184
180-
- Retification and bias: Change your distortion shape.
185+
#### LFO Editor
181186
182-
- Compressor: you can change threshold and ratio for each band.
187+
The main LFO display allows you to create complex modulation shapes. It has two primary modes: **Edit Mode** and **Brush Mode**.
183188
184-
- Width: change audio width.
189+
**Edit Mode Controls:**
185190
186-
- Output and mix: for band control.
191+
- **Add Point**: **Double-click** on an empty space in the editor to add a new point.
192+
- **Delete Point**: **Double-click** on an existing point to delete it. Note: The first and last points cannot be deleted.
193+
- **Move Point(s)**: **Click and drag** a point to move it.
194+
- **Adjust Curve**: **Click and drag** the line segment between two points to adjust its curvature.
195+
- **Select Multiple Points**:
196+
- Hold **Shift** and **drag** to draw a selection box (marquee) around multiple points.
197+
- Clicking on an already selected point allows you to drag the entire selection.
198+
- **Snap to Grid**: Hold **Ctrl** (Windows) or **Cmd** (Mac) while dragging a point to snap it to the nearest grid line.
199+
- **Context Menu**: **Right-click** anywhere in the editor to open a context menu with the following options:
200+
- **Select All**: Selects all points.
201+
- **Clear**: Resets the LFO to a default straight line.
202+
- **Copy / Paste**: Copies the current LFO shape and allows you to paste it into another LFO editor.
203+
- **Invert**: Flips the shape horizontally or vertically.
187204
188-
### 3.5. Global Effect
205+
**Brush Mode Controls:**
189206
190-
- Filter: you can set lowcut, highcut, and peak. Lowcut and highcut each has four slopes (12, 24, 36, 48) you can choose.
207+
- Activate **Brush Mode** to paint pre-defined shapes onto the grid.
208+
- Use the dropdown menu next to the mode buttons to select a brush shape (e.g., Saw, Sine, Square).
209+
- **Click and drag** within the editor grid to paint the selected shape. The brush will only respond to the **left mouse button**.
191210
192-
- Downsample: downsample your audio.
211+
#### Modulation Matrix
193212
194-
- Limiter: add a limiter after distortion.
213+
- **Matrix Button**: Opens the Modulation Matrix window, where you can assign LFOs to control plugin parameters.
214+
- **Assign Button**: Engages "Assign Mode." While active, the next parameter you click in the plugin will be automatically assigned to the currently selected LFO.
195215
196-
- Output and mix: for global control.
216+
### 3.5. Global Effect
217+
218+
- **Filter**: you can set lowcut, highcut, and peak. Lowcut and highcut each has four slopes (12, 24, 36, 48) you can choose.
219+
- **Downsample**: downsample your audio.
220+
- **Output and mix**: for global control.
197221
198222
## 4. Support the author
199223
@@ -225,7 +249,7 @@ I am also a music producer (Artist name: 羽翼深蓝 - BlueWings). Check out my
225249
226250
## 6. Update Notes
227251
228-
### 2025-9-20 (version 1.5.0b)
252+
### 2025-10-18 (version 1.5.0)
229253
230254
This is a major feature update that introduces a comprehensive LFO modulation system and involves a significant refactoring of the plugin's core architecture.
231255
@@ -236,14 +260,23 @@ This is a major feature update that introduces a comprehensive LFO modulation sy
236260
- **Modulation Matrix**: A dedicated matrix panel to manage all modulation routings in one place.
237261
- **BPM Sync & Free (Hz) Modes**: Each LFO can be synchronized to the host's BPM or run freely in Hz.
238262
- **Quick Modulation Assignment**: A new "Assign" mode allows you to click any knob to instantly map it as a modulation target.
263+
- **Other New Features**: Features like attack / release for compressor, new pan for stereo, and more downsample controls!
239264
240265
2. **Major Code Refactoring**:
241266
- I refactored both UI and DSP code of this plugin so it is easier to modify and understand now.
242267
243268
3. **Bug Fixes**:
244269
- Fixed a critical bug where the plugin might not load presets correctly.
245-
246-
> ⚠️ **Breaking Change Notice:** This is a significant update that fundamentally changes how parameters are processed. Due to the addition of the LFO system and the extensive code refactoring, it might have hidden bugs. So it is a **BETA** version. If you find any bugs, please create an issue so I can solve it. Have fun!
270+
- Fixed a bug to correct parameter and LFO state when adding/deleting bands.
271+
272+
4. **Performance Improvement**
273+
- Highly improved performance compared to v1.5.0b.
274+
- Refactored signal processing chain for significantly lower CPU usage.
275+
- Optimized Waterfall Spectrogram with smooth animation and minimal CPU load.
276+
- UI Improvements
277+
- Mouse Wheel Q-Control: Adjust filter Q values by hovering over nodes and scrolling.
278+
- Redesigned UI: A more logical layout with intuitive controls for a seamless workflow.
279+
- Unified Color Scheme: New professional look with improved visual comfort during long sessions.
247280
248281
### 2025-7-3 (version 1.0.2)
249282

0 commit comments

Comments
 (0)