On my Daisy Patch, I always used only one audio input/output or one stereo input/stereo output.
Now I need to process more signals in different ways and found this strange behavior:
if I plug only one audio cable on IN1, in the callback
void AudioCallback(AudioHandle::InputBuffer in, AudioHandle::OutputBuffer out, size_t size)
I see that the signal data in[0][N] is replicated also to in[1][N], in[2][N], in[3][N]
Is it ok (and documented somewhere)?
Is there a way to check which cables are connected to the inputs?
Or a parameter to set in order to have in[1][N], in[2][N], in[3][N] zeroed in the AudioCallback if there are no cables connected to the corresponding inputs?
1 It’s how it was designed, the inputs are normaled this way.
2 There is no way to check if nothing is plugged in.
3 So, no way to automatically zero the unused inputs.
This probably could have been done differently.
Edit:
I knew I’d read about this before. On Rev6 or newer Patch, the normaled inputs can be disabled by removing some resistors. Still a bit simplistic, I would have preferred non-normaled inputs be grounded when no cable is present. And even then, reliable cable detection in software wouldn’t be possible.
Ok, thank you!
So if a plug a cable on IN1 and a cable on IN3 and leave IN2, IN4 unconnected; in the array I’ll find that in[1][N] == in[0][N] and in[3][N] == in[2][N]; correct?
(or the weirder in[1][n] == in[3][N] == in[0][N] ???)
I don’t have a Patch to test, and the ‘schematic’ doesn’t say, but from the photo in the linked post, I’d say it’s in[1][N] == in[0][N] and in[3][N] == in[2][N]
I think there may be different versions of the schematic, I’m pretty sure I looked at one this morning that didn’t show the ‘normal’ connections. Or I just missed the (now obvious!) labels.
Anyway, yes, the schematic on the product page at this moment clearly indicates how the jacks are wired.