Merge pull request #506 from andrewcsmith/patch-2
[supercollider.git] / HelpSource / Guides / AggregateDevice.schelp
blob1ea5ee1607daf9471029e4f1cc81aae5bef5d338
1 title:: Aggregate Device
2 categories:: Platform>OSX
3 summary:: How to access the built-in soundcard on Mac OS X 10.4+
4 related:: Classes/ServerOptions
6 note::
7 This information is slightly out-of-date. There is no longer a requirement to set up an aggregate device for making the built-in soundcard work. Although in some situations this feature might still be useful e.g. when combining multiple soundcards into a single device.
8 ::
10 Since Mac OS X 10.4 (Tiger), the built-in soundcard of the Mac is formally represented as separate input and output devices. On the MacBook for example, there are two input devices (named Built-in Microphone and Built-in Input) and a mutable output device (Built-in Output which appears under the names Line-Out or Internal Speakers in the sound preferences).
12 In SuperCollider, you specify your sound card in the device field of the link::Classes/ServerOptions::. However, you cannot distinguish between an input and an output device. Therefore, to use your built-in microphone for input and your built-in headphones for output, strong::you need to create a virtual "aggregate" device:: (a virtual device that wraps two or more other devices). If you create an aggregate of your microphone and headphones, you can use this single aggregate device as a soundcard for SuperCollider. You need to set up this aggregate device only once.
14 To do so, you have to open the Audio MIDI Setup application (in /Applications/Utilities)
16 code::
17 "open -a 'Audio MIDI Setup'".unixCmd; // execute this to launch it
20 - you should do this from an user account with administrator privileges. From the Audio menu choose Open Aggregate Device Editor and click on the Plus button to add a new aggregate device. Double click on its name in the list (by default "Aggregate Device") and use a more specific name, for example "Built-in Audio". Then check the Use column for the devices you want to combine, that is your microphone or line input and the built-in output. Here is would it should look like:
22 Close the editor and quit the Audio MIDI Setup. Now you need to tell SuperCollider to use your new aggregate device. A good place to do this is your default startup file so that SuperCollider will automatically use the new device every time. The startup file is called code::startup.rtf:: and is placed in the folder ~/Application Support/SuperCollider/, where "~" stands for your home folder.
23 If you haven't created such a file yet, create a new folder named SuperCollider in your ~/Application Support/ folder, open a new empty document in SuperCollider and save it as startup.rtf in this new folder (~/Application Support/SuperCollider/startup.rtf).
24 Add these lines to the startup file:
26 code::
27 Server.local.options.device = "Built-in Audio";
28 Server.internal.options.device = "Built-in Audio";
31 to cover both the localhost server and the internal server. Recompile the SuperCollider library (Cmd+K). Now when booting either server, if all goes well, you should find these lines in SuperCollider's post window:
33 code::
34 [...]
35 "Built-in Audio" Input Device
36 [...]
37 "Built-in Audio" Output Device
40 voila!
42 known issues: QuickTime (as of v7.1) has problems using the aggregate sound device (it will take a few seconds before each sound playback starts). Therefore you probably do not want to use your new aggregate device as your system's default device. Note that when you specify a sound device in SuperCollider's ServerOption, there is no need to use the aggregate device as the system preference's default device.