Skip to content

Releases: Mr5niper/Elysian-Player

Elysian Player v2.6.2.0

Choose a tag to compare

@Mr5niper Mr5niper released this 08 Oct 11:29

Elysian Player v2.6.2.0

image

Fixes

  • Library: the glowing outline around an opened album now stays aligned when you come back to the Library after resizing the window. If an album was open in the Library and you switched to Now Playing or Playlist, resized the window, and returned, the outline around the open album came back misaligned and stayed that way until you scrolled the album off screen and back, or closed and reopened it. The outline is now re-measured each time the Library is shown, so it lines up as soon as you return. Your scroll position and the open album's placement are not changed by this.

Upgrading

Download Elysian_Player_v2.6.2.0.zip from the assets below, extract Elysian Player.exe and run it. This release only changes the interface; your settings, playlist and library index are untouched, and no rescan is needed.

Elysian Player v2.6.1.0

Choose a tag to compare

@Mr5niper Mr5niper released this 29 Sep 09:40

Elysian Player 2.6.1.0

image

New

  • Sort names. Albums and artists that start with an article, a number, or a symbol ("The Beatles," "A Tribe Called Quest") can now be filed under their real letter without changing the name that actually displays. Set Sort Title, Sort Artist, Sort Album, or Sort Album Artist from the new Sorting tab in the tag editor, next to Album Art. Leave any of them blank and nothing changes.
  • Visualizer mode name. Double-clicking to a visualizer while nothing is playing (or pausing partway through one you've never seen frames for) now shows that mode's name centered on screen, so cycling through Spectrum Bars/Oscilloscope/Tunnel/Belt/Melt no longer looks the same no matter which one is selected.

Improved

  • Various Artists compilations now sort alphabetically by album title, the same as everything else in that view, instead of by year.
  • Library search is isolated per tab (Albums/Artists/Genres/Songs) - typing a search on one tab no longer leaks onto another when you switch. A small clear button now sits inside the search box, and Escape actually clears the filter.
  • App data - settings, the library index, the art cache, the log, and the single-instance token - now lives in one ~/.elysian_player/ folder instead of five to eight separate files and folders scattered directly in your home directory. Existing data is moved automatically on first launch; nothing is lost.
  • Scan concurrency tuned for more consistent throughput on large libraries.

Fixed

  • A track resumed partway through at startup, then left playing until repeat-one looped it, restarted at the old saved position instead of the beginning - only for that first loop.
  • Pressing Next while repeat-one is active now restarts the current track instead of skipping to the next one.
  • The library could occasionally show a blank tab - looking like the filter had been applied even though nothing was typed - after a library refresh. It now recovers on its own.
  • Some MP3s were showing wildly wrong lengths (minutes off) due to a rare encoding quirk (variable bitrate with no header describing it); affected tracks are now corrected automatically the next time your library is scanned.
  • A track resumed at startup showed no progress and couldn't be seeked until you pressed Play once.
  • The waveform could show a stale color after leaving a visualizer mode if the theme color had changed while it was running.
  • The app's theme color no longer flashes to the default red for a moment on every launch before switching to your saved color.
  • The album art crop tool no longer clips a couple of pixels off the right and bottom edges of the image.
  • The album art crop tool now shows images in the correct orientation, matching the rest of the app.
  • The library no longer reopens to the wrong tab - the last tab you actually had open now correctly persists, every time, not just the first time each session.
  • Album covers now finish loading in the background from app start, instead of sitting unresolved until Library was opened at least once.

Elysian Player v2.6.0.0

Choose a tag to compare

@Mr5niper Mr5niper released this 16 Sep 19:57

Elysian Player v2.6.0.0

image

New in v2.6.0.0

Theme color picker. A color-wheel button next to the mute icon opens a built-in picker - an SV square, a hue strip, hex/RGB fields, no OS dialog involved. Whatever's picked re-shades the entire app: buttons, panels, the waveform, and every visualizer except Melt. Default resets to the original red, Cancel reverts, OK saves and persists across restarts.
image

Album art editing. A second tab in the tag editor, next to the text fields. Choose a file, paste one from the clipboard, or copy the current cover out, all on the original image rather than a downsized copy. A crop tool zooms and positions it in a square viewport; left alone, the whole image is used instead, resized to 500px on its longer side at its natural aspect ratio. Applies to whichever files are open in the editor, or the whole album if a checkbox is ticked. Written directly with mutagen: ID3 APIC for MP3/WAV, FLAC's native picture block, or base64 METADATA_BLOCK_PICTURE for OGG/Opus.
image

Album art disk cache. Resolved covers are now cached to local disk, keyed by album and artist tag. A cover only ever needs decoding once, ever, not once per launch - a real difference on a large library over a network share.

Visualizer modes: Tunnel, Belt, and Melt. Double-click the cover or the waveform to cycle through five modes now, not two. Tunnel's rings are shaped from the raw waveform around their own circumference rather than the smoothed spectrum, so a ring can bulge inward as easily as out, with particles each tracking one specific frequency band. Belt wraps the spectrum into a perspective ring that tilts and turns on its own, with particle trails. Melt is a from-scratch reimplementation of the technique behind Sonique's classic "Smear" plugin - continuously resampling its own previous frame through a shifting warp - with independent color palette, particle shape, and waveform-path layers that each crossfade to a new preset on their own separate timer.

  • Tunnel
    image

  • Belt
    image

  • Melt
    image

Fixed

OGG/Opus embedded album art couldn't be read at all. The metadata_block_picture Vorbis comment (how those formats store a cover) was never being decoded.

Unmuting after muting from zero volume no longer jumps to 50%. It now always restores the exact volume you had before muting, including silence.

Also in this release

  • The theme picker's color math (accent shades, background surfaces) is scaled from the picked color's own saturation and hue, so a fully desaturated pick (black, white, gray) comes out correctly neutral instead of tinted, and no picked hue drifts into a different color family the way a fixed-offset approach was found to.
  • A handful of colors that stayed hardcoded red regardless of the chosen theme - an ambient background glow, the Play button's pressed state, and eight UI surfaces (scrollbar thumbs, slider tracks, button hover states) - now all follow the theme correctly.
  • Non-square album art is no longer cropped and has transparent letterboxed padding around it so the unused space blends with whatever's actually behind it.

Elysian Player v2.5.2.0

Choose a tag to compare

@Mr5niper Mr5niper released this 11 Sep 12:05

Elysian Player 2.5.2.0

image

Added

  • Windows can now be resized by dragging any edge or corner, the same as
    a normal window. This is new: the previous version had no way to
    resize the window at all.
  • A visualizer for the Now Playing view: double-click the cover or the
    waveform to swap in spectrum bars:
image double-click again for an oscilloscope trace: image and again to go back to normal.

Fixed

  • The expanded album's border in the Library view could look broken
    while the window was actively being resized. It's hidden for that one
    moment now and reappears correctly once the resize settles.
  • The visualizer showed a grey box behind the bars or the wave. It's
    transparent now, so only the shape itself is visible.

Notes

  • No settings, playlists, or library data are affected by this update.

Elysian Player v2.5.1.0

Choose a tag to compare

@Mr5niper Mr5niper released this 08 Sep 10:32

Elysian Player v2.5.1.0

image

Library Updates

image

Albums now expand in place. Clicking an album no longer replaces your view of the rest of the library. It opens right where you clicked, as part of the same grid, and the album is outlined so it's always clear which one is open. Artists and Genres still open in the full browse pane since there isn't a row of cards for those to slot beside.

New: Add all to playlist. Opening an album gives you a second queue button next to "Add to playlist." This one always queues every track in the album, no matter what's selected, so you don't have to clear a partial selection just to grab the whole thing.

Double-clicking an album card no longer plays it. Only double-clicking a track does that now, same as every other list in the library.

Each library tab remembers exactly where you left it. Scroll position, whatever was open, your selection. Switching between Albums, Artists, Genres, and Songs is a visit, not a fresh load every time.

Filtering the library is snappier, especially on Songs with a large collection. Results update as you type instead of waiting on a slow query to catch up.

Covers keep loading while an album is open. Scrolling the grid with an album expanded now keeps loading covers for whatever comes into view, instead of stalling until you click something.

Tag editor

Editing tags on the track that's currently playing no longer risks a failed save. The player now actually releases the file before writing to it, instead of just pausing, since pausing alone wasn't enough. Playback picks back up automatically once the save finishes, right where it left off.

A failed write from a briefly locked file now retries automatically for a few seconds instead of failing on the first try.

Tag saves are faster. Reading a file for its current tags and comparing before writing no longer opens it twice.

Playlist

Fixed: playing a track from the library while looking at the library could leave the playlist's own highlight out of sync until you clicked something.

Everything else

Various smaller fixes to scroll behavior, window resizing, and library state that came up while building the above.

Elysian Player v2.5.0.0

Choose a tag to compare

@Mr5niper Mr5niper released this 07 Sep 06:14

Elysian Player v2.5.0.0

image

This release is mostly about the Library catching up to how people actually use it: playing straight from it instead of just browsing, and getting several grouping and search problems sorted out that showed up once people started pointing it at real, messy collections.

Play from the Library, not just browse it

  • Double-click a track anywhere in the Library and it keeps going. Whichever view you're in, an album, an artist, a genre, or the Songs list, the whole thing becomes the active queue in the order it's shown, starting from the track you clicked. It plays through the rest exactly like it would if you'd built a playlist out of it yourself.
  • Double-click an album's cover to play the whole album from the first track, without opening it first.
  • The Play button next to Add to playlist now does the same thing as double-clicking, starting from whatever you've selected. It used to only play the selected rows on their own; now it plays the whole view, the same way double-click does, just starting from a different spot.
  • The Library stays open while any of this happens. It used to switch you over to the Playlist tab the moment something started playing. Now it doesn't, so you can watch it work and pick the next thing yourself.
  • The track currently playing gets the same small triangle marker the Playlist already uses, so you can see what's playing from inside the Library too.
  • Shuffle, repeat, next and previous all keep working exactly as they always have, whatever queue happens to be loaded.

Better grouping and search

  • Two different bands' albums that happen to share a title no longer get merged together. They used to show up as one card with both bands' tracks mixed in, which is obviously wrong. A real compilation, one where the file itself says it's a compilation, or where the album artist tag says something like Various Artists, still groups correctly into one card.
  • Case and punctuation no longer split an album in two. A tagger who wrote NEVERMIND on one track and Nevermind on the rest now gets one album. Sorting also ignores leading punctuation, so something like "Weird Al" Yankovic files under W instead of jumping to the front.
  • A Songs tab, alongside Albums, Artists and Genres. It lists every track and is searchable on its own, broken into album sections the same way Artists and Genres are, with anything missing an album tag collected at the end instead of scattered throughout.
  • Search only searches what the tab in front of you shows. Searching in Albums matches album and artist names; searching in Songs matches song titles. Before this, a song title search could pull up an unrelated album because its title happened to contain the word.

Faster and less prone to getting stuck

  • Scanning a folder no longer waits until the whole thing is done before showing you anything. It works one subfolder at a time, and each one becomes browsable the moment it's read, so a big collection starts showing albums within seconds instead of sitting there with nothing to look at.
  • Album covers load the ones you're actually looking at first, and fill in the rest of the library quietly in the background afterward, rather than either loading everything up front or never finishing the ones you scrolled past.
  • Fixed a rare case where an older, slower Library query could land after a newer one and overwrite it, which could very occasionally leave the Library showing something other than what you'd just asked for.

Also fixed

  • Launching the exe while it's already running now brings that window to the front, instead of just flashing its icon in the taskbar and leaving you wondering if anything happened.
  • Typing in any text box never triggers a playback shortcut anymore. Before this, typing a space while searching in the Library could pause playback, because only one specific text box was ever protected from that.

Requirements

Windows 10 or 11 with the WebView2 runtime. It's part of Windows 11 and installed alongside Edge on Windows 10. If the window opens blank, that's what's missing.

Notes

Windows SmartScreen will warn on first run because the executable is unsigned. Choose More info > Run anyway, or build it yourself with BUILD_EXE.bat, which needs Python 3.13.12 exactly.

If you're updating from a version older than 2.4.0.0 and already have folders indexed in the Library, the next scan will take a bit longer than usual, since a couple of things were added to the database and every file needs to be read once to fill them in. After that one pass, rescans go back to being quick.

Elysian Player v2.4.0.0

Choose a tag to compare

@Mr5niper Mr5niper released this 06 Sep 09:06

Elysian Player v2.4.0.0

image

Download the zip below, extract it, and run Elysian Player.exe. Nothing to
install and no Python needed.

This release adds a Library: point it at your music folders once and browse by
album, artist or genre without waiting on the folders themselves.

Library

  • Add folders and they are indexed. Tags and paths go into a small database
    in your home folder, so browsing works whether or not the folders are
    currently reachable.
  • Browse by album, artist or genre. Albums are grouped by band and ordered
    by year within each, so a band's records read in the order they came out. An
    album with no year tag sorts to the end of that band's run rather than the
    front.
  • Artists and genres are broken into album sections rather than one long
    list of songs. Files with no album tag appear last, under their own heading.
  • Opening an album shows its cover beside the track list, with the year,
    track count and running time. The cover stays put while the tracks scroll.
  • Cover art comes from the first track that carries an image, so an album
    whose opening track is untagged still gets artwork. Covers are read only for
    the entries actually on screen, so a large library does not decode hundreds
    of images you have not looked at.
  • Select tracks as you would in the playlist and add them to it, or play
    them straight away. Ctrl-click toggles, shift-click takes a run,
    ctrl+shift-click adds a run.
  • Manage indexed folders from the Folders button. Removing one takes it out
    of the library and nothing else; no files are touched.
  • A rescan only reads files that changed. An unchanged file costs one
    timestamp check rather than opening it, so repeating a scan is cheap.

The playlist gets faster with it

The playlist now reads its tags from the library index. A track the library has
already seen needs no file opened at all, however slow the drive or share it
lives on. If your music is on a NAS, indexing it once is the difference between
a playlist that fills in as you scroll and one that is simply already filled in.

Fixed

  • Tagged WAV files were showing as bare filenames. Their tags were being
    read in a way that never surfaced them, so title, artist and album were all
    ignored. This affected every version that supported .wav.
  • Embedded artwork in WAV files was never found either, for the same
    reason.
  • More tags are read now: genre, album artist, track number, disc number
    and year, alongside the title, artist, album and duration read before.

Requirements

Windows 10 or 11 with the WebView2 runtime. It is part of Windows 11 and is
installed alongside Edge on Windows 10. If the window opens blank, that is what
is missing.

Notes

Windows SmartScreen will warn on first run because the executable is unsigned.
Choose More info > Run anyway, or build it yourself with BUILD_EXE.bat,
which requires Python 3.13.12 exactly.

The library index lives at .elysian_library.db in your home folder, beside the
settings and log. It holds tags and file paths, never audio. Deleting it loses
nothing permanent: your folders are remembered in the settings file and a rescan
rebuilds it.

Elysian Player v2.3.0.0

Choose a tag to compare

@Mr5niper Mr5niper released this 02 Sep 07:40

Elysian Player 2.3.0.0

image

A quality-of-life release: two new controls people expect from a music player, a larger Now Playing view, and a set of fixes that make tag info reliable no matter how a track starts playing.

Added

  • Mute. Click the speaker icon next to the volume slider to mute; the icon swaps to a crossed speaker. The slider keeps showing your volume, unmuting restores it, moving the volume while muted unmutes (the way the system mixer behaves), and closing while muted saves the unmuted level so the next launch cannot start trapped at silence.
  • Clear Playlist. A toolbar button and Ctrl+Shift+Delete, both guarded by a Yes/No confirmation dialog with No focused by default. Clearing stops playback and resets everything the playlist owned, a clear made just before closing still lands in the saved session, and a folder scan running at the time stops instead of refilling the list you just emptied.

Fixed

  • Now Playing always shows tag info now, however a track starts playing. Three related gaps conspired to leave the card on the filename: session restore never queued the restored track's tags, tag arrivals only updated playlist rows and not the card, and a timing race in the poll loop could discard a tag update entirely when it landed in the same instant as a playlist change. The usual victim was a file opened from Explorer whose album art was already cached. All three paths are closed, so the card fills in within a moment whether the track came from a restored session, the playlist, or an Explorer double-click.
  • Maximising shows the whole playlist immediately. The list only rendered rows for the old window height until the first scroll; it now refills on resize, and also when switching to the playlist view after resizing elsewhere.

Changed

  • The Now Playing cover is twice the size. The album art grows from 126px to 240px with the waveform slimmed to make room, and artwork is rendered at a higher resolution so it stays crisp on displays running 125-150% scaling.

Compatibility

  • Settings, session files, and saved M3U playlists from 2.2.0.0 load unchanged.
  • Same requirements as 2.2.0.0: Windows 10/11 with the WebView2 runtime. Features listed under "Not in 2.3.0.0" in the README remain absent from this release.

Elysian Player v2.2.0.0

Choose a tag to compare

@Mr5niper Mr5niper released this 02 Sep 02:46

Elysian Player 2.2.0.0

image

This release finishes the threading model that 2.1 started: every operation that can touch a file now runs off the interface path, several small but irritating bugs are gone, and shuffle got smarter about large libraries.

Fixed

  • Waveforms now appear for every track. Tracks whose filename or folder path contained a non-ASCII character (accents, umlauts, non-Latin scripts) played fine but never showed a waveform, because the decoder mangled the filename on Windows. The waveform is now decoded from bytes read the unicode-safe way, so every track gets one regardless of what it is named.
  • Enter no longer double-fires. Tabbing to Shuffle, Repeat, or any other button and pressing Enter used to activate the button and restart or switch the playing track. Enter on a focused control now does only what the control says; playing the selected row still works with focus in the playlist.
  • Nothing is lost by closing quickly. Volume, shuffle, repeat, and playlist changes made a moment before closing are applied before the session is saved, and closing instantly after launch can no longer save an empty playlist over your previous session.
  • A playlist file that cannot be read reports through the status line instead of erroring into the interface.
  • If the log file cannot be created, the player says so once at startup instead of silently producing no log.

Improved

  • The window cannot be stalled by a slow disk or share. Adding files, adding folders, opening a file from Explorer, and loading or saving M3U playlists all run on the worker thread now — including the per-file checks that used to run on the interface path. Folder scans stream in with a live count, and dropping files mid-scan stays responsive.
  • Shuffle scales. Adding music while shuffle is on mixes the new tracks into the upcoming draws instead of reshuffling the whole library, tracks you have already heard no longer sneak back into the pool during a long folder scan, and shuffle bookkeeping costs nothing while shuffle is off.
  • Playlist files travel better. Saved M3U paths are written relative wherever a relative path exists (including ../ to sibling folders), and loaded entries are stored in a clean absolute form that does not depend on where the player was started from.
  • Startup self-check got stricter. The player now also refuses to launch if a bridge method has been shadowed by something that is not callable, turning a subtle frontend-goes-dead failure into an immediate error.
  • The playlist panel is titled Playlist, matching what it shows.

For anyone reading the code

  • Playlist mutation is worker-only end to end; the bridge surface is split into JS_BRIDGE and HOST_PUBLIC, each asserted at startup.
  • play_id() is fire-and-forget and now returns None to say so.
  • The dormant lyrics and discovery modules were aligned with the project's abspath-only path rules so reviving them later starts from a clean base.

Compatibility

  • Settings, session files, and saved M3U playlists from 2.1.0.0 load unchanged. Nothing moved.
  • Same requirements as 2.1.0.0: Windows 10/11 with the WebView2 runtime. Features listed under "Not in 2.2.0.0" in the README remain absent from this release.

Elysian Player v2.1.0.0

Choose a tag to compare

@Mr5niper Mr5niper released this 01 Sep 08:26

Elysian Player 2.1.0.0

image

Download the Elysian_Player_v2.1.0.0.zip below, extract it, then run Elysian Player.exe.
Nothing to install and no Python needed.

New

  • Album column. The playlist shows track number, title, artist, album and
    duration. The album column hides itself when the window is narrower than
    820px.
  • Shift-click range selection, as Explorer does it. Ctrl-click toggles one
    row, shift-click takes the whole run from the last row you clicked, and
    ctrl+shift-click adds that run to what is already selected.
  • The whole playlist fills itself in. Rows on screen are read first, then
    spare capacity goes to the rest of the list: while you scroll, the direction
    you are heading; once you stop, outward from the view in both directions.
  • Double-click the title bar to maximise and restore.
  • A log file at .elysian_player.log in your home folder.
  • New icon.

Fixed

  • The maximise button could not restore. It now shows a restore glyph while
    maximised, and follows along when the window is maximised by Win+Up or
    snapping.
  • Dragging a track downward dropped it one position past its target instead of
    before it.
  • Artist, album and duration stayed blank on rows that were already on screen
    when their tags arrived.
  • The waveform blanked when the window was maximised or restored, or when a tag
    scan finished.
  • Closing discarded a reorder or a removal made a moment earlier.
  • Volume and seek by keyboard now move their sliders at once rather than on the
    next update.

Large libraries and network shares

  • A finished tag read no longer resends the whole track list to the interface,
    so the cost no longer grows with playlist size.
  • Playlist lookups are no longer a linear scan, which made filling a long list
    slow down as it progressed.
  • The poll that collects updates adapts to what is happening: quicker during
    playback or while rows on screen are blank, slower when paused, and a slow
    heartbeat when the window is hidden.
  • Single-instance handling uses a Windows named pipe, so there is no firewall
    prompt on first run and no fixed port to collide with anything else.

Requirements

Windows 10 or 11 with the WebView2 runtime. It is part of Windows 11 and is
installed alongside Edge on Windows 10. If the window opens blank, that is what
is missing.

Notes

Windows SmartScreen will warn on first run because the executable is unsigned.
Choose More info > Run anyway, or build it yourself with BUILD_EXE.bat,
which requires Python 3.13.12 exactly.