Repository navigation
Releases: lancefaul/archamp
Release list
archamp 1.1.0
Three things in this release are things you would have hit in the first minute.
Closing archamp no longer ends it
With WINDOW → Show in tray on, the close button now puts the player away
and the music carries on — the way it does in anything else that lives in a
tray. The way out is Close archamp, which is what the player menu's Exit
now says, and which the tray menu gains too, since someone who closed to the
tray has no window left to quit from.
Without a tray there is nothing to come back from, so closing still quits.
"Keep hidden" is untouched by this: that one is about where archamp starts,
the close button is about where it is now.
The first drag after a window appears works
Open archamp, try to move the window, nothing. Bring it back from the tray,
try again, still nothing — until you clicked the equalizer first, and then it
dragged. Chromium only works out where a window's drag regions are when the
elements carrying them change, and a window that has only just been mapped has
not changed since. archamp now makes that change on purpose after every show.
archamp floats itself on Hyprland
The player window is the shape and size of the skin it is drawing. Tiled, the
compositor stretches a transparent, irregularly-shaped window across a slot
and the player reads as broken rather than as small — and a Wayland client
cannot ask to float, so archamp used to print the rule in its first-run dialog
and hope you would paste it into your config.
Hyprland takes a rule at runtime, though, so archamp asks for it itself at
startup. Session-only, writes nothing to your config, asks nothing of you,
and does nothing at all on any other compositor. Both config parsers are
catered for — eval for a Lua config, keyword windowrule for a classic
hyprland.conf — and if none of them takes, archamp still starts.
On anything that is not Hyprland, set the equivalent rule for window class
archamp yourself; the README
has it.
Two alpha pieces — not support
archamp is developed and used on Omarchy under
Hyprland. Two changes here were written for desktops archamp has not been
run on, and they ship as alpha: what is verified is the mechanism, not the
desktop.
- The tray is only offered where the desktop has one. A tray icon is a
StatusNotifierItem, and a stock GNOME has nothing listening for one, so
archamp says so rather than hiding its window behind an icon that would
never appear. Bringing a hidden window back has never depended on the tray:
start archamp again from your launcher, or use any MPRIS client's "open the
player". - KDE's colour scheme is read from
~/.config/kdeglobalswhere Omarchy's
theme files are absent, for archamp's own chrome — its menus, the skin
browser, About and the update window.
Both are inert on Omarchy: the tray host is there, and Omarchy's own theme
files win. If you run archamp on Plasma or GNOME, reports are welcome — treat
neither as supported yet.
Everything else
See 1.0.0's notes
for what archamp is and how it and
OMedia Controls were
built to go together.
Install
Download archamp-x86_64.AppImage below, make it executable and run it:
chmod +x archamp-x86_64.AppImage
./archamp-x86_64.AppImageOr, from a running archamp: ARCHAMP → Check for updates.
archamp 1.0.3
The AppImage stops naming a version it cannot keep
archamp-1.0.0-x86_64.AppImage with 1.0.2 inside it — because updating is
replacing that one file in place, and the name it was first downloaded under
is the name it keeps. The file is archamp-x86_64.AppImage now.
Keeping the version in the name would have meant renaming the file on every
update, and that name is the path the desktop entry, the launcher, any dock
pin and the restart itself all point at. Moving all of that on every update to
keep a label honest is a lot of moving parts for a label. A stable name costs
nothing: the release asset is matched on .AppImage, and ARCHAMP → About is
what knows which version you are running.
If you already have a versioned copy, rename it to
archamp-x86_64.AppImage. archamp rewrites its desktop entry from the new
path the next time it starts, so the launcher follows on its own.
Everything else
Unchanged from 1.0.2 — see its notes
and 1.0.1's for
the restart, and
1.0.0's for what
archamp is and how it and
OMedia Controls were
built to go together.
Install
Download archamp-x86_64.AppImage below, make it executable and run it:
chmod +x archamp-x86_64.AppImage
./archamp-x86_64.AppImageOr, from a running archamp: ARCHAMP → Check for updates.
archamp 1.0.2
Restart Later says what it is
Beside Restart, the other button said "Later", which leaves you to work
out later than what. It is Restart Later now.
A note for anyone testing the restart
The update window belongs to the version that is running, so its buttons are
the ones the old archamp shipped. Updating from 1.0.0 to 1.0.1 — the release
that added Restart — showed 1.0.0's window, with its disabled "Updated" and a
Close, because that is the window that was open when Update was pressed. The
new archamp was on disk and correct; it simply was not the one drawing.
An update is what puts the new window in place. It is the update after that
which uses it.
Everything else
Unchanged from 1.0.1 — see its notes
for the restart itself, and
1.0.0's for what
archamp is and how it and
OMedia Controls were
built to go together.
Install
Download archamp-1.0.2-x86_64.AppImage below, make it executable and run it:
chmod +x archamp-1.0.2-x86_64.AppImage
./archamp-1.0.2-x86_64.AppImageOr, from a running 1.0.1: ARCHAMP → Check for updates.
archamp 1.0.1
The update window can start what it just installed
Update left you with a new archamp on disk and the old one still on screen,
and the only way across was to quit and go and find it again.
The button that installed it now offers to start it. Update becomes
Restart, Cancel becomes Later, and archamp goes down and comes
back up on the new version — with the playlist, the track and where it had got
to all as you left them, out of the saved session. Later is still there if you
would rather pick it up next time you start archamp yourself.
Under it, this is not Electron's own app.relaunch(). That starts the new
copy as the old one is going down, and archamp holds a single-instance lock —
so the new copy found the lock still held, handed over its arguments and
exited, and the old one was quitting anyway. Nothing came back. The waiting is
done outside the process instead, by a detached shell that watches archamp go
and then starts the AppImage the update wrote, giving up rather than ever
running two players at once.
Everything else
Unchanged from 1.0.0 — see its notes
for what archamp is and what it does, including how it and
OMedia Controls were
built to go together.
Install
Download archamp-1.0.1-x86_64.AppImage below, make it executable and run it:
chmod +x archamp-1.0.1-x86_64.AppImage
./archamp-1.0.1-x86_64.AppImageOr, from a running 1.0.0: ARCHAMP → Check for updates.
archamp 1.0.0
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.
Since 0.9.0
The icon a launcher, switcher or dock draws is the three-bar mark rather than
the seven-bar one, which needed more pixels than any of them give it, and the
installed icons now refresh when they stop matching what archamp ships. They
were only written when the desktop entry was, which happens when the
AppImage's path changes — and an update replaces the AppImage in place, so the
path is the one thing that does not change when the artwork has.
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 publishesorg.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
Playlistsfolder, and archamp follows the plugin's setting for where that
folder is. - Reordering, from the bar.
org.archamp.TrackListadds theMoveTrack
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
.eqffiles 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.Windowandorg.archamp.Equalizer. - Desktop integration on first run: a
.desktopentry 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-1.0.0-x86_64.AppImage below, make it executable and run it:
chmod +x archamp-1.0.0-x86_64.AppImage
./archamp-1.0.0-x86_64.AppImageOn 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.
archamp 0.9.0
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 publishesorg.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
Playlistsfolder, and archamp follows the plugin's setting for where that
folder is. - Reordering, from the bar.
org.archamp.TrackListadds theMoveTrack
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
.eqffiles 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.Windowandorg.archamp.Equalizer. - Desktop integration on first run: a
.desktopentry 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.AppImageOn 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.