Docs
Bòcan is meant to be obvious. If you're reading this, it probably wasn't obvious enough. Sorry. We'll fix that.
Getting started
- Drag Bòcan into
/Applications. - Open it.
- Choose Library → Add Folder… and point at your music.
- Wait while it scans, fingerprints, and reads tags. Watch the spectrum analyser bounce.
- Listen.
Keyboard shortcuts
| Shortcut | What it does |
|---|---|
| Space | Play / Pause |
| → | Next track |
| ← | Previous track |
| ↑ / ↓ | Volume up / down |
| ⌘F | Search library |
| ⌘L | Toggle lyrics pane |
| ⌘M | Toggle mini-player |
| ⌘I | Get info / tag editor |
| ⌘, | Preferences |
| ⌘⌥S | Sleep timer |
| ⌘⇧L | Log Console |
Supported formats
FLAC, ALAC, WAV, AIFF, MP3, MP2/MP1, AAC/M4A, OGG Vorbis/Speex/FLAC, Opus, WavPack, Monkey's Audio (APE), Musepack, AC-3, DTS, WMA, Wave64, RF64, Matroska/MKV/WebM, AU/SND, DSD (DSF/DFF). Bit-perfect output up to 32-bit / 384 kHz. DSD via DoP. See the full formats page for the breakdown by decoder engine and supported extensions.
Smart playlists
Smart playlists support nested groups, all standard fields (artist, album, year, BPM, rating, play count, last played, date added, key, …), and a "limit by" clause. Shuffle is reproducible per session, no "shuffle" that mysteriously plays the same five tracks.
Viewing logs
Bòcan has a built-in log console you can open without leaving the app. Choose Help → Log Console (⇧⌘L) or go to Settings → Diagnostics → Open Log Console.
The console shows every debug, info, warning, and error line emitted since the app started, up to a 5,000-line ring buffer. You can:
- Filter by minimum log level (Trace through Fault) or by category.
- Search the message text (case-insensitive, updates live).
- Tail new lines automatically as they arrive, or pause to freeze the view.
- Copy the visible lines to the clipboard.
- Export the visible lines to a
.logtext file for attaching to a bug report. - Clear the view, or clear the underlying ring buffer via the overflow menu.
Capture can be turned off under Settings → Diagnostics
if you need to stop the buffer from filling while the app runs unattended.
Disabling capture has no effect on the system log (log stream).
Troubleshooting
Audio drops out for half a second
Almost always a sample-rate mismatch with the output device. Open Audio MIDI Setup and set the device to a fixed rate that matches most of your library (often 48 kHz or 96 kHz). Bòcan resamples on the fly when it has to, but switching rates on the device is what causes the gap.
"Bòcan can't be opened because Apple cannot check it for malicious software"
You probably downloaded an unsigned development build, or Gatekeeper's cache is stale. Right-click the app and choose Open; confirm once. After that it'll launch normally.
Library scan is slow on a NAS
Mount with SMB3 over a wired connection where possible. The first scan fingerprints every file, which means reading every byte. Subsequent scans only look at modified files.
It crashed
Logs land in ~/Library/Logs/Bocan/. Open one and zip it.
File an issue on
GitHub with
the zip attached, and a description of what you were doing.
More
For the full architecture, build instructions, and how to contribute, see the README and CONTRIBUTING.md.