memlnaut-nisps/modes/MEMLNautModeXIASRI.hpp

60 lines
1.3 KiB
C++
Raw Normal View History

2025-11-23 16:48:14 +01:00
#pragma once
#include "../src/memllib/interface/MIDIInOut.hpp"
#include "../ChannelStripAudioApp.hpp"
#include "MEMLNautMode.hpp"
#include <memory>
#include <array>
class MEMLNautModeXIASRI {
public:
constexpr static size_t kN_InputParams = XiasriAnalysis::kN_Params; // joystick x, y, rotate
ChannelStripAudioApp<> audioAppXIASRI;
std::array<String, ChannelStripAudioApp<>::nVoiceSpaces> voiceSpaceList;
String getHelpTitle() {
return "XIASRI Mode";
}
size_t getNParams() {
return ChannelStripAudioApp<>::kN_Params;
}
void setVoiceSpace(size_t i) {
audioAppXIASRI.setVoiceSpace(i);
}
std::span<String> getVoiceSpaceList() {
return voiceSpaceList;
}
__force_inline stereosample_t process(stereosample_t x) {
return audioAppXIASRI.Process(x);
}
void setupMIDI(std::shared_ptr<MIDIInOut> midi_interf) {
}
void addViews() {
};
void Setup(float sample_rate, std::shared_ptr<InterfaceBase> interface) {
audioAppXIASRI.Setup(sample_rate, interface);
voiceSpaceList = audioAppXIASRI.getVoiceSpaceNames();
}
__force_inline void loop() {
audioAppXIASRI.loop();
}
size_t getNMIDICtrlOutputs() {
return 0;
}
inline void processAnalysisParams(std::shared_ptr<InterfaceBase> interface) {}
};