Have you looked into creating a "aggregate device" with Audio MIDI Setup (in Utilities)? Aggregate devices allow you to combine multiple (output or input) devices into a single (aggregate) device. Use the '+' in the lower left to create a aggregate device and then select (click checkboxes) the output devices from among the choices in the right pane. Use the aggregate as the sound output "device".
To delete an aggregate device click on it to select it on the Audio MIDI Setup and then click the '-' in the lower left.
I have the exact same setup and probably ran into the same issue. To be certain, here's my setup:
ThunderboltDisplay1 / ThunderboltDisplay2 / MBP
I wanted to get "full" stereo sound meaning that left channel sound went to both speakers on TD1 and the left one on TD2 and the right channnel sound went to TD2's right speaker and both speakers on the MBP.
I was able to "kinda" set this up. Basically I have left audio coming out of TD1's right speaker, and right audio coming out of MBP's left speaker. This gets me pretty good surround sound, but like you I have the same issue of not being able to adjust the sound volume now.
I'm also not using 2/3 of the available speakers. I'm thinking there's got to be some software somewhere for creating logical output devices with more flexibility than the native OS ones. Also, what software are you using to handle the volume control for each screen individually?
If you want to reply directly and compare notes, you can reach me at email@example.com
Okay this got a bit complicated, but I found the right mix of software to make this work. So here's again the hardware and software setup:
TD = Thunderbolt Display
CH = Channel
MBP = MacBookPro
L = Left Speaker
R = Right Speaker
TD1 (L/R) | TD2 (L/R) | MBP (L/R)
iTunes => SoundFlower => Jack => Aggregate Device => 6 speakers!
Stereo audio only has 2 channels (left and right). So the trick is to get 2 system channels to map to the 6 speaker channels I have.
Step 1: Setup an Aggregate device to merge the 3 sets of speakers into one aggregate.
1-1: In Lion, go to Apps > Utilities > Audio MIDI Setup
1-2: Click the + in the bottom left and select Create aggregate device.
1-3: Select the 3 devices: Built-in Output, Display Audio, Display Audio (there are 2)
1-4: Click Configure Speakers
1-5: Select all 3 streams at the top
1-6: Click Multichannel and then select Hexagonal (this gives you 6 virtual speakers in the graphic)
1-7: I don't think this step is required, but map the channels to the right locations. For me this was a little confusing because TD1 was channels 3 & 4, TD2 was 5 & 6 and, and MBP is 1 & 2. From top left going clockwise, I selected 4, 5, 1, 2, 6, 3.
1-8: You can click the speaker for each one to hear a test tone to make sure you have them right. It's right if the 2 left ones come out of the left screen, the 2 center ones from the center screen, and the 2 right ones from the macbook.
1-9: Right down the numbers so that you know which ones you want for left and which ones you want for right.
Okay, now this is enough to get audio from 2 devices, but stopping here you'd lose your volume control and 4 of your 6 speakers.
Step 2: Install 3 apps (all free):
2-1: Download SoundFlower from http://cycling74.com/soundflower-landing-page/
2-2: Download JackOSX from http://www.jackosx.com/
2-3: Download JackOsX Autostart from http://www.jackosx.com/
Step 3: Setup Jack
3-1: Install Jack
3-2: Start JackPilot and go to Preferences
3-3: Setup input-output device as Aggregate Device that you setup in step 1
3-4: Interface Output Channels should show 6 (6 speakers!). Set Virtual Output channels to 2 (stereo)
3-5: Uncheck auto-connect with physical ports
3-6: Save changes and start the Jack server if it's not running.
Step 4: Setup Soundflower
4-1: Install Soundflower
4-2: Click the flower in the task bar and then choose JackRouter under the 2-channel at the top
4-3: In Lion, go to Apps > Utilities > Audio MIDI Setup
4-4: Find Soundflower (2 ch) and click it, then on the right select Output and then configure speakers
4-5: Select Stero and then set the left speaker as 1 and the right as 2. Testing the speakers here will likely do nothing. That's okay.
Step 5: Finish Jack
5-1: Go to Connection Manager
5-2: Note: this part was a pain -- the UI is funky, so be patient. Click only how described.
5-3: Open the various sub-sections until you can see Soundflowerbed under the Send Ports and see out1 and out2 (the stereo ports) and the System under Receive Ports and you should see playback_1 thru playback_6
5-4: Carefully single-click out1 then double-click the first left speaker channel. Single-click out1 again and then double-click 2nd left speaker channel. Single-click out1 again and then double-click 3rd left speaker channel.
5-5: Carefully single-click out2 then double-click the first right speaker channel. Single-click out2 again and then double-click 2nd right speaker channel. Single-click out2 again and then double-click 3rd right speaker channel.
5-6: Close the connections manager
Load up iTunes or something else and play music. If everything is setup correctly, all 6 speakers should be going with 3 left playing the left channel and the 3 right playing the right channel!
And since you're using Soundflower, your volume controls on your keyboard, etc, should work just fine. Note: you can tweak your individual volume controls back in the aggregate device setup if you need to fine-tune something.
Hopefully that all worked for you! Let me know how you made out!
That happened to me too. It happens when you cause a feedback loop and basically tie one of the mic inputs to the speaker outputs, then the mic hears it and it makes this really loud screech.
To fix it, you disconnect the inputs. This is why I put that part is a pain -- the Jack UI is pretty wonky. When you single click on one side, the other side lights up red if things are already linked and you get connections on the far right. If you go and click slowly through disconnecting everything first, you should be able to follow my instructions to reconnect everything at the end.
I'll keep an eye out for an easier way to do this, but so far, this is the only way I've found to set it up.
Thanks for the directions. Read slowly, it worked (almost) perfectly. The oddest thing... My left TB Display seems to have a louder baseline volume than my right TB display. They both respond to the volume commands - just one is louder than the other. Since you've been so helpful with this so far, do you have any ideas on how to make an equal base line volume for both displays?