Skip to content

archamp 0.9.0

Choose a tag to compare

@lancefaul lancefaul released this 19 Sep 05:35
· 5 commits to main since this release

A real Winamp, as a native desktop app: the classic main window, equalizer and
playlist, skinnable, with real Web Audio playback — built on
webamp and wrapped in Electron.

This is 0.9.0, the last step before 1.0: everything below is built and tested,
and the version is where it is so that the first upgrade can be walked through
for real before 1.0 goes out.

archamp and OMedia Controls are one thing in two halves

archamp was built alongside
OMedia Controls, a
media plugin for the Omarchy bar, and the two were
designed to go together. The plugin reaches for archamp first when it needs a
player; archamp answers questions no other player can.

Either works alone. Together they do things neither can do by itself:

  • The equalizer in the bar. MPRIS has no equalizer, so no plugin can offer
    one. archamp publishes org.archamp.Equalizer, and the plugin draws ten
    bands, a preamp and the presets right in the popup — the same equalizer,
    from either end, in step.
  • A player with no window. WINDOW → Keep hidden takes archamp's window
    away and leaves the music; the plugin becomes the whole interface, and the
    switch for it lives in the plugin's own Settings.
  • One playlist, two ways in. Both read and write M3U files in the same
    Playlists folder, and archamp follows the plugin's setting for where that
    folder is.
  • Reordering, from the bar. org.archamp.TrackList adds the MoveTrack
    that MPRIS left out.
  • Everything else, done exactly. Sample-exact seeking rather than a fixed
    skip, a named playlist, album/year/track read from the files themselves,
    speed from 0.25x to 4x, and all three repeat positions.

The player

  • The classic Winamp main window, equalizer and playlist, skinnable.
  • A browser for the Winamp Skin Museum: search and
    apply any of its ~93,000 skins (Alt+S). Skins are cached, and the one you
    chose comes back next launch.
  • Crisp scaling in whole-pixel steps: Ctrl+= / Ctrl+- / Ctrl+0, or Ctrl+scroll.
  • The equalizer's presets, with .eqf files to load and save.
  • Where it left off: the playlist, the track, the position, volume, shuffle and
    repeat all come back at launch, paused.

On the desktop

  • MPRIS (org.mpris.MediaPlayer2.archamp), so media keys, KDE's media controls
    and panel widgets see the track, the art, the playlist and the equalizer.
  • Three interfaces of archamp's own for what MPRIS has no room for:
    org.archamp.TrackList, org.archamp.Window and org.archamp.Equalizer.
  • Desktop integration on first run: a .desktop entry and icons under
    ~/.local/share, so launchers list archamp, panels name it, and it can be
    picked as your music player. Undo it with
    archamp --remove-desktop-integration.
  • Takes files, folders and M3Us on the command line; a second launch hands its
    files to the copy already running rather than starting another.
  • A tray icon, when you ask for one (WINDOW → Show in tray).
  • ARCHAMP → Check for updates, which shows you the exact command it will run
    before it runs it.

Install

Download archamp-0.9.0-x86_64.AppImage below, make it executable and run it:

chmod +x archamp-0.9.0-x86_64.AppImage
./archamp-0.9.0-x86_64.AppImage

On Hyprland, archamp wants one window rule it cannot set for itself, since a
Wayland client cannot ask to float:

o.window("archamp", { float = true })

Known limitations

  • The equalizer and playlist can't be pulled away from the main window.
  • Double-clicking a title bar no longer toggles shade mode, and right-clicking
    one opens the compositor's window menu rather than Winamp's.
  • Double size (D) at a large scale can run off the screen.
  • The skin museum's cache has no size limit.

MIT-licensed, like webamp itself.