11namespace tracktion {
inline namespace engine
29 void checkForDeletedParams();
33 void sendChange (
int controllerID,
float newValue,
int channel);
39 int getNumControllerIDs()
const {
return controllerIDs.
size(); }
40 void showMappingsListForRow (
int);
41 int getRowBeingListenedTo()
const;
44 void listenToRow (
int);
45 void setLearntParam (
bool keepListening);
50 : parameter (p), controllerID (cont), channelID (chan) {}
53 int controllerID = -1, channelID = -1;
56 Mapping getMappingForRow (
int row)
const;
58 void removeMapping (
int index);
67 struct ParameterAndIndex
76 void savePreset (
int index);
77 void loadPreset (
int index);
78 void deletePreset (
int index);
87 int lastControllerID = 0;
88 float lastControllerValue = 0;
89 int lastControllerChannel = 0;
90 int listeningOnRow = -1;
94 void tellEditAboutChange();
97 void handleAsyncUpdate()
override;
int size() const noexcept
bool contains(const ObjectClass *objectToLookFor) const noexcept
The Tracktion Edit class!
The Engine is the central class for all tracktion sessions.
Controls the set of midi-controller-to-parameter mappings.
void sendChange(int controllerID, float newValue, int channel)
called by the midi input devices when they get moved.
void showMappingsEditor(juce::DialogWindow::LaunchOptions &)
This will put the surface in listen and assign mode, launching the given dialog window.