Add octave offset dropdown, fix waveform sidebar, embed audio in plugin state

- Add octave offset combo (-3 to +3) in title bar for MIDI input transposition
- Fix waveform sidebar base note from C3 to C4
- Fix midiNoteToSliceIndex to compare pitch classes instead of raw MIDI notes
- Add colored slice indicator dots on waveform sidebar keys
- Embed audio data, file path, sample rate, and slices in plugin state for
  DAW project save/restore (falls back to file path if embedded data missing)
This commit is contained in:
Armin 2026-07-21 15:20:49 +02:00
commit 73c4095139
6 changed files with 130 additions and 12 deletions

View file

@ -41,6 +41,7 @@ private:
juce::TextButton zoomOutButton { "-" };
juce::TextButton zoomResetButton { "1:1" };
juce::ComboBox scaleComboBox;
juce::ComboBox octaveComboBox;
static constexpr int baseWidth = 1100;
static constexpr int baseHeight = 550;
@ -77,6 +78,7 @@ private:
std::unique_ptr<ComboBoxAttachment> stretchBeatsAttachment;
std::unique_ptr<ComboBoxAttachment> keyShiftAttachment;
std::unique_ptr<ComboBoxAttachment> scaleAttachment;
std::unique_ptr<ComboBoxAttachment> octaveAttachment;
std::unique_ptr<SliderAttachment> bassAttachment, trebleAttachment, sensitivityAttachment;
std::unique_ptr<SliderAttachment> ampAttackAttachment, ampDecayAttachment, ampSustainAttachment, ampReleaseAttachment;