Skip to content

CamelPlayer v0.2.0

Choose a tag to compare

@pcjustin pcjustin released this 01 Nov 09:15
· 26 commits to main since this release

Upgrading from 0.1.0: the first start moves the library to a newer format (schema 18) and keeps the old one as library.db.v17.bak in %LOCALAPPDATA%\CamelPlayer. 0.1.0 refuses the newer library, so to go back to it, close CamelPlayer, delete library.db, library.db-wal and library.db-shm, and rename library.db.v17.bak to library.db; what changed since the upgrade, such as plays, favorites and ReplayGain analysis, is lost that way. 0.1.0 reads the settings too, but keeps only those it knows, so the DSP, volume and Discord settings go when it saves.

New features since 0.1.0:

  • Parametric EQ in Settings › DSP. It starts with five bands and the editor adds up to ten, with peaking, shelf, low and high pass (6 to 48 dB per octave), band pass, notch and all-pass filters, each on both channels or one. Drag a point on the response curve to change frequency and gain, and the mouse wheel to change Q. Presets can be saved, Reset returns to the five flat bands, and Equalizer APO and AutoEq files can be imported and exported.
  • Headphone crossfeed (bs2b) with the Default, Chu Moy and Jan Meier presets or a custom cut-off and feed.
  • Convolution with an impulse response: a mono, stereo or true-stereo .wav, or a .zip with one per sample rate. A missing rate is converted and cached; responses up to 1,048,576 samples per channel run without latency, and after the last track their end plays out.
  • Software volume: volume stays fixed by default, for a DAC or amplifier; software volume turns the player bar's volume button into a vertical slider (−80 to 0 dB) with mute, and at 0 dB playback stays bit-perfect.
  • ReplayGain: Track, Album or Auto (album gain while the queue plays an album in order), with preamps for tracks with and without values and clipping prevention by peak. Values come from the files' tags; tracks without them are analyzed in the background (EBU R128 with libebur128) while ReplayGain is on, queued tracks first, throttled or fast, and the results stay in the library, never in the files.
  • Crossfade of 1 to 10 seconds, off by default: natural changes, Previous/Next and playing another track or album overlap with an equal-power fade, while an album played in order stays gapless. Pause, stop, seeking and restarting a track act at once. A track in another format is converted to the open one, so nothing reopens mid-track; raw DSD never crossfades.
  • Signal path panel: the bit-perfect lamp opens a panel above the player bar with the verdict and the route from the file's format to the device's, then one row per step in three stages, source, processing and output, each with the format after it and a colored dot for bit-perfect, lossless conversion, processed or lossy source. A processing stage with no steps says that nothing there changes the signal.
  • The DSP chain: EQ, crossfeed and convolution work in an order you can change, after one automatic preamp that keeps the whole chain from clipping. The DSP button in the player bar turns each on or off and switches EQ presets. Changes are heard within about a quarter of a second without a gap; while nothing changes the signal, playback stays bit-perfect.
  • Discord: Settings › Interface can show what's playing on Discord, off by default: the title, the artists, the album on the cover, the progress bar and the signal path's state as a small dot, with the title in your friends list. Pause and stop clear it, and only track changes, seeks and state changes reach Discord. Also show the cover sends the file's own cover through an anonymous Cloudflare quick tunnel that runs only while music plays; cloudflared, a pinned release checked against its SHA-256, is downloaded the first time.

Changed since 0.1.0:

  • Search ranks results: names that match whole come first, then names that start with the search, then names with a word that starts with it, then the rest. Artists always rank; tracks and albums rank when a search matches up to 2,000 tracks, and a broader one lists them by title as before.
  • The Tracks list has column headers: click Title, Artist, Album or Length to sort by it, and again to reverse it.
  • Play on an album or folder page plays it at once; the arrow beside it offers playing it next and adding it to the queue.
  • The player bar is two rows high: the timeline row holds only the timeline and the time, and the badges and the DSP button sit beside the volume, favorite and queue buttons, so nothing moves the timeline. The format line is gone; the signal path panel shows the route. Volume is one button: a lock on it marks fixed volume, and with software volume it opens a vertical slider above it.
  • Settings › DSP is three cards, Volume and ReplayGain, Crossfade, and DSP processing, and each long note shows its first sentence with Learn more.
  • Screen readers find the page titles and the settings cards as headings, and hear Play or Pause and the repeat mode as they are. Repeat is a toggle like Shuffle. Counts show digit grouping (70,715), album titles wrap to two lines, the player bar's cover has a tooltip, and the fields of crossfade and ReplayGain are disabled while those are off.

Fixed since 0.1.0:

  • With a theme in Settings › Interface other than the Windows one, the colors the player sets itself (the playback state, the output lamp, the DSP button, the signal path dots, the EQ editor, Home's tiles and chart and an album's formats) followed Windows and could be unreadable. They now follow the app's theme and change with it.