SpeakerTray v1.0 Copyright (c) 2008 George Mealer, All Rights Reserved ----------------------------------------------------------------------- 1. Overview SpeakerTray is a utility written to allow quick-switching between two speaker setups, such as 5.1 speaker and stereo headphone. It also addresses a bug that occurs with a number of DirectSound games. Some games reset the Windows speaker settings to Desktop Stereo when initializing or closing down the sound system. With SpeakerGuard technology enabled, SpeakerTray polls Windows for a change to your speaker setup and automatically resets to your desired configuration. 2. Disclaimer This program is provided without any warranty and the user accepts full responsibility for any damages, consequential or otherwise, resulting from its use. 3. License This archive is freely redistributable, provided it is made available only in its complete, unmodified form with no additional files. Please do not distribute the executable without this documentation. 4. System Requirements SpeakerTray should work on any version of Windows XP or earlier, provided that DirectX 9.0 or later is installed. It may work on earlier versions of DirectX, but is untested. Similarly, it may work with Windows Vista, but is untested. 5. Installation To install SpeakerTray, create a directory and unzip SpeakerTray.exe into it. If you would like SpeakerTray to run when your system starts, add a shortcut to it to your StartUp folder, found on the Start Menu. 6. First Run SpeakerTray defaults your primary speaker setup to whatever is already configured in Windows on the first run of the application. This is selected as the "expected" configuration. The alternate speaker setup defaults to headphones, or to stereo if headphones is configured in Windows on the first run. These defaults can be changed in the SpeakerTray dialog. 7. The SpeakerTray tray icon The SpeakerTray tray icon will reflect your current Windows speaker configuration. You may mouse over the icon to display a hint as to what configuration the currently displayed icon means. Icon colors are as follows: Green -- SpeakerGuard is enabled (see below) and the speakers are configured as expected. Yellow -- SpeakerGuard is not enabled, and the speakers are configured as expected. Red -- SpeakerGuard is not enabled, and the speakers are not configured as expected. You may determine the "expected" configuration through either the SpeakerTray configuration dialog (Main page) or through the tray icon menu. A check is displayed by the currently expected configuration. By default, single-clicking on the icon toggles between Primary and Alternate setups, and double-clicking does nothing. This can be changed by configuring SpeakerTray. 8. Toggling between Primary and Alternate Configurations This can be done in several ways: The tray icon menu includes options for Select Primary, Select Alternate, and toggle between. By default, clicking on the tray icon toggles. This action may be changed in the Options page of the dialog. By displaying the SpeakerTray dialog, the selection may be toggled from the main page by selecting the appropriate button and hitting "Apply." 9. Toggling SpeakerGuard This can also be done in several ways: The tray icon menu includes an option for toggling SpeakerGuard. A tray icon click/double-click can be configured to toggle SpeakerGuard. The SpeakerTray dialog allows you to toggle from the Options page by selecting the checkbox and hitting "Apply." 10. Configuring SpeakerTray You may display the SpeakerTray configuration dialog from the tray icon by choosing "Show SpeakerTray dialog." The pages are: MAIN Allows you to toggle between two preset configurations, also displays the currently selected Windows configuration at top. OPTIONS Primary/Alternate Speakers define the two preset configurations. Get Current buttons set to current Windows configuration. Enable SpeakerGuard, when selected, keeps any other program from changing your speaker configuration. With SpeakerGuard, SpeakerTray detects such a change and switches it back. CPU Usage trackbar changes the polling interval for both icon updates and SpeakerGuard reactivity. Currently, this will change from checking once a millisecond to once a second. "When SpeakerTray starts" determines the action to be performed at application startup. Tray Icon Actions determine what happens when a click is performed. "Re-activate Current Selection" sets the windows configuration to whatever SpeakerTray expects it to be at this time. Enabling tray icon double-click allows two accessible actions, but slows down single-click response slightly. LOG Logging can be enabled, which will display all actions performed by SpeakerTray, as well as any Windows speaker configuration changes performed by any application. 11. Coming Eventually A real installer/uninstaller. 12. Bug Reporting Please send any bugs, suggestions, comments, or issues, to me (George Mealer) at geo@snarksoft.com. 13. Known Bugs/Issues SpeakerGuard will prevent all speaker configuration changes. This includes ones made by setting a different speaker configuration in a game's option menus. This shouldn't cause a problem in-game, but does mean that if you've guarded in Stereo, the game will not be able to change successfully to 5.1, and vice versa. The requested change will happen, then will be reversed in the background by SpeakerTray. Windows displays multiple options in the Sounds & Audio speaker dialog that all equate to Narrow Stereo. There is no difference between these options from a configuration/geometry point of view (which is what DirectSound sees). There is likely no difference in functionality between them at all. Your mixer and mute settings will toggle briefly during a switch. This is normal. The Creative Audigy volume control icon sometimes shows muted after a speaker-config switch it did not initiate, though the mixer controls themselves show correctly. This is not specific to SpeakerTray. Windows' handling of the "Home Theater" config is not quite consistent. Setting 7.1 wide from SpeakerTray shows 7.1 home theater in the Sounds & Audios dialog. As far as can be determined, what SpeakerTray displays/sets is correct, and the Windows Sounds and Audio speaker dialog is inconsistent with the actual DirectSound settings. If 6.1 is set in Creative Audigy drivers, it will produce a status of Home Theater in SpeakerTray. When Home Theater is reset in SpeakerTray, it will set 7.1 in the Creative Audigy drivers. Windows does not have a 6.1 setting, so there is no way to get 6.1 back. It is likely they are actually the same setting, a la Narrow Stereo. Home Theater was added in a recent XP service pack. It's unknown what this particular option will do pre-SP2. The icons are beyond simple, and only 32pix icons are included. If someone wants to volunteer some artistic talent, I can update. 14. History 1.0 - 1/06/2008 Initial Release