what is it you are actually trying to do? I get kind of the same result as you do but then I also don't see the real point. Surely if you want multiple inputs you can just set the argument in ADC~ and you will have multiple out puts. When you change audio settings the audio will restart which is presumably why your buffer gets erased (but I'm not 100%). Also the (3 3) message to ADC~ i think doesn't do anything as your ADC~ only have two outputs.
1. I want to be able to record stuff into several buffers in a flexible way without loosing the last recording I did.
- I mean there's gotta be a way to avoid this.... or else multi-sampling for live use isn't going to work at all.
2. I want to be able to change inputs without audio stopping
regarding the adc outputs: if you click the 3 3 or 2 2 message boxes and afterwards hold your mouse over the adc outlets you will notice that it changes the inputs in theory.. but in practice it doesn't work obviously.
This doesn't have anything to do with lack of outlets on the adc object.
Ok so the loss of the last recorded buffer is weird I don't really understand why has to do that. It seems to happen whenever the audio is restarted, seemingly [record~] writes over the buffer. I think you can get around this behaviour by giving it a name of another buffer before you do anything that restarts the audio.
As for the input changing I would just put all your input numbers as the arguments for [record~] and put a [selector~] underneath. You can then route those inputs to whatever you want without having to change the channels around and restart the audio in the process.