Viboplr help

The short version of every setting lives in the app. This page is the long version — what each option actually does and when you'd want it.

Playback engine

Viboplr can play audio through two different engines: the browser engine and mpv.

The Browser engine plays audio through the system webview. It works everywhere with nothing to install, and it is the default.

The mpv engine is a native audio engine built on libmpv, the same playback core used by the mpv media player. Compared to the browser engine it:

  • Decodes every supported format natively — FLAC, ALAC, Opus, and friends — without transcoding.
  • Plays back-to-back tracks with sample-accurate gapless transitions.
  • On macOS, also renders video natively (beta).
  • Unlocks exclusive audio access for bit-perfect output.

The mpv engine is built on libmpv, which now ships bundled with Viboplr — no separate download, and it works offline out of the box. (On the rare setup where the bundled library can't load, Settings → Playback offers a one-time component download as a fallback.) If the engine can't play a particular track, Viboplr automatically falls back to the browser engine for that track.

Switching engines stops the current playback — playback resumes on the new engine with the next track you play.

Exclusive audio access

Bypass the operating system's mixer and talk to your audio device directly.

Normally every app's sound goes through the OS mixer, which can resample and requantize audio before it reaches your DAC. With exclusive access (CoreAudio "hog mode" on macOS, WASAPI exclusive mode on Windows), Viboplr opens the output device for itself: samples travel from the file to the device untouched. This is the foundation of bit-perfect playback, and it matters most with an external DAC and lossless files.

For truly bit-perfect output, the whole chain has to leave the samples alone:

  • Turn the equalizer off — EQ reshapes the signal by design.
  • Set ReplayGain to Off — volume normalization changes sample values.
  • Keep the volume at 100% — any software attenuation rewrites samples.

You don't have to keep that checklist in your head: while exclusive access is on, the settings row shows a live ● Bit-perfect indicator, and when the stream isn't bit-perfect it names exactly what's in the way.

Trade-offs while it's active:

  • No other app can play sound — the device is yours alone, including system sounds.
  • Crossfade is disabled — fading needs two overlapping audio streams, and an exclusive device only allows one. Gapless playback still works.
  • Changes apply from the next track, when the device is reopened.
Available only with the mpv playback engine.

Crossfade

Fade the current track out while the next one fades in.

The slider sets the overlap length, up to 10 seconds. At 0 (Off), tracks instead play gapless — the next track starts the instant the current one ends, which is what you want for live albums and continuous mixes. With the mpv engine, gapless transitions are sample-accurate.

Video tracks never crossfade, and crossfade is unavailable while exclusive audio access is active.

ReplayGain

Even out loudness differences between tracks, using tags stored in your files.

Albums are mastered at wildly different loudness levels, so shuffling your library means riding the volume knob. ReplayGain fixes this: a tagging tool analyzes each file once and writes the measured loudness into its tags, and players adjust playback volume to match. Viboplr reads these tags — it doesn't compute them. Popular taggers include foobar2000, MusicBrainz Picard, and loudgain; files without tags simply play at their original volume.

  • Track mode gives every track the same loudness — best for shuffle and mixed playlists.
  • Album mode applies one adjustment per album, preserving the intended quiet-to-loud dynamics between its songs — best when you listen to full albums.
  • Pre-amp adds a fixed gain on top, since ReplayGain's reference level is fairly quiet.
  • Prevent clipping caps the total gain using the track's peak tag, so a loud master pushed further by pre-amp never distorts.

Beta updates

Get pre-release builds through the normal auto-updater.

With beta updates on, the updater also offers beta releases — new features land there first, with a bit less polish. You're never stranded on the beta track: as soon as a stable release newer than your beta ships, the updater moves you back to stable automatically. Every update, beta or stable, is cryptographically signature-verified before install.

External dependencies

A few features rely on well-known command-line tools — currently ffmpeg and yt-dlp.

Some plugins and features (YouTube playback and downloads, video thumbnails, format conversion) shell out to these tools rather than reimplementing them. Settings → Dependencies shows what's needed, what's installed, and where each copy comes from:

  • Managed — Viboplr installed it for you ("Install for me") into its own folder, and can update or remove it. A managed copy always takes precedence over a system one.
  • System — found on your PATH, e.g. installed via Homebrew or winget. Viboplr never modifies these; update them with your package manager.

Keep dependencies up to date automatically applies only to managed copies: Viboplr checks daily and silently installs new releases. This matters most for yt-dlp, where an outdated version is the usual reason YouTube stops working.

Profiles

Completely separate libraries in one app — like browser profiles.

Each profile has its own library database, collections, play history, settings, plugins, and skin. Nothing is shared. Use them to keep contexts apart: your music vs. a shared family library, audiobooks, DJ sets, or a scratch profile for experiments.

Create and switch profiles from Settings → General. Switching restarts the app into the chosen profile, and the window title shows the profile name whenever you're not on the default one. You can also create a desktop shortcut that launches straight into a specific profile.

Track video history

Choose whether video playback counts toward your listening history.

By default, only audio tracks are recorded to play history (and scrobbled to Last.fm, if you use the plugin) — watching music videos won't skew your most-played charts. Turn this on if you want video plays recorded too. The usual rules still apply: a play counts after half the track or 4 minutes, whichever comes first, and tracks under 30 seconds are never recorded.

Anonymous usage statistics

Optional, anonymous data that helps us understand how Viboplr is used — with no way to identify you.

Viboplr is local-first, and this is the one place it phones home. When enabled, it sends anonymous usage events to our own self-hosted Aptabase instance — a privacy-first analytics tool with no cookies and no persistent device identifier. Each event carries only coarse system properties (operating system, app version, language) and a session id that resets after inactivity.

What's sent: that the app was installed and launched (along with your OS, app version, and a rough bucketed library size — e.g. "1k–10k tracks"), plus a handful of anonymous, count-only signals — a track was played, music was started from somewhere (an album, artist, radio station, or playlist), a radio station was started, a plugin feature was used, a playlist or mixtape was saved or loaded, the sidebar was used to navigate, which playback engine you picked, a music source was added, a plugin was installed, a skin was applied. It also reports reliability signals when something breaks — a track that failed to play, a fallback between playback engines, a failed download or scan, a missing companion tool — so problems can be found and fixed even when no one files a report.

What's never sent: track, artist, or album names; file paths; your library contents; or anything that could identify you personally.

It's on by default and completely optional — turn it off any time in Settings → General → Anonymous usage statistics. There's nothing to lose by leaving it on, and it directly helps decide what to build and fix next.

Still stuck?

Ask a question or report a problem — issues and ideas are equally welcome.