mirror of
https://codeberg.org/armin/trommelkiste.git
synced 2026-09-01 04:10:46 +02:00
init
This commit is contained in:
commit
8d5ffc6b56
168 changed files with 1436 additions and 0 deletions
12
.gitignore
vendored
Normal file
12
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
build/
|
||||||
|
Builds/
|
||||||
|
.idea/
|
||||||
|
*.user
|
||||||
|
*.suo
|
||||||
|
*.vcxproj.filters
|
||||||
|
*.xcworkspace
|
||||||
|
*.xcuserdata
|
||||||
|
DerivedData/
|
||||||
|
.DS_Store
|
||||||
|
JUCE
|
||||||
|
|
||||||
72
CMakeLists.txt
Normal file
72
CMakeLists.txt
Normal file
|
|
@ -0,0 +1,72 @@
|
||||||
|
cmake_minimum_required(VERSION 3.22)
|
||||||
|
project(Trommelkiste VERSION 1.0.0 LANGUAGES C CXX)
|
||||||
|
|
||||||
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
|
||||||
|
add_subdirectory(JUCE)
|
||||||
|
|
||||||
|
juce_add_plugin(Trommelkiste
|
||||||
|
PRODUCT_NAME "Trommelkiste"
|
||||||
|
COMPANY_NAME "Trommelkiste"
|
||||||
|
PLUGIN_MANUFACTURER_CODE D909
|
||||||
|
PLUGIN_CODE Ds90
|
||||||
|
FORMATS VST3 Standalone AU
|
||||||
|
IS_SYNTH TRUE
|
||||||
|
NEEDS_MIDI_INPUT TRUE
|
||||||
|
IS_MIDI_EFFECT FALSE
|
||||||
|
EDITOR_WANTS_KEYBOARD_FOCUS FALSE
|
||||||
|
COPY_PLUGIN_AFTER_BUILD TRUE
|
||||||
|
)
|
||||||
|
|
||||||
|
target_sources(Trommelkiste PRIVATE
|
||||||
|
Source/PluginProcessor.cpp
|
||||||
|
Source/PluginEditor.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
# Embed all WAV samples into the binary
|
||||||
|
file(GLOB SAMPLE_WAVS "Samples/*.WAV")
|
||||||
|
juce_add_binary_data(TrommelkisteBinaryData
|
||||||
|
HEADER_NAME "BinaryData.h"
|
||||||
|
NAMESPACE "BinaryData"
|
||||||
|
SOURCES ${SAMPLE_WAVS}
|
||||||
|
)
|
||||||
|
|
||||||
|
# Generate sample manifest mapping names -> binary data pointers
|
||||||
|
set(_manifest "// Auto-generated - do not edit\n#pragma once\n")
|
||||||
|
set(_manifest "${_manifest}struct EmbeddedSample { const char* name; const char* data; int size; };\n")
|
||||||
|
set(_manifest "${_manifest}static const EmbeddedSample embeddedSamples[] = {\n")
|
||||||
|
foreach(_f ${SAMPLE_WAVS})
|
||||||
|
get_filename_component(_we ${_f} NAME_WE)
|
||||||
|
string(REGEX REPLACE "[^A-Za-z0-9]" "_" _var ${_we})
|
||||||
|
set(_manifest "${_manifest} { \"${_we}\", BinaryData::${_var}_WAV, BinaryData::${_var}_WAVSize },\n")
|
||||||
|
endforeach()
|
||||||
|
set(_manifest "${_manifest}};\n")
|
||||||
|
set(_manifest "${_manifest}static const int numEmbeddedSamples = sizeof(embeddedSamples) / sizeof(embeddedSamples[0]);\n")
|
||||||
|
file(WRITE "${CMAKE_BINARY_DIR}/SampleLibrary.h" "${_manifest}")
|
||||||
|
|
||||||
|
target_include_directories(TrommelkisteBinaryData PUBLIC "${CMAKE_BINARY_DIR}")
|
||||||
|
|
||||||
|
target_compile_definitions(Trommelkiste PRIVATE
|
||||||
|
JUCE_WEB_BROWSER=0
|
||||||
|
JUCE_USE_CURL=0
|
||||||
|
JUCE_VST3_CAN_REPLACE_VST2=0
|
||||||
|
JUCE_DISPLAY_SPLASH_SCREEN=0
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(Trommelkiste
|
||||||
|
PRIVATE
|
||||||
|
TrommelkisteBinaryData
|
||||||
|
juce::juce_audio_basics
|
||||||
|
juce::juce_audio_devices
|
||||||
|
juce::juce_audio_formats
|
||||||
|
juce::juce_audio_processors
|
||||||
|
juce::juce_audio_utils
|
||||||
|
juce::juce_core
|
||||||
|
juce::juce_data_structures
|
||||||
|
juce::juce_events
|
||||||
|
juce::juce_graphics
|
||||||
|
juce::juce_gui_basics
|
||||||
|
PUBLIC
|
||||||
|
juce::juce_recommended_config_flags
|
||||||
|
)
|
||||||
82
Makefile
Normal file
82
Makefile
Normal file
|
|
@ -0,0 +1,82 @@
|
||||||
|
JUCE := JUCE
|
||||||
|
NPROC := $(shell sysctl -n hw.ncpu 2>/dev/null || nproc 2>/dev/null || echo 4)
|
||||||
|
UNAME_S := $(shell uname -s)
|
||||||
|
|
||||||
|
ifeq ($(UNAME_S),Darwin)
|
||||||
|
AU_DIR := $(HOME)/Library/Audio/Plug-Ins/Components
|
||||||
|
VST3_DIR := $(HOME)/Library/Audio/Plug-Ins/VST3
|
||||||
|
APP_DIR := /Applications
|
||||||
|
else
|
||||||
|
VST3_DIR := $(HOME)/.vst3
|
||||||
|
endif
|
||||||
|
|
||||||
|
BUILD_DIR := build/Trommelkiste_artefacts
|
||||||
|
|
||||||
|
.PHONY: all clean install uninstall
|
||||||
|
|
||||||
|
install: all
|
||||||
|
@echo "==> Installing plugins..."
|
||||||
|
ifeq ($(UNAME_S),Darwin)
|
||||||
|
@mkdir -p "$(AU_DIR)"
|
||||||
|
@for f in $$(find $(BUILD_DIR) -name "*.component" -type d); do \
|
||||||
|
echo " $$f -> $(AU_DIR)/"; \
|
||||||
|
rm -rf "$(AU_DIR)/$$(basename "$$f")"; \
|
||||||
|
cp -R "$$f" "$(AU_DIR)/"; \
|
||||||
|
done
|
||||||
|
@mkdir -p "$(VST3_DIR)"
|
||||||
|
@for f in $$(find $(BUILD_DIR) -name "*.vst3" -type d); do \
|
||||||
|
echo " $$f -> $(VST3_DIR)/"; \
|
||||||
|
rm -rf "$(VST3_DIR)/$$(basename "$$f")"; \
|
||||||
|
cp -R "$$f" "$(VST3_DIR)/"; \
|
||||||
|
done
|
||||||
|
@mkdir -p "$(APP_DIR)"
|
||||||
|
@for f in $$(find $(BUILD_DIR) -name "*.app" -type d); do \
|
||||||
|
echo " $$f -> $(APP_DIR)/"; \
|
||||||
|
rm -rf "$(APP_DIR)/$$(basename "$$f")"; \
|
||||||
|
cp -R "$$f" "$(APP_DIR)/"; \
|
||||||
|
done
|
||||||
|
else
|
||||||
|
@mkdir -p "$(VST3_DIR)"
|
||||||
|
@for f in $$(find $(BUILD_DIR) -name "*.vst3" -type d); do \
|
||||||
|
echo " $$f -> $(VST3_DIR)/"; \
|
||||||
|
rm -rf "$(VST3_DIR)/$$(basename "$$f")"; \
|
||||||
|
cp -R "$$f" "$(VST3_DIR)/"; \
|
||||||
|
done
|
||||||
|
endif
|
||||||
|
@echo "==> Done."
|
||||||
|
|
||||||
|
all: build/Makefile
|
||||||
|
@$(MAKE) --no-print-directory -C build -j$(NPROC)
|
||||||
|
@echo ""
|
||||||
|
@echo "Build complete. Output:"
|
||||||
|
@find $(BUILD_DIR) -type d \( -name "*.vst3" -o -name "*.component" -o -name "*.app" \) 2>/dev/null | while read f; do echo " $$f"; done
|
||||||
|
|
||||||
|
build/Makefile: CMakeLists.txt
|
||||||
|
@if [ ! -d "$(JUCE)" ]; then \
|
||||||
|
echo "==> Cloning JUCE..."; \
|
||||||
|
git clone --depth 1 https://github.com/juce-framework/JUCE.git $(JUCE); \
|
||||||
|
fi
|
||||||
|
@echo "==> Configuring CMake..."
|
||||||
|
@cmake -B build -DCMAKE_BUILD_TYPE=Release
|
||||||
|
|
||||||
|
uninstall:
|
||||||
|
@echo "==> Removing installed plugins..."
|
||||||
|
ifeq ($(UNAME_S),Darwin)
|
||||||
|
@for f in $$(find $(BUILD_DIR) -name "*.component" -type d 2>/dev/null); do \
|
||||||
|
rm -rf "$(AU_DIR)/$$(basename "$$f")"; \
|
||||||
|
done
|
||||||
|
@for f in $$(find $(BUILD_DIR) -name "*.vst3" -type d 2>/dev/null); do \
|
||||||
|
rm -rf "$(VST3_DIR)/$$(basename "$$f")"; \
|
||||||
|
done
|
||||||
|
@for f in $$(find $(BUILD_DIR) -name "*.app" -type d 2>/dev/null); do \
|
||||||
|
rm -rf "$(APP_DIR)/$$(basename "$$f")"; \
|
||||||
|
done
|
||||||
|
else
|
||||||
|
@for f in $$(find $(BUILD_DIR) -name "*.vst3" -type d 2>/dev/null); do \
|
||||||
|
rm -rf "$(VST3_DIR)/$$(basename "$$f")"; \
|
||||||
|
done
|
||||||
|
endif
|
||||||
|
@echo "==> Done."
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -rf build
|
||||||
BIN
Samples/BT0A0A7.WAV
Executable file
BIN
Samples/BT0A0A7.WAV
Executable file
Binary file not shown.
BIN
Samples/BT0A0D0.WAV
Executable file
BIN
Samples/BT0A0D0.WAV
Executable file
Binary file not shown.
BIN
Samples/BT0A0D3.WAV
Executable file
BIN
Samples/BT0A0D3.WAV
Executable file
Binary file not shown.
BIN
Samples/BT0A0DA.WAV
Executable file
BIN
Samples/BT0A0DA.WAV
Executable file
Binary file not shown.
BIN
Samples/BT0AAD0.WAV
Executable file
BIN
Samples/BT0AAD0.WAV
Executable file
Binary file not shown.
BIN
Samples/BT0AADA.WAV
Executable file
BIN
Samples/BT0AADA.WAV
Executable file
Binary file not shown.
BIN
Samples/BT3A0D0.WAV
Executable file
BIN
Samples/BT3A0D0.WAV
Executable file
Binary file not shown.
BIN
Samples/BT3A0D3.WAV
Executable file
BIN
Samples/BT3A0D3.WAV
Executable file
Binary file not shown.
BIN
Samples/BT3A0D7.WAV
Executable file
BIN
Samples/BT3A0D7.WAV
Executable file
Binary file not shown.
BIN
Samples/BT3A0DA.WAV
Executable file
BIN
Samples/BT3A0DA.WAV
Executable file
Binary file not shown.
BIN
Samples/BT3AAD0.WAV
Executable file
BIN
Samples/BT3AAD0.WAV
Executable file
Binary file not shown.
BIN
Samples/BT3AADA.WAV
Executable file
BIN
Samples/BT3AADA.WAV
Executable file
Binary file not shown.
BIN
Samples/BT7A0D0.WAV
Executable file
BIN
Samples/BT7A0D0.WAV
Executable file
Binary file not shown.
BIN
Samples/BT7A0D3.WAV
Executable file
BIN
Samples/BT7A0D3.WAV
Executable file
Binary file not shown.
BIN
Samples/BT7A0D7.WAV
Executable file
BIN
Samples/BT7A0D7.WAV
Executable file
Binary file not shown.
BIN
Samples/BT7A0DA.WAV
Executable file
BIN
Samples/BT7A0DA.WAV
Executable file
Binary file not shown.
BIN
Samples/BT7AAD0.WAV
Executable file
BIN
Samples/BT7AAD0.WAV
Executable file
Binary file not shown.
BIN
Samples/BT7AADA.WAV
Executable file
BIN
Samples/BT7AADA.WAV
Executable file
Binary file not shown.
BIN
Samples/BTAA0D0.WAV
Executable file
BIN
Samples/BTAA0D0.WAV
Executable file
Binary file not shown.
BIN
Samples/BTAA0D3.WAV
Executable file
BIN
Samples/BTAA0D3.WAV
Executable file
Binary file not shown.
BIN
Samples/BTAA0D7.WAV
Executable file
BIN
Samples/BTAA0D7.WAV
Executable file
Binary file not shown.
BIN
Samples/BTAA0DA.WAV
Executable file
BIN
Samples/BTAA0DA.WAV
Executable file
Binary file not shown.
BIN
Samples/BTAAAD0.WAV
Executable file
BIN
Samples/BTAAAD0.WAV
Executable file
Binary file not shown.
BIN
Samples/BTAAADA.WAV
Executable file
BIN
Samples/BTAAADA.WAV
Executable file
Binary file not shown.
BIN
Samples/CLOP1.WAV
Executable file
BIN
Samples/CLOP1.WAV
Executable file
Binary file not shown.
BIN
Samples/CLOP2.WAV
Executable file
BIN
Samples/CLOP2.WAV
Executable file
Binary file not shown.
BIN
Samples/CLOP3.WAV
Executable file
BIN
Samples/CLOP3.WAV
Executable file
Binary file not shown.
BIN
Samples/CLOP4.WAV
Executable file
BIN
Samples/CLOP4.WAV
Executable file
Binary file not shown.
BIN
Samples/CSHD0.WAV
Executable file
BIN
Samples/CSHD0.WAV
Executable file
Binary file not shown.
BIN
Samples/CSHD2.WAV
Executable file
BIN
Samples/CSHD2.WAV
Executable file
Binary file not shown.
BIN
Samples/CSHD4.WAV
Executable file
BIN
Samples/CSHD4.WAV
Executable file
Binary file not shown.
BIN
Samples/CSHD6.WAV
Executable file
BIN
Samples/CSHD6.WAV
Executable file
Binary file not shown.
BIN
Samples/CSHD8.WAV
Executable file
BIN
Samples/CSHD8.WAV
Executable file
Binary file not shown.
BIN
Samples/CSHDA.WAV
Executable file
BIN
Samples/CSHDA.WAV
Executable file
Binary file not shown.
BIN
Samples/HANDCLP1.WAV
Executable file
BIN
Samples/HANDCLP1.WAV
Executable file
Binary file not shown.
BIN
Samples/HANDCLP2.WAV
Executable file
BIN
Samples/HANDCLP2.WAV
Executable file
Binary file not shown.
BIN
Samples/HHCD0.WAV
Executable file
BIN
Samples/HHCD0.WAV
Executable file
Binary file not shown.
BIN
Samples/HHCD2.WAV
Executable file
BIN
Samples/HHCD2.WAV
Executable file
Binary file not shown.
BIN
Samples/HHCD4.WAV
Executable file
BIN
Samples/HHCD4.WAV
Executable file
Binary file not shown.
BIN
Samples/HHCD6.WAV
Executable file
BIN
Samples/HHCD6.WAV
Executable file
Binary file not shown.
BIN
Samples/HHCD8.WAV
Executable file
BIN
Samples/HHCD8.WAV
Executable file
Binary file not shown.
BIN
Samples/HHCDA.WAV
Executable file
BIN
Samples/HHCDA.WAV
Executable file
Binary file not shown.
BIN
Samples/HHOD0.WAV
Executable file
BIN
Samples/HHOD0.WAV
Executable file
Binary file not shown.
BIN
Samples/HHOD2.WAV
Executable file
BIN
Samples/HHOD2.WAV
Executable file
Binary file not shown.
BIN
Samples/HHOD4.WAV
Executable file
BIN
Samples/HHOD4.WAV
Executable file
Binary file not shown.
BIN
Samples/HHOD6.WAV
Executable file
BIN
Samples/HHOD6.WAV
Executable file
Binary file not shown.
BIN
Samples/HHOD8.WAV
Executable file
BIN
Samples/HHOD8.WAV
Executable file
Binary file not shown.
BIN
Samples/HHODA.WAV
Executable file
BIN
Samples/HHODA.WAV
Executable file
Binary file not shown.
BIN
Samples/HT0D0.WAV
Executable file
BIN
Samples/HT0D0.WAV
Executable file
Binary file not shown.
BIN
Samples/HT0D3.WAV
Executable file
BIN
Samples/HT0D3.WAV
Executable file
Binary file not shown.
BIN
Samples/HT0D7.WAV
Executable file
BIN
Samples/HT0D7.WAV
Executable file
Binary file not shown.
BIN
Samples/HT0DA.WAV
Executable file
BIN
Samples/HT0DA.WAV
Executable file
Binary file not shown.
BIN
Samples/HT3D0.WAV
Executable file
BIN
Samples/HT3D0.WAV
Executable file
Binary file not shown.
BIN
Samples/HT3D3.WAV
Executable file
BIN
Samples/HT3D3.WAV
Executable file
Binary file not shown.
BIN
Samples/HT3D7.WAV
Executable file
BIN
Samples/HT3D7.WAV
Executable file
Binary file not shown.
BIN
Samples/HT3DA.WAV
Executable file
BIN
Samples/HT3DA.WAV
Executable file
Binary file not shown.
BIN
Samples/HT7D0.WAV
Executable file
BIN
Samples/HT7D0.WAV
Executable file
Binary file not shown.
BIN
Samples/HT7D3.WAV
Executable file
BIN
Samples/HT7D3.WAV
Executable file
Binary file not shown.
BIN
Samples/HT7D7.WAV
Executable file
BIN
Samples/HT7D7.WAV
Executable file
Binary file not shown.
BIN
Samples/HT7DA.WAV
Executable file
BIN
Samples/HT7DA.WAV
Executable file
Binary file not shown.
BIN
Samples/HTAD0.WAV
Executable file
BIN
Samples/HTAD0.WAV
Executable file
Binary file not shown.
BIN
Samples/HTAD3.WAV
Executable file
BIN
Samples/HTAD3.WAV
Executable file
Binary file not shown.
BIN
Samples/HTAD7.WAV
Executable file
BIN
Samples/HTAD7.WAV
Executable file
Binary file not shown.
BIN
Samples/HTADA.WAV
Executable file
BIN
Samples/HTADA.WAV
Executable file
Binary file not shown.
BIN
Samples/LT0D0.WAV
Executable file
BIN
Samples/LT0D0.WAV
Executable file
Binary file not shown.
BIN
Samples/LT0D3.WAV
Executable file
BIN
Samples/LT0D3.WAV
Executable file
Binary file not shown.
BIN
Samples/LT0D7.WAV
Executable file
BIN
Samples/LT0D7.WAV
Executable file
Binary file not shown.
BIN
Samples/LT0DA.WAV
Executable file
BIN
Samples/LT0DA.WAV
Executable file
Binary file not shown.
BIN
Samples/LT3D0.WAV
Executable file
BIN
Samples/LT3D0.WAV
Executable file
Binary file not shown.
BIN
Samples/LT3D3.WAV
Executable file
BIN
Samples/LT3D3.WAV
Executable file
Binary file not shown.
BIN
Samples/LT3D7.WAV
Executable file
BIN
Samples/LT3D7.WAV
Executable file
Binary file not shown.
BIN
Samples/LT3DA.WAV
Executable file
BIN
Samples/LT3DA.WAV
Executable file
Binary file not shown.
BIN
Samples/LT7D0.WAV
Executable file
BIN
Samples/LT7D0.WAV
Executable file
Binary file not shown.
BIN
Samples/LT7D3.WAV
Executable file
BIN
Samples/LT7D3.WAV
Executable file
Binary file not shown.
BIN
Samples/LT7D7.WAV
Executable file
BIN
Samples/LT7D7.WAV
Executable file
Binary file not shown.
BIN
Samples/LT7DA.WAV
Executable file
BIN
Samples/LT7DA.WAV
Executable file
Binary file not shown.
BIN
Samples/LTAD0.WAV
Executable file
BIN
Samples/LTAD0.WAV
Executable file
Binary file not shown.
BIN
Samples/LTAD3.WAV
Executable file
BIN
Samples/LTAD3.WAV
Executable file
Binary file not shown.
BIN
Samples/LTAD7.WAV
Executable file
BIN
Samples/LTAD7.WAV
Executable file
Binary file not shown.
BIN
Samples/LTADA.WAV
Executable file
BIN
Samples/LTADA.WAV
Executable file
Binary file not shown.
BIN
Samples/MT0D0.WAV
Executable file
BIN
Samples/MT0D0.WAV
Executable file
Binary file not shown.
BIN
Samples/MT0D3.WAV
Executable file
BIN
Samples/MT0D3.WAV
Executable file
Binary file not shown.
BIN
Samples/MT0D7.WAV
Executable file
BIN
Samples/MT0D7.WAV
Executable file
Binary file not shown.
BIN
Samples/MT0DA.WAV
Executable file
BIN
Samples/MT0DA.WAV
Executable file
Binary file not shown.
BIN
Samples/MT3D0.WAV
Executable file
BIN
Samples/MT3D0.WAV
Executable file
Binary file not shown.
BIN
Samples/MT3D3.WAV
Executable file
BIN
Samples/MT3D3.WAV
Executable file
Binary file not shown.
BIN
Samples/MT3D7.WAV
Executable file
BIN
Samples/MT3D7.WAV
Executable file
Binary file not shown.
BIN
Samples/MT3DA.WAV
Executable file
BIN
Samples/MT3DA.WAV
Executable file
Binary file not shown.
BIN
Samples/MT7D0.WAV
Executable file
BIN
Samples/MT7D0.WAV
Executable file
Binary file not shown.
BIN
Samples/MT7D3.WAV
Executable file
BIN
Samples/MT7D3.WAV
Executable file
Binary file not shown.
BIN
Samples/MT7D7.WAV
Executable file
BIN
Samples/MT7D7.WAV
Executable file
Binary file not shown.
BIN
Samples/MT7DA.WAV
Executable file
BIN
Samples/MT7DA.WAV
Executable file
Binary file not shown.
BIN
Samples/MTAD0.WAV
Executable file
BIN
Samples/MTAD0.WAV
Executable file
Binary file not shown.
BIN
Samples/MTAD3.WAV
Executable file
BIN
Samples/MTAD3.WAV
Executable file
Binary file not shown.
BIN
Samples/MTAD7.WAV
Executable file
BIN
Samples/MTAD7.WAV
Executable file
Binary file not shown.
BIN
Samples/MTADA.WAV
Executable file
BIN
Samples/MTADA.WAV
Executable file
Binary file not shown.
BIN
Samples/OPCL1.WAV
Executable file
BIN
Samples/OPCL1.WAV
Executable file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue