I'm at the early stage of planning a mixer application, and I need some advice to make sure I'm on the right track before I start writing code. The basic concept is that I'll have an arbitrary number of inputs and outputs which can be mixed together and acted on by audiounits.
Before I get down to coding I'd like to know I'm on the right path with the following ideas...
The output side will be an AUGraph ending in a matrix mixer outputting to an AUHAL connected to a Aggregate device with the output being diverted to various channels on-the-fly.
The inputs will be an arbitrary number of sub graphs driven by either an AUHAL for hardware or AuFilePlayers for sound files.
The whole thing will be wrapped in a Cocoa/Obj-C interface.
Am I on the right track here ?
A few issues immediately spring to mind.
Can I create an aggregate device on-the-fly in code given a selection of hardware devices ?
Can I have multiple subgraphs each having their own separate input device ?
I'll need to control the volume of the subgraph outputs and also to start/stop playback of each independently. With this being a 'pull' architecture, can I stop a single subgraph without disconnecting it from the main output ?
Is it simple to implement threading for the various subgraphs ?
TIA
Dave McMahon
|