On Tue, Jan 31, 2012 at 05:05:59PM +0400, Alexandre Prokoudine wrote: > We've been toying an idea for some years to rewrite the processing > backend after release of 2.0. We even have some initial code. How it > will look architecture-wise, AFAIK, remains an open question. > > But we still need some sort of abstraction, because a huge part of the > user base is on Windows, and getting Audacity to work properly on > WIndows 7 was already quite an effort. There are two separte issues. The first is using Jack via Portaudio + autoconnect which reduces it to 'a soundcard'. It creates problems when the record source is not a soundcard, quite a normal thing to do when using Jack. For example the OP of this thread wanted to record from Jack ports representing Firefox output, and the autoconnect added his soundcard leading to the DC offset problem. Having to fix this once when setting up a session may be accectable, but together with the point below it isn't. The second is the way Audicity manages its record signal chain. It exists (or is active) only when armed for record. This emulates the low-cost tape decks of 30 years ago (where it was done to share the electronics). But even the more advanced consumer ones at that time (those with a separate record head) had the record signal chain active all the time, and for anything 'pro' it is really essential. You really want to be able to set up a recording session, check levels, create a monitor mix, etc. once and while stopped, and not having to repeat this each time you arm for record. As to the abstraction you need I see two options. The first is very Jack-centric and probably not acceptable: create dedicated Jack ports for each track, bus, or whatever. It is what Ardour does. The other option can be used with a normal soundcard as well, and would even allow to continue using Jack via Portaudio. Keep the sound card 'open' all the time, providing silence on the outputs when there is nothing else to do. When using Jack, create a configurable size pool of input and output ports. In either case, within Audacity, allow any track, bus, module,... input or output to be assigned to any soundcard channel or Jack port. This still presents Jack as 'a soundcard', but it's much more flexible even when not using Jack. Ciao, -- FA Vor uns liegt ein weites Tal, die Sonne scheint - ein Glitzerstrahl. _______________________________________________ Linux-audio-user mailing list Linux-audio-user@xxxxxxxxxxxxxxxxxxxx http://lists.linuxaudio.org/listinfo/linux-audio-user