Audio Devices
Test whenever you touch StellarrStandaloneApp.cpp, audio I/O code, or the JUCE AudioDeviceManager integration.
Prerequisites
- At least one audio interface (USB or built-in)
- Ideally a second audio device you can plug/unplug during testing
Test Cases
TC-AD-001: Device selection persists across launches
Steps:
- Open Options > Audio/MIDI Settings
- Change the output device to something other than the default
- Close the dialog
- Quit and relaunch the app
Expected: The previously selected device is still active.
TC-AD-002: Device selection persists after crash
Steps:
- Change the audio device in Options
- Force-quit the app (kill from Activity Monitor, not Cmd+Q)
- Relaunch
Expected: The changed device is still selected. Settings survive the crash.
TC-AD-003: Mute input preference persists
Steps:
- Open Options > Audio/MIDI Settings
- Toggle “Mute audio input” on or off
- Quit and relaunch
Expected: The mute preference is remembered.
TC-AD-004: Launch with unavailable device
Steps:
- Select a USB audio interface as the output device
- Quit the app
- Unplug the USB device
- Relaunch the app
Expected: App launches without crash. Falls back to default audio output. Audio works.
TC-AD-005: Hot-plug audio device
Steps:
- Launch the app with built-in audio
- Plug in a USB audio interface
- Open Options > Audio/MIDI Settings
- Select the newly connected device
Expected: Audio routes through the new device. No crash.
TC-AD-006: Sample rate and buffer size persist
Steps:
- Open Options > Audio/MIDI Settings
- Change the sample rate (e.g. 44100 to 48000)
- Change the buffer size
- Close the dialog, quit, relaunch
Expected: Sample rate and buffer size are restored.