Compare commits

...

3 Commits

Author SHA1 Message Date
Anachronaut
62f4e21185 Update version string to 0.9.8-RC 2026-07-08 17:42:52 -04:00
Anachronaut
17d0961eb0 Add versioning and dist packaging target
VERSION in makefile is now the single source of truth — it flows into
the about screen via -DAPP_VERSION at compile time and into the archive
filename via the dist target. `make dist` produces
SoundThing-<platform>-v<version>.tar.gz (Linux) or .zip (Windows)
containing the binary and the full patch library.

Also fixes a trailing-spaces-in-PROJECT makefile gotcha that was
silently embedding spaces in the binary path.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-08 17:40:00 -04:00
Anachronaut
6bdc3a4b48 Normalize oscillator gains across patch library for consistent mix levels
Boosted osc gains on 40 patches that were too quiet to sit well together
under a shared master volume knob.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-08 17:18:15 -04:00
42 changed files with 114 additions and 91 deletions

View File

@@ -1,7 +1,9 @@
# Recursive Directory Digesting Makefile V1.0 # Recursive Directory Digesting Makefile V1.0
# === Project Settings === # === Project Settings ===
PROJECT := soundThing # Change this to your project name # Change PROJECT and VERSION here — VERSION flows into the about screen and archive names.
CFLAGS := -Wall -Wextra -std=c11 -O2 PROJECT := soundThing
VERSION := 0.9.8-RC
CFLAGS := -Wall -Wextra -std=c11 -O2 -DAPP_VERSION=\"$(VERSION)\"
# Preprocessor flags (deps only here) # Preprocessor flags (deps only here)
CPPFLAGS := -MMD -MP CPPFLAGS := -MMD -MP
@@ -34,6 +36,16 @@ else
WIN_RES := WIN_RES :=
endif endif
# === Distribution ===
DIST_NAME := SoundThing-$(PLATFORM)-v$(VERSION)
ifeq ($(PLATFORM),windows)
ARCHIVE_CMD = zip -r "$(DIST_NAME).zip" "$(DIST_NAME)"
ARCHIVE_EXT = zip
else
ARCHIVE_CMD = tar czf "$(DIST_NAME).tar.gz" "$(DIST_NAME)"
ARCHIVE_EXT = tar.gz
endif
# === Directory Structure === # === Directory Structure ===
SRC_DIR := source SRC_DIR := source
OBJ_DIR := build OBJ_DIR := build
@@ -58,7 +70,7 @@ FONT_DATA := $(SRC_DIR)/font_data.c
ICON_DATA := $(SRC_DIR)/icon_data.c ICON_DATA := $(SRC_DIR)/icon_data.c
# === Rules === # === Rules ===
.PHONY: all clean run dirs .PHONY: all clean run dirs dist
all: dirs $(SPRITES_DATA) $(FONT_DATA) $(ICON_DATA) $(BIN) all: dirs $(SPRITES_DATA) $(FONT_DATA) $(ICON_DATA) $(BIN)
@@ -86,6 +98,17 @@ clean:
@rm -rf $(OBJ_DIR) $(BIN) @rm -rf $(OBJ_DIR) $(BIN)
@echo "Clean complete." @echo "Clean complete."
# Package a release archive: make dist / make dist PLATFORM=windows
dist: all
rm -rf "$(DIST_NAME)"
mkdir -p "$(DIST_NAME)"
cp "$(BIN)" "$(DIST_NAME)/"
cp -r patches "$(DIST_NAME)/"
rm -f "$(DIST_NAME)/patches/favorites.txt"
$(ARCHIVE_CMD)
rm -rf "$(DIST_NAME)"
@echo "Packaged -> $(DIST_NAME).$(ARCHIVE_EXT)"
# Include auto-generated dependency files (if present) # Include auto-generated dependency files (if present)
-include $(DEP) -include $(DEP)

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 2, "osc0_waveform": 2,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.700000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": -1, "osc0_octave": -1,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 2, "osc1_waveform": 2,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": -5.000000, "osc1_detune": -5.000000,
"osc1_gain": 0.200000, "osc1_gain": 2.493054,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": -1, "osc1_octave": -1,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 2, "osc0_waveform": 2,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.700000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": -1, "osc0_octave": -1,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 5, "osc1_waveform": 5,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": 0.000000, "osc1_detune": 0.000000,
"osc1_gain": 0.040000, "osc1_gain": 2.015748,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 0, "osc1_octave": 0,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 2, "osc0_waveform": 2,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.700000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": -1, "osc0_octave": -1,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 1, "osc1_waveform": 1,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": 3.000000, "osc1_detune": 3.000000,
"osc1_gain": 0.200000, "osc1_gain": 2.488189,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 0, "osc1_octave": 0,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 1, "osc0_waveform": 1,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.750000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": -1, "osc0_octave": -1,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 0, "osc1_waveform": 0,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": 0.000000, "osc1_detune": 0.000000,
"osc1_gain": 0.300000, "osc1_gain": 2.330709,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": -2, "osc1_octave": -2,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 2, "osc0_waveform": 2,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.750000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": -1, "osc0_octave": -1,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 5, "osc1_waveform": 5,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": 0.000000, "osc1_detune": 0.000000,
"osc1_gain": 0.080000, "osc1_gain": 1.511811,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 0, "osc1_octave": 0,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 0, "osc0_waveform": 0,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.850000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": -2, "osc0_octave": -2,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 0, "osc1_waveform": 0,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": 0.000000, "osc1_detune": 0.000000,
"osc1_gain": 0.150000, "osc1_gain": 2.015748,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": -1, "osc1_octave": -1,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 2, "osc0_waveform": 2,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.800000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": -1, "osc0_octave": -1,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 2, "osc1_waveform": 2,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": 0.000000, "osc1_detune": 0.000000,
"osc1_gain": 0.400000, "osc1_gain": 2.677165,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": -2, "osc1_octave": -2,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 2, "osc0_waveform": 2,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.800000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": 0, "osc0_octave": 0,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 2, "osc1_waveform": 2,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": 12.000000, "osc1_detune": 12.000000,
"osc1_gain": 0.750000, "osc1_gain": 2.960630,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 0, "osc1_octave": 0,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 1, "osc0_waveform": 1,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.700000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": 0, "osc0_octave": 0,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 2, "osc1_waveform": 2,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": 3.000000, "osc1_detune": 3.000000,
"osc1_gain": 0.200000, "osc1_gain": 3.874016,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 0, "osc1_octave": 0,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 2, "osc0_waveform": 2,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.750000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": 0, "osc0_octave": 0,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 2, "osc1_waveform": 2,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": -10.000000, "osc1_detune": -10.000000,
"osc1_gain": 0.650000, "osc1_gain": 3.874016,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 0, "osc1_octave": 0,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 2, "osc0_waveform": 2,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.750000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": -1, "osc0_octave": -1,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 2, "osc1_waveform": 2,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": -7.000000, "osc1_detune": -7.000000,
"osc1_gain": 0.180000, "osc1_gain": 1.259843,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 0, "osc1_octave": 0,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 2, "osc0_waveform": 2,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.700000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": 0, "osc0_octave": 0,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 2, "osc1_waveform": 2,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": 5.000000, "osc1_detune": 5.000000,
"osc1_gain": 0.180000, "osc1_gain": 1.322835,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 1, "osc1_octave": 1,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 2, "osc0_waveform": 2,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.750000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": -2, "osc0_octave": -2,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 2, "osc1_waveform": 2,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": 5.000000, "osc1_detune": 5.000000,
"osc1_gain": 0.200000, "osc1_gain": 2.708661,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": -1, "osc1_octave": -1,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 0, "osc0_waveform": 0,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.650000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": 1, "osc0_octave": 1,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 1, "osc1_waveform": 1,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": 5.000000, "osc1_detune": 5.000000,
"osc1_gain": 0.250000, "osc1_gain": 2.110236,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 1, "osc1_octave": 1,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 2, "osc0_waveform": 2,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.850000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": 0, "osc0_octave": 0,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 2, "osc1_waveform": 2,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": 15.000000, "osc1_detune": 15.000000,
"osc1_gain": 0.800000, "osc1_gain": 3.149606,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 0, "osc1_octave": 0,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,
@@ -26,7 +26,7 @@
"ampEnv_attack": 0.003000, "ampEnv_attack": 0.003000,
"ampEnv_decay": 0.150000, "ampEnv_decay": 0.150000,
"ampEnv_sustain": 0.800000, "ampEnv_sustain": 0.800000,
"ampEnv_release": 0.120000, "ampEnv_release": 0.150000,
"modEnv_attack": 0.001000, "modEnv_attack": 0.001000,
"modEnv_decay": 0.100000, "modEnv_decay": 0.100000,
"modEnv_sustain": 0.000000, "modEnv_sustain": 0.000000,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 2, "osc0_waveform": 2,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.800000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": 0, "osc0_octave": 0,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 2, "osc1_waveform": 2,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": 0.000000, "osc1_detune": 0.000000,
"osc1_gain": 0.700000, "osc1_gain": 2.488189,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": -1, "osc1_octave": -1,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 2, "osc0_waveform": 2,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.750000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": 0, "osc0_octave": 0,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 4, "osc1_waveform": 4,
"osc1_dutyCycle": 0.300000, "osc1_dutyCycle": 0.300000,
"osc1_detune": 5.000000, "osc1_detune": 5.000000,
"osc1_gain": 0.350000, "osc1_gain": 2.299213,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 0, "osc1_octave": 0,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 2, "osc0_waveform": 2,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.800000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": 0, "osc0_octave": 0,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 2, "osc1_waveform": 2,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": 0.000000, "osc1_detune": 0.000000,
"osc1_gain": 0.600000, "osc1_gain": 3.779528,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 1, "osc1_octave": 1,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 4, "osc0_waveform": 4,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.750000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": 0, "osc0_octave": 0,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 4, "osc1_waveform": 4,
"osc1_dutyCycle": 0.450000, "osc1_dutyCycle": 0.450000,
"osc1_detune": -7.000000, "osc1_detune": -7.000000,
"osc1_gain": 0.400000, "osc1_gain": 2.834646,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 1, "osc1_octave": 1,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 0, "osc0_waveform": 0,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.700000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": 1, "osc0_octave": 1,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 0, "osc1_waveform": 0,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": 8.000000, "osc1_detune": 8.000000,
"osc1_gain": 0.200000, "osc1_gain": 3.086614,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 1, "osc1_octave": 1,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 1, "osc0_waveform": 1,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.600000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": 0, "osc0_octave": 0,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 1, "osc1_waveform": 1,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": 10.000000, "osc1_detune": 10.000000,
"osc1_gain": 0.500000, "osc1_gain": 3.763191,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 0, "osc1_octave": 0,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,
@@ -26,7 +26,7 @@
"ampEnv_attack": 0.700000, "ampEnv_attack": 0.700000,
"ampEnv_decay": 0.300000, "ampEnv_decay": 0.300000,
"ampEnv_sustain": 0.700000, "ampEnv_sustain": 0.700000,
"ampEnv_release": 0.800000, "ampEnv_release": 0.500000,
"modEnv_attack": 0.001000, "modEnv_attack": 0.001000,
"modEnv_decay": 0.100000, "modEnv_decay": 0.100000,
"modEnv_sustain": 0.000000, "modEnv_sustain": 0.000000,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 2, "osc0_waveform": 2,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.650000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": -1, "osc0_octave": -1,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 3, "osc1_waveform": 3,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": -12.000000, "osc1_detune": -12.000000,
"osc1_gain": 0.400000, "osc1_gain": 3.631121,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 0, "osc1_octave": 0,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 1, "osc0_waveform": 1,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.500000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": 0, "osc0_octave": 0,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 1, "osc1_waveform": 1,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": 50.000000, "osc1_detune": 50.000000,
"osc1_gain": 0.450000, "osc1_gain": 3.256185,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 1, "osc1_octave": 1,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 2, "osc0_waveform": 2,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.600000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": 0, "osc0_octave": 0,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 2, "osc1_waveform": 2,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": 8.000000, "osc1_detune": 8.000000,
"osc1_gain": 0.550000, "osc1_gain": 3.388255,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 0, "osc1_octave": 0,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 2, "osc0_waveform": 2,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.600000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": 0, "osc0_octave": 0,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 2, "osc1_waveform": 2,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": 10.000000, "osc1_detune": 10.000000,
"osc1_gain": 0.550000, "osc1_gain": 3.895770,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 0, "osc1_octave": 0,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 2, "osc0_waveform": 2,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.700000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": 0, "osc0_octave": 0,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 2, "osc1_waveform": 2,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": -7.000000, "osc1_detune": -7.000000,
"osc1_gain": 0.600000, "osc1_gain": 4.000000,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 0, "osc1_octave": 0,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 1, "osc0_waveform": 1,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.650000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": 0, "osc0_octave": 0,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,9 +14,9 @@
"osc1_waveform": 5, "osc1_waveform": 5,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": 0.000000, "osc1_detune": 0.000000,
"osc1_gain": 0.060000, "osc1_gain": 0.252424,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 0, "osc1_octave": -1,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,
"osc1_modRouting1": 0, "osc1_modRouting1": 0,
"osc1_modRouting2": 2, "osc1_modRouting2": 2,
@@ -26,7 +26,7 @@
"ampEnv_attack": 0.001000, "ampEnv_attack": 0.001000,
"ampEnv_decay": 0.800000, "ampEnv_decay": 0.800000,
"ampEnv_sustain": 0.050000, "ampEnv_sustain": 0.050000,
"ampEnv_release": 0.200000, "ampEnv_release": 1.000000,
"modEnv_attack": 0.001000, "modEnv_attack": 0.001000,
"modEnv_decay": 0.025000, "modEnv_decay": 0.025000,
"modEnv_sustain": 0.000000, "modEnv_sustain": 0.000000,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 1, "osc0_waveform": 1,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.650000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": 0, "osc0_octave": 0,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 2, "osc1_waveform": 2,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": 3.000000, "osc1_detune": 3.000000,
"osc1_gain": 0.250000, "osc1_gain": 2.029922,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 0, "osc1_octave": 0,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,
@@ -26,7 +26,7 @@
"ampEnv_attack": 0.001000, "ampEnv_attack": 0.001000,
"ampEnv_decay": 0.600000, "ampEnv_decay": 0.600000,
"ampEnv_sustain": 0.100000, "ampEnv_sustain": 0.100000,
"ampEnv_release": 0.150000, "ampEnv_release": 1.000000,
"modEnv_attack": 0.001000, "modEnv_attack": 0.001000,
"modEnv_decay": 0.020000, "modEnv_decay": 0.020000,
"modEnv_sustain": 0.000000, "modEnv_sustain": 0.000000,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 1, "osc0_waveform": 1,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.600000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": 0, "osc0_octave": 0,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 0, "osc1_waveform": 0,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": 0.000000, "osc1_detune": 0.000000,
"osc1_gain": 0.280000, "osc1_gain": 1.923622,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 1, "osc1_octave": 1,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 1, "osc0_waveform": 1,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.600000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": 0, "osc0_octave": 0,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 1, "osc1_waveform": 1,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": -10.000000, "osc1_detune": -10.000000,
"osc1_gain": 0.200000, "osc1_gain": 3.014202,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 1, "osc1_octave": 1,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 1, "osc0_waveform": 1,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 6.000000, "osc0_detune": 6.000000,
"osc0_gain": 0.600000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": 0, "osc0_octave": 0,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 1, "osc1_waveform": 1,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": -6.000000, "osc1_detune": -6.000000,
"osc1_gain": 0.580000, "osc1_gain": 2.351905,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 0, "osc1_octave": 0,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 1, "osc0_waveform": 1,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.650000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": 0, "osc0_octave": 0,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 0, "osc1_waveform": 0,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": 5.000000, "osc1_detune": 5.000000,
"osc1_gain": 0.280000, "osc1_gain": 2.452789,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 0, "osc1_octave": 0,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 1, "osc0_waveform": 1,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.650000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": 0, "osc0_octave": 0,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 1, "osc1_waveform": 1,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": 8.000000, "osc1_detune": 8.000000,
"osc1_gain": 0.300000, "osc1_gain": 2.328470,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 0, "osc1_octave": 0,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 4, "osc0_waveform": 4,
"osc0_dutyCycle": 0.300000, "osc0_dutyCycle": 0.300000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.580000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": 0, "osc0_octave": 0,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 2, "osc1_waveform": 2,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": 0.000000, "osc1_detune": 0.000000,
"osc1_gain": 0.380000, "osc1_gain": 3.579050,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": -1, "osc1_octave": -1,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,
@@ -26,7 +26,7 @@
"ampEnv_attack": 0.080000, "ampEnv_attack": 0.080000,
"ampEnv_decay": 0.100000, "ampEnv_decay": 0.100000,
"ampEnv_sustain": 0.900000, "ampEnv_sustain": 0.900000,
"ampEnv_release": 0.250000, "ampEnv_release": 1.000000,
"modEnv_attack": 0.001000, "modEnv_attack": 0.001000,
"modEnv_decay": 0.100000, "modEnv_decay": 0.100000,
"modEnv_sustain": 0.000000, "modEnv_sustain": 0.000000,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 1, "osc0_waveform": 1,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.650000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": 0, "osc0_octave": 0,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 1, "osc1_waveform": 1,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": -15.000000, "osc1_detune": -15.000000,
"osc1_gain": 0.200000, "osc1_gain": 3.591475,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 1, "osc1_octave": 1,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,
@@ -26,7 +26,7 @@
"ampEnv_attack": 0.001000, "ampEnv_attack": 0.001000,
"ampEnv_decay": 0.700000, "ampEnv_decay": 0.700000,
"ampEnv_sustain": 0.050000, "ampEnv_sustain": 0.050000,
"ampEnv_release": 0.150000, "ampEnv_release": 1.000000,
"modEnv_attack": 0.001000, "modEnv_attack": 0.001000,
"modEnv_decay": 0.100000, "modEnv_decay": 0.100000,
"modEnv_sustain": 0.000000, "modEnv_sustain": 0.000000,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 0, "osc0_waveform": 0,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.600000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": 1, "osc0_octave": 1,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 0, "osc1_waveform": 0,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": 8.000000, "osc1_detune": 8.000000,
"osc1_gain": 0.200000, "osc1_gain": 3.423103,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 2, "osc1_octave": 2,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 1, "osc0_waveform": 1,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.650000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": 0, "osc0_octave": 0,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 0, "osc1_waveform": 0,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": 0.000000, "osc1_detune": 0.000000,
"osc1_gain": 0.230000, "osc1_gain": 3.781827,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 1, "osc1_octave": 1,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 1, "osc0_waveform": 1,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.400000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": 0, "osc0_octave": 0,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 5, "osc1_waveform": 5,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": 0.000000, "osc1_detune": 0.000000,
"osc1_gain": 0.180000, "osc1_gain": 0.316301,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 0, "osc1_octave": 0,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 2, "osc0_waveform": 2,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.550000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": 0, "osc0_octave": 0,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 5, "osc1_waveform": 5,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": 0.000000, "osc1_detune": 0.000000,
"osc1_gain": 0.060000, "osc1_gain": 0.909873,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 0, "osc1_octave": 0,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -2,7 +2,7 @@
"osc0_waveform": 2, "osc0_waveform": 2,
"osc0_dutyCycle": 0.500000, "osc0_dutyCycle": 0.500000,
"osc0_detune": 0.000000, "osc0_detune": 0.000000,
"osc0_gain": 0.600000, "osc0_gain": 4.000000,
"osc0_active": 1, "osc0_active": 1,
"osc0_octave": 0, "osc0_octave": 0,
"osc0_modRouting0": 0, "osc0_modRouting0": 0,
@@ -14,7 +14,7 @@
"osc1_waveform": 2, "osc1_waveform": 2,
"osc1_dutyCycle": 0.500000, "osc1_dutyCycle": 0.500000,
"osc1_detune": -6.000000, "osc1_detune": -6.000000,
"osc1_gain": 0.280000, "osc1_gain": 3.334732,
"osc1_active": 1, "osc1_active": 1,
"osc1_octave": 0, "osc1_octave": 0,
"osc1_modRouting0": 0, "osc1_modRouting0": 0,

View File

@@ -1691,7 +1691,7 @@ void uiAboutMenu(UIState *ui, float x, float y, float width)
/* Edit these strings to update the about screen. */ /* Edit these strings to update the about screen. */
static const char *lines[] = { static const char *lines[] = {
"SoundThing v0.9.5", "SoundThing v" APP_VERSION,
"", "",
"Polyphonic subtractive synthesizer", "Polyphonic subtractive synthesizer",
"Built with Raylib", "Built with Raylib",