Deluge Firmware 1.3.0
Build date: 2025.04.16
Loading...
Searching...
No Matches
scale_mapper.h
1#pragma once
2
3#include "model/scale/note_set.h"
4#include "model/scale/scale_change.h"
5#include "util/const_functions.h"
6
7#include <cstdint>
8
9#if IN_UNIT_TESTS
10#include <iostream>
11#endif
12
14public:
23 bool computeChangeFrom(NoteSet notes, NoteSet sourceScale, NoteSet targetScale, ScaleChange& changes);
24
25private:
35 NoteSet initialTransitionScale(NoteSet sourceScale);
36 void computeInitialChanges(NoteSet sourceScale, NoteSet initialScale, ScaleChange& changes);
37 void flushTransitionScaleStore(NoteSet initialScale);
38 void computeFinalChanges(NoteSet initialScale, NoteSet transitionScale, NoteSet targetScale, ScaleChange& changes);
39 NoteSet nextTransitionScale(NoteSet notes, NoteSet transitionScale, NoteSet targetScale);
40};
Definition note_set.h:20
Definition scale_change.h:5
Definition scale_mapper.h:13
NoteSet lastTransitionNotes
Definition scale_mapper.h:28
bool computeChangeFrom(NoteSet notes, NoteSet sourceScale, NoteSet targetScale, ScaleChange &changes)
Definition scale_mapper.cpp:13
NoteSet transitionScaleStore[kMaxScaleSize]
Definition scale_mapper.h:34