Krotos Modules 3
Loading...
Searching...
No Matches
Kwidget_Reformer.h
Go to the documentation of this file.
1namespace krotos
2{
3 class Kwidget_Reformer : public Kwidget
4 {
5 public:
6 class Listener
7 {
8 public:
9 virtual ~Listener() = default;
10 virtual void soloActivated(Kwidget_Reformer* engine) = 0;
11 virtual void soloDeActivated(Kwidget_Reformer* engine) = 0;
12 virtual void autoPlayChanged(Kwidget_Reformer* engine, float newValue) = 0;
13 virtual void loopEnableChanged(Kwidget_Reformer* engine, float newValue) = 0;
14 };
15
16 void addListener(Listener* listenerToAdd);
17 void removeListener(Listener* listenerToRemove);
18
19 static const String Version;
20
22 {
23 static const String Start;
24 static const String PuckX;
25 static const String PuckY;
26 static const String Nearest;
27 static const String Size;
28 static const String Rate;
29 static const String Pitch;
30 static const String PitchMod;
31 static const String Width;
32 static const String Pan;
33 static const String Level;
34 static const String GranularLevel;
35 static const String LevelMod;
36 static const String StartRand;
37 static const String SizeRand;
38 static const String RateRand;
39 static const String PitchRand;
40 static const String WidthRand;
41 static const String PanRand;
42 static const String LevelRand;
43 static const String Popcorn;
44 static const String Proximity;
45 static const String Radius;
46 static const String Quench;
47 static const String Robin;
48 static const String SALoop;
49 static const String Normalise;
50 static const String Autoplay;
51 static const String Shape;
52 static const String GrainMax;
53 static const String Segmentation;
54 static const String FeatureExtr;
55 static const String SamplePaths;
56 static const String TabIndex;
57 static const String SlotIndex;
58 static const String Mute;
59 static const String Solo;
60 static const String MIDIMode;
61 static const String Tracking;
62 static const String Coeff0;
63 static const String Coeff1;
64 static const String Coeff2;
65 static const String Coeff3;
66 static const String Coeff4;
67 static const String Coeff5;
68 static const String Coeff6;
69 static const String Coeff7;
70 static const String SelectX;
71 static const String SelectY;
72 static const String SelectZ;
73
74 // Params for adjusting the graphical display
75 static const String AAlpha;
76 static const String AH;
77 static const String AA;
78 };
79
80 static const String embeddingsFilePath;
81 static const String embeddingsFilePathFull;
82
83 static const StringArray ModeNames;
84 static const StringArray MIDIModeNames;
85
86 static const int MaxSegmentationMethods;
87 static const std::map<int, String> SegmentationMethods;
88 static const int MaxFeatureExtrMethods;
89 static const std::map<int, String> FeatureExtrMethods;
90
98
99 Kwidget_Reformer(const String& id);
100
102
103 bool isDroneVoice(int voiceIdx);
104 void noteOn(int voiceIdx, int midiNote, float velocity) override;
105 void noteOff(int voiceIdx, float velocity) override;
106 void noteCleared(int voiceIdx) override;
107
108 bool isActive(int voiceIdx) override;
109
113 bool isUCSEnabled();
114
116
117 inline void canReadSpecificFiles(bool canRead) { m_readSpecificFiles = canRead; };
118
119 protected:
120 std::unique_ptr<NearestNeighbourSearch> m_nearestNeighbourSearch;
121 std::unique_ptr<CatIDSearch> m_categorySearch;
122
123 std::vector<ParameterInfo> createParameters() override;
124 std::unique_ptr<KwidgetProcessor> createProcessor() override;
125 std::unique_ptr<KwidgetGUI> createGUI() override;
126
127 const std::vector<std::pair<String, GuiTypes>> m_reformerGuiTypes{
128 {"Normal", GuiTypes::Normal},
129 {"Sampler", GuiTypes::Sampler},
130 {"Granular", GuiTypes::Granular},
131 {"Vehicle", GuiTypes::Vehicle},
132 };
133
134 size_t numGUIImplementations() override { return m_reformerGuiTypes.size(); }
135
136 String getGuiName(int id) override;
137
138 private:
139 void noteOnInternal(int voiceIdx, int midiNote, float velocity);
140 void noteOffInternal(int voiceIdx, float velocity);
141 void noteClearedInternal(int voiceIdx);
142
145 void soloActivate();
146
149 void soloDeActivate();
150
151 void loadFiles(const StringArray& files);
152 void updateSamplesTree();
153
154 bool m_enableNOR{false};
156 bool m_autoplayEnabled{false};
158
159 ListenerList<Listener> m_listeners;
160
162
163 float m_soloValue{0.0f};
164
166
167 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(Kwidget_Reformer)
168 };
169} // namespace krotos
Definition KrotosSynthesiserSound.h:19
Definition Kwidget_Reformer.h:7
virtual void soloActivated(Kwidget_Reformer *engine)=0
virtual void autoPlayChanged(Kwidget_Reformer *engine, float newValue)=0
virtual void loopEnableChanged(Kwidget_Reformer *engine, float newValue)=0
virtual void soloDeActivated(Kwidget_Reformer *engine)=0
Definition Kwidget_Reformer.h:4
static const String embeddingsFilePathFull
Definition Kwidget_Reformer.h:81
String getGuiName(int id) override
Definition Kwidget_Reformer.cpp:592
static const StringArray MIDIModeNames
Definition Kwidget_Reformer.h:84
void soloActivate()
Called When the state of our solo button is selected true [SOLO].
Definition Kwidget_Reformer.cpp:602
bool m_autoplayEnabled
Definition Kwidget_Reformer.h:156
std::unique_ptr< NearestNeighbourSearch > m_nearestNeighbourSearch
Definition Kwidget_Reformer.h:120
static const String embeddingsFilePath
Definition Kwidget_Reformer.h:80
void updateSamplesTree()
Definition Kwidget_Reformer.cpp:330
std::vector< ParameterInfo > createParameters() override
Definition Kwidget_Reformer.cpp:518
bool isDroneVoice(int voiceIdx)
Definition Kwidget_Reformer.cpp:389
void noteOffInternal(int voiceIdx, float velocity)
Definition Kwidget_Reformer.cpp:467
static const StringArray ModeNames
Definition Kwidget_Reformer.h:83
bool m_readSpecificFiles
Definition Kwidget_Reformer.h:161
void canReadSpecificFiles(bool canRead)
Definition Kwidget_Reformer.h:117
KrotosSampleOscillatorSound m_soSound
Definition Kwidget_Reformer.h:157
SamplesTree * m_samplesTree
Definition Kwidget_Reformer.h:165
void noteOnInternal(int voiceIdx, int midiNote, float velocity)
Definition Kwidget_Reformer.cpp:410
Kwidget_Reformer(const String &id)
Definition Kwidget_Reformer.cpp:88
static const int MaxSegmentationMethods
Definition Kwidget_Reformer.h:86
void noteCleared(int voiceIdx) override
Definition Kwidget_Reformer.cpp:496
void noteOff(int voiceIdx, float velocity) override
Definition Kwidget_Reformer.cpp:477
ListenerList< Listener > m_listeners
Definition Kwidget_Reformer.h:159
std::unique_ptr< KwidgetProcessor > createProcessor() override
Definition Kwidget_Reformer.cpp:582
size_t numGUIImplementations() override
Definition Kwidget_Reformer.h:134
bool m_enableNOR
Definition Kwidget_Reformer.h:154
static const std::map< int, String > SegmentationMethods
Definition Kwidget_Reformer.h:87
KrotosSampleOscillatorSound * getSound()
Definition Kwidget_Reformer.h:115
std::unique_ptr< CatIDSearch > m_categorySearch
Definition Kwidget_Reformer.h:121
static const String Version
Definition Kwidget_Reformer.h:19
MIDIMode m_activeMIDIMode
Definition Kwidget_Reformer.h:155
const std::vector< std::pair< String, GuiTypes > > m_reformerGuiTypes
Definition Kwidget_Reformer.h:127
void createNestedKwidgets(KwidgetAudioProcessor &) override
Definition Kwidget_Reformer.cpp:354
float m_soloValue
Definition Kwidget_Reformer.h:163
bool isUCSEnabled()
Returns true if the UCS-based search has initialised successfully and is ready for use.
Definition Kwidget_Reformer.cpp:387
void loadFiles(const StringArray &files)
Definition Kwidget_Reformer.cpp:293
bool isActive(int voiceIdx) override
Definition Kwidget_Reformer.cpp:394
GuiTypes
Definition Kwidget_Reformer.h:92
@ Sampler
Definition Kwidget_Reformer.h:94
@ Granular
Definition Kwidget_Reformer.h:95
@ Normal
Definition Kwidget_Reformer.h:93
@ Vehicle
Definition Kwidget_Reformer.h:96
static const int MaxFeatureExtrMethods
Definition Kwidget_Reformer.h:88
void removeListener(Listener *listenerToRemove)
Definition Kwidget_Reformer.cpp:596
void noteClearedInternal(int voiceIdx)
Definition Kwidget_Reformer.cpp:486
void soloDeActivate()
Called When the state of our solo button is selected false [SOLO].
Definition Kwidget_Reformer.cpp:607
void addListener(Listener *listenerToAdd)
Definition Kwidget_Reformer.cpp:594
static const std::map< int, String > FeatureExtrMethods
Definition Kwidget_Reformer.h:89
void noteOn(int voiceIdx, int midiNote, float velocity) override
Definition Kwidget_Reformer.cpp:421
std::unique_ptr< KwidgetGUI > createGUI() override
Definition Kwidget_Reformer.cpp:587
Definition KwidgetAudioProcessor.h:12
Definition Kwidget.h:8
A CustomParameterTree for managing a list of samples, with parameters for mute, solo,...
Definition SampleDataTree.h:9
Definition AirAbsorptionFilter.cpp:2
MIDIMode
Definition SampleEngine.h:54
Definition Kwidget_Reformer.h:22
static const String SizeRand
Definition Kwidget_Reformer.h:37
static const String PuckY
Definition Kwidget_Reformer.h:25
static const String Rate
Definition Kwidget_Reformer.h:28
static const String SlotIndex
Definition Kwidget_Reformer.h:57
static const String MIDIMode
Definition Kwidget_Reformer.h:60
static const String SelectZ
Definition Kwidget_Reformer.h:72
static const String Start
Definition Kwidget_Reformer.h:23
static const String PanRand
Definition Kwidget_Reformer.h:41
static const String Autoplay
Definition Kwidget_Reformer.h:50
static const String SelectY
Definition Kwidget_Reformer.h:71
static const String Width
Definition Kwidget_Reformer.h:31
static const String Quench
Definition Kwidget_Reformer.h:46
static const String Pitch
Definition Kwidget_Reformer.h:29
static const String Nearest
Definition Kwidget_Reformer.h:26
static const String WidthRand
Definition Kwidget_Reformer.h:40
static const String SamplePaths
Definition Kwidget_Reformer.h:55
static const String RateRand
Definition Kwidget_Reformer.h:38
static const String Coeff2
Definition Kwidget_Reformer.h:64
static const String Radius
Definition Kwidget_Reformer.h:45
static const String AA
Definition Kwidget_Reformer.h:77
static const String TabIndex
Definition Kwidget_Reformer.h:56
static const String Coeff7
Definition Kwidget_Reformer.h:69
static const String GranularLevel
Definition Kwidget_Reformer.h:34
static const String Size
Definition Kwidget_Reformer.h:27
static const String StartRand
Definition Kwidget_Reformer.h:36
static const String LevelRand
Definition Kwidget_Reformer.h:42
static const String Coeff5
Definition Kwidget_Reformer.h:67
static const String PitchMod
Definition Kwidget_Reformer.h:30
static const String Coeff6
Definition Kwidget_Reformer.h:68
static const String FeatureExtr
Definition Kwidget_Reformer.h:54
static const String Tracking
Definition Kwidget_Reformer.h:61
static const String SALoop
Definition Kwidget_Reformer.h:48
static const String AH
Definition Kwidget_Reformer.h:76
static const String Proximity
Definition Kwidget_Reformer.h:44
static const String AAlpha
Definition Kwidget_Reformer.h:75
static const String Robin
Definition Kwidget_Reformer.h:47
static const String Pan
Definition Kwidget_Reformer.h:32
static const String Coeff4
Definition Kwidget_Reformer.h:66
static const String Mute
Definition Kwidget_Reformer.h:58
static const String LevelMod
Definition Kwidget_Reformer.h:35
static const String GrainMax
Definition Kwidget_Reformer.h:52
static const String Level
Definition Kwidget_Reformer.h:33
static const String Coeff3
Definition Kwidget_Reformer.h:65
static const String SelectX
Definition Kwidget_Reformer.h:70
static const String Normalise
Definition Kwidget_Reformer.h:49
static const String Popcorn
Definition Kwidget_Reformer.h:43
static const String Coeff1
Definition Kwidget_Reformer.h:63
static const String PitchRand
Definition Kwidget_Reformer.h:39
static const String Solo
Definition Kwidget_Reformer.h:59
static const String Segmentation
Definition Kwidget_Reformer.h:53
static const String Coeff0
Definition Kwidget_Reformer.h:62
static const String PuckX
Definition Kwidget_Reformer.h:24
static const String Shape
Definition Kwidget_Reformer.h:51