V45.5 instrument solo path (Q3 debug): dbg log solo_toggle/solo_apply/solo_kill/solo_guard/play_tracks - lan test toi thay ro trang thai ref + note bi block; C++ [Vst2Sandbox] ON/OFF/CC log trong SandboxVst2Host (Qin chay sandbox, truoc day midi vao Qin hoan toan mu trong bridge.log - chi VST3 log [midi]), v=202608291806
This commit is contained in:
@@ -195,6 +195,7 @@ void SandboxVst2Host::pushControl(uint32_t type, uint32_t arg0, uint32_t arg1) {
|
||||
|
||||
void SandboxVst2Host::noteOn(uint32_t channel, uint32_t pitch, float velocity, uint32_t sampleOffset) {
|
||||
if (!alive_.load() || !ipc_) return;
|
||||
std::cerr << "[Vst2Sandbox] ON ch=" << channel << " p=" << pitch << " v=" << (int)(velocity * 127.0f) << std::endl;
|
||||
(void)channel; // one instrument per child; Qin listens only on MIDI ch 0
|
||||
shm_write_midi(shm_, 0x9, 0, (uint8_t)pitch,
|
||||
(uint8_t)(velocity * 127.0f), sampleOffset);
|
||||
@@ -202,12 +203,14 @@ void SandboxVst2Host::noteOn(uint32_t channel, uint32_t pitch, float velocity, u
|
||||
|
||||
void SandboxVst2Host::noteOff(uint32_t channel, uint32_t pitch, uint32_t sampleOffset) {
|
||||
if (!alive_.load() || !ipc_) return;
|
||||
std::cerr << "[Vst2Sandbox] OFF ch=" << channel << " p=" << pitch << std::endl;
|
||||
(void)channel; // see noteOn
|
||||
shm_write_midi(shm_, 0x8, 0, (uint8_t)pitch, 0, sampleOffset);
|
||||
}
|
||||
|
||||
void SandboxVst2Host::controlChange(uint32_t channel, uint32_t cc, uint32_t value) {
|
||||
if (!alive_.load() || !ipc_) return;
|
||||
std::cerr << "[Vst2Sandbox] CC ch=" << channel << " cc=" << cc << " v=" << value << std::endl;
|
||||
(void)channel; // see noteOn
|
||||
shm_write_midi(shm_, 0xB, 0, (uint8_t)cc, 0, 0, (uint8_t)value, 0);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user