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, and it is what Viboplr falls back to if mpv can't load or can't play a particular track.

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 ships bundled with every copy of Viboplr — there is one download, there are no editions to choose between, and mpv is the engine Viboplr uses by default. It works offline out of the box. (On the rare machine where the bundled library can't load, Settings → Playback says so and offers to fetch a replacement copy.) 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.

Prefer video

Play the music video instead of the audio, whenever one can be found.

With Prefer video on, every track that isn't already a video — songs you queue as well as tracks picked automatically to keep the music going — is first looked up through your video providers (for example the YouTube plugin). If a music video is found, it plays in the theater; if not, the track simply plays as normal audio. Because the lookup can hit the network, there may be a short pause before playback starts, and nothing changes for tracks that are already videos.

Toggle it from the button in the queue header, or from Settings → Playback → Prefer video. It's a preference, not a hard filter: it never overrides your source ordering, and it falls back to audio whenever no video exists.

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.

Providers & priority

Choose which sources Viboplr uses for artwork, metadata, streaming, and downloads — and the order it tries them in.

Viboplr is an orchestrator: most artwork, extra metadata, streaming, and downloading are done by plugins, and more than one plugin can often do the same job. This screen decides who goes first. Every list works the same way — drag a row by its handle to reorder it (higher = tried first), and use the switch to turn a provider on or off. When Viboplr needs something, it walks the list top-to-bottom and the first provider that succeeds wins; disabled providers are skipped entirely.

  • Images & Information — where cover art and artist images come from, and which plugin fills each information tab (bios, lyrics, similar artists, and so on) when several offer the same one.
  • Streaming — the fallback order used when a track's own source can't be played directly (for example a library file that's gone missing, or an external track with no direct URL). The first resolver that returns a playable stream wins.
  • Downloads — which provider resolves a download when you save a track.

Your order and on/off choices are remembered across restarts. Reset to Defaults restores the built-in ordering at any time.

Auto Continue

Never hit silence — when your queue runs out, Viboplr picks something else from your library and keeps playing.

With Auto Continue on, reaching the end of the queue doesn't stop the music: Viboplr chooses another track from your library and plays on. The sliders are weights that bias how it chooses — they're relative, so what matters is how large each one is compared to the others. A strategy at zero never fires.

  • Random — anything from your library.
  • Same Artist — more from the artist you're currently hearing.
  • Same Tag — tracks that share a tag (genre or mood) with the current one.
  • Most Played — your heavy rotation, by play count.
  • Liked — tracks you've hearted.

Same format restricts the picks to the current track's file format — handy if you're keeping a listening session all-FLAC. The reset button returns every weight to its default mix. Auto Continue only runs during normal playback; it's off in Repeat All and Repeat One, where the queue already loops.

Equalizer

Shape the sound — boost the bass, tame harsh highs, or dial in a preset.

The equalizer has two modes, switched at the top of the panel:

  • Simple — two shelves, Bass and Treble, plus a row of one-tap presets. Drag the curve or pick a preset; it's the quick way to warm things up or brighten them.
  • Advanced — a full graphic equalizer with a handle per frequency band. Drag any band to taste, start from a built-in preset, or Save as your own. A Pre-gain slider sets a master offset for the whole curve — pull it down a little if boosting bands makes playback distort.

Use the On/Off switch to toggle the whole thing, and "Show controls in player bar" to keep a compact version within reach next to the volume. Each mode remembers its own settings.

The equalizer reshapes the audio signal by design, so turn it Off when you want bit-perfect output.

Now Playing Info

The line under the title in the mini player — it cycles through whatever you want to know about the track.

Instead of one fixed subtitle, the mini player rotates through a list of info items: Artist · Album, Quality, Duration, Source, Plays · Rank, Tags, the lyric line currently being sung, and anything plugins add (Last.fm adds Scrobbles). Configure the list in Settings → Playback → Now playing info, or right-click the mini player and choose Now playing info… to jump straight there.

  • Order — drag the handle to set which item shows first, second, and so on. The cycle always follows this order.
  • Dwell — the dropdown on the right does double duty. Off hides the item entirely; Preview only shows it once when the track starts and then drops it from the rotation (good for a quick stat you don't need on repeat); On request keeps it out of the rotation but pops it up the moment its content changes — it's how synced lyrics show each line exactly as it's sung, with the normal rotation playing through the instrumental gaps; to 10× set how long it stays on screen, as a multiple of the ~5 second base interval.

Each track begins with a preview pass that shows every enabled item once, then settles into the rotation. Items that have nothing to say for the current track (no lyrics, no tags, no play count) simply sit out rather than showing a blank. Reset to defaults puts the whole list back the way it shipped.

Still stuck?

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