fix midi
This commit is contained in:
@@ -127,6 +127,6 @@ if (WIN32)
|
|||||||
|
|
||||||
else()
|
else()
|
||||||
target_include_directories(metabolus PRIVATE ${RTAUDIO_INCLUDE_DIRS} ${RTMIDI_INCLUDE_DIRS})
|
target_include_directories(metabolus PRIVATE ${RTAUDIO_INCLUDE_DIRS} ${RTMIDI_INCLUDE_DIRS})
|
||||||
target_link_libraries(metabolus PRIVATE Qt6::Widgets ${RTAUDIO_LIBRARIES} ${RTMIDI_LIBARARIES})
|
target_link_libraries(metabolus PRIVATE Qt6::Widgets ${RTAUDIO_LIBRARIES} ${RTMIDI_LIBRARIES})
|
||||||
target_compile_options(metabolus PRIVATE ${RTAUDIO_CFLAGS_OTHER})
|
target_compile_options(metabolus PRIVATE ${RTAUDIO_CFLAGS_OTHER})
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
@@ -5,10 +5,11 @@
|
|||||||
MidiController::MidiController(NoteQueue& queue) : noteQueue_(queue) {
|
MidiController::MidiController(NoteQueue& queue) : noteQueue_(queue) {
|
||||||
try {
|
try {
|
||||||
midiIn_ = std::make_unique<RtMidiIn>();
|
midiIn_ = std::make_unique<RtMidiIn>();
|
||||||
midiIn_->ignoreTypes(false, false, false);
|
midiIn_->ignoreTypes(false, true, false);
|
||||||
} catch (RtMidiError& e) {
|
} catch (RtMidiError& e) {
|
||||||
std::cerr << "RtMidi init failed: " << e.getMessage() << std::endl;
|
std::cerr << "RtMidi init failed: " << e.getMessage() << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
MidiController::~MidiController() {
|
MidiController::~MidiController() {
|
||||||
@@ -72,7 +73,4 @@ void MidiController::handleMessage(const std::vector<unsigned char>& msg) {
|
|||||||
0.0f
|
0.0f
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// to have a peak :)
|
|
||||||
std::cout << msg[0] << std::endl;
|
|
||||||
}
|
}
|
||||||
@@ -75,12 +75,12 @@ constexpr std::array<ParamDefault, static_cast<size_t>(ParamId::Count)> PARAM_DE
|
|||||||
{ 0.05f, 0.0f, 2.0f}, // FilterCutoffEnvA
|
{ 0.05f, 0.0f, 2.0f}, // FilterCutoffEnvA
|
||||||
{ 0.05f, 0.0f, 2.0f}, // FilterCutoffEnvD
|
{ 0.05f, 0.0f, 2.0f}, // FilterCutoffEnvD
|
||||||
{ 2.0f, 0.0f, 1.0f}, // FilterCutoffEnvS
|
{ 2.0f, 0.0f, 1.0f}, // FilterCutoffEnvS
|
||||||
{ 0.05f, 0.0f, 2.0f}, // FilterCutoffEnvR
|
{ 0.08f, 0.0f, 2.0f}, // FilterCutoffEnvR
|
||||||
{ 1.414f, 0.0f, 8.0f}, // FilterResonanceDepth
|
{ 1.414f, 0.0f, 8.0f}, // FilterResonanceDepth
|
||||||
{ 0.05f, 0.0f, 2.0f}, // FilterResonanceEnvA
|
{ 0.05f, 0.0f, 2.0f}, // FilterResonanceEnvA
|
||||||
{ 0.05f, 0.0f, 2.0f}, // FilterResonanceEnvD
|
{ 0.05f, 0.0f, 2.0f}, // FilterResonanceEnvD
|
||||||
{ 0.5f, 0.0f, 1.0f}, // FilterResonanceEnvS
|
{ 0.5f, 0.0f, 1.0f}, // FilterResonanceEnvS
|
||||||
{ 0.05f, 0.0f, 2.0f}, // FilterResonanceEnvR
|
{ 0.10f, 0.0f, 2.0f}, // FilterResonanceEnvR
|
||||||
}};
|
}};
|
||||||
|
|
||||||
constexpr size_t PARAM_COUNT = static_cast<size_t>(ParamId::Count);
|
constexpr size_t PARAM_COUNT = static_cast<size_t>(ParamId::Count);
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ private:
|
|||||||
RtAudio audio_; // audio device
|
RtAudio audio_; // audio device
|
||||||
// TODO: id like a yml config file or something for these
|
// TODO: id like a yml config file or something for these
|
||||||
uint32_t sampleRate_ = 44100;
|
uint32_t sampleRate_ = 44100;
|
||||||
uint32_t bufferFrames_ = 256; // time per buffer = BF/SR (256/44100 = 5.8ms)
|
uint32_t bufferFrames_ = 128; // time per buffer = BF/SR (256/44100 = 5.8ms)
|
||||||
uint32_t channels_ = 2; // stereo
|
uint32_t channels_ = 2; // stereo
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -51,6 +51,8 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
// synth business
|
// synth business
|
||||||
audio_->start();
|
audio_->start();
|
||||||
|
|
||||||
|
// midi
|
||||||
|
midi_.openPort(1); // TODO: error check
|
||||||
}
|
}
|
||||||
|
|
||||||
MainWindow::~MainWindow() {
|
MainWindow::~MainWindow() {
|
||||||
|
|||||||
Reference in New Issue
Block a user