AudioPriorityBar is a native macOS menu bar application designed to solve the persistent problem of manual audio device management on Apple computers. This intelligent utility automatically handles the switching between different audio output devices like speakers, headphones, and microphones based on user-defined priority lists. It is specifically built for macOS users who frequently connect and disconnect various audio peripherals and want a seamless, automated experience without constantly accessing System Settings. The app operates unobtrusively from the menu bar, providing instant access to audio controls while working silently in the background to ensure the correct audio device is always active. Its primary purpose is to eliminate the friction of manual audio switching, creating a more productive and frustration-free computing environment for professionals, content creators, students, and anyone who uses multiple audio devices with their Mac.
Managing audio devices on macOS has traditionally been a manual and disruptive process that interrupts workflow and productivity. Users connecting headphones, external speakers, Bluetooth devices, or USB microphones must navigate through System Preferences or the Control Center to select the desired output or input device. This becomes particularly problematic for users who switch between multiple audio setups throughout the day—perhaps moving from desk speakers to headphones for calls, then to AirPods for mobility. The macOS operating system lacks sophisticated priority management, often defaulting to newly connected devices or maintaining outdated selections. This manual intervention breaks concentration, disrupts media playback, and causes frustration during video conferences when microphones don't automatically activate. AudioPriorityBar directly addresses this pain point by introducing intelligent, rules-based automation that respects user preferences.
The app's core functionality revolves around priority-based auto-switching, where devices are ranked according to user preference within separate categories. When AudioPriorityBar detects that a higher-priority device has connected to the system, it automatically makes that device the active audio output without any user intervention. This system works by continuously monitoring the CoreAudio subsystem for device connection and disconnection events. The priority lists are maintained separately for speakers and headphones, recognizing that users often want different behaviors for these device types—perhaps prioritizing studio monitors when working but AirPods when moving around. This categorization ensures that headphones don't interfere with speaker priorities and vice versa, providing granular control over the audio ecosystem. The automation happens instantly and reliably, creating a truly hands-free experience for audio management.
admin
Beyond basic switching, AudioPriorityBar offers sophisticated device management through its memory system and edit mode. The application remembers every audio device ever connected to the Mac, even when those devices are currently disconnected. This historical tracking appears in edit mode, where users can see grayed-out devices with "last seen" timestamps, allowing them to reorder these devices in the priority list or completely remove old devices they no longer use. This persistent memory is keyed by each device's unique UID, which remains stable across reconnections, ensuring consistent identification. The edit mode provides comprehensive control over the entire device history, not just currently connected peripherals. Users can also employ per-category ignore functionality to hide specific devices from speaker or headphone lists without affecting the other category, offering precise filtering for complex audio setups with many available devices.
The application features multiple operational modes that cater to different usage scenarios, providing flexibility beyond pure automation. The default speaker and headphone modes each show only devices from their respective categories and enable automatic switching to the highest priority available device. The custom mode, indicated by a hand icon, disables all auto-switching behavior and allows free manual selection from all available devices—perfect for temporary overrides or specific situations where automation isn't desired. Within the menu bar interface, users can click any device to immediately move it to the number one priority position in normal mode or simply select it in custom mode. The interface supports intuitive drag-to-reorder functionality with visual handles, plus up and down arrows for fine-tuning device positions. Volume control is integrated directly through sliders and scroll wheel support, creating a comprehensive audio management hub.
Technically, AudioPriorityBar is built as a native macOS application using Swift and SwiftUI, with deep integration into Apple's CoreAudio framework for device discovery and management. The application architecture follows clean separation between components: AudioDeviceService handles CoreAudio interactions and device enumeration, PriorityManager manages persistence of device priorities using UserDefaults, and AudioDevice models represent individual audio peripherals with their properties. The menu bar interface is constructed with SwiftUI views that update reactively to device changes. The app listens for system notifications about audio device changes through CoreAudio's notification system, triggering automatic switching logic when devices connect or disconnect. All priority data and device categorizations are stored locally on the user's Mac, ensuring privacy and quick access without network dependencies.
Users benefit from measurable improvements in productivity and reduction in audio-related frustrations through automated device management. The application eliminates the time spent navigating system settings to switch audio outputs, which can save minutes per day that accumulate significantly over weeks and months. During video conferences and calls, the automatic switching ensures microphones and speakers activate correctly without awkward silences or technical difficulties. Media consumption becomes seamless as audio automatically routes to newly connected headphones or speakers without interrupting playback. The persistent device memory means users don't need to reconfigure priorities after system updates or reboots. The menu bar integration provides immediate visibility into current audio status with icons indicating mode and volume percentage, while remaining unobtrusive until needed. These benefits create a smoother, more professional computing experience.
Concrete use cases demonstrate AudioPriorityBar's value across various workflows and user scenarios. Office workers can prioritize their USB headset for calls while keeping speakers as backup, automatically switching when plugging in for meetings. Content creators working with multiple audio interfaces can set priority orders for studio monitors, reference headphones, and consumer speakers for different review stages. Students moving between dorm rooms, libraries, and cafes can have priorities for AirPods, laptop speakers, and external Bluetooth speakers that activate appropriately. Podcasters and streamers can ensure their professional microphones take priority over built-in mics when connected. Home theater enthusiasts can manage priorities between soundbars, AV receivers, and TV audio outputs. In each case, the specific workflow involves defining the priority order once, then enjoying automatic switching that adapts to changing connection states throughout the workday.
AudioPriorityBar targets macOS users running Ventura (13.0) or later who regularly use multiple audio devices with their computers. This includes professionals in audio production, video conferencing, content creation, and software development who require reliable audio routing. The app integrates seamlessly with the existing macOS audio subsystem through CoreAudio, compatible with all standard audio devices including USB, Bluetooth, Thunderbolt, and built-in peripherals. Its technical stack is pure Swift with SwiftUI for the interface, making it a native citizen of the macOS ecosystem. As an open-source project available on GitHub, it offers transparency and community contribution opportunities without commercial pricing plans. The application particularly benefits users with complex audio setups involving multiple output destinations who value automation and time savings in their daily workflows.
In summary, AudioPriorityBar delivers essential automation for a common but overlooked aspect of the macOS experience—audio device management. By introducing intelligent priority-based switching with separate categories for speakers and headphones, persistent device memory, and flexible operational modes, it transforms a manual, disruptive task into a seamless background process. The application respects user preferences while adapting dynamically to changing connection states, ensuring the right audio device is always active without intervention. Its menu bar integration provides control when needed while staying unobtrusive during normal use. For anyone who connects multiple headphones, speakers, or microphones to their Mac, AudioPriorityBar eliminates friction and creates a more polished, productive computing environment through thoughtful automation.
AudioPriorityBar targets macOS users running Ventura (13.0) or later who regularly connect multiple audio devices to their computers. This includes professionals in audio production, video conferencing, content creation, and software development who require reliable audio routing. The app benefits users with complex audio setups involving headphones, speakers, and microphones who value automation and time savings. It serves anyone frustrated by manual audio switching in System Settings, particularly those who frequently change between different listening environments or peripherals throughout their workday.