Initial commit: InstaDrums VST3 drum sampler plugin
- 12-pad drum sampler with 4x3 grid (expandable by 4) - Velocity layers with round-robin (Salamander-style filename parsing) - Rhythm Engine-style GUI: pad grid (left), sample editor (right top), FX panel (right bottom), master panel (bottom) - Waveform thumbnails on pads + large waveform in sample editor - ADSR envelope, pitch, pan per pad - Drag & drop sample/folder loading - Kit save/load (.drumkit XML presets) - Load Folder with smart name matching (kick, snare, hihat, etc.) - Choke groups, one-shot/polyphonic mode - Dark modern LookAndFeel with neon accent colors - Built with JUCE framework, CMake, MSVC 2022 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
58
CMakeLists.txt
Normal file
58
CMakeLists.txt
Normal file
@@ -0,0 +1,58 @@
|
||||
cmake_minimum_required(VERSION 3.22)
|
||||
project(InstaDrums VERSION 1.0.0)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../JUCE ${CMAKE_CURRENT_BINARY_DIR}/JUCE)
|
||||
|
||||
juce_add_plugin(InstaDrums
|
||||
COMPANY_NAME "InstaDrums"
|
||||
IS_SYNTH TRUE
|
||||
NEEDS_MIDI_INPUT TRUE
|
||||
NEEDS_MIDI_OUTPUT TRUE
|
||||
PLUGIN_MANUFACTURER_CODE Inst
|
||||
PLUGIN_CODE Idrm
|
||||
FORMATS VST3 Standalone
|
||||
PRODUCT_NAME "InstaDrums"
|
||||
COPY_PLUGIN_AFTER_BUILD FALSE
|
||||
)
|
||||
|
||||
juce_generate_juce_header(InstaDrums)
|
||||
|
||||
target_sources(InstaDrums
|
||||
PRIVATE
|
||||
Source/PluginProcessor.cpp
|
||||
Source/PluginEditor.cpp
|
||||
Source/DrumPad.cpp
|
||||
Source/PadComponent.cpp
|
||||
Source/LookAndFeel.cpp
|
||||
Source/WaveformDisplay.cpp
|
||||
Source/SampleEditorPanel.cpp
|
||||
Source/FxPanel.cpp
|
||||
Source/MasterPanel.cpp
|
||||
)
|
||||
|
||||
target_compile_definitions(InstaDrums
|
||||
PUBLIC
|
||||
JUCE_WEB_BROWSER=0
|
||||
JUCE_USE_CURL=0
|
||||
JUCE_VST3_CAN_REPLACE_VST2=0
|
||||
)
|
||||
|
||||
target_link_libraries(InstaDrums
|
||||
PRIVATE
|
||||
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_dsp
|
||||
juce::juce_graphics
|
||||
juce::juce_gui_basics
|
||||
juce::juce_gui_extra
|
||||
PUBLIC
|
||||
juce::juce_recommended_config_flags
|
||||
juce::juce_recommended_warning_flags
|
||||
)
|
||||
Reference in New Issue
Block a user