Releases: martpie/museeks
0.20.6
- Fixed Museeks not running on Ubuntu 22.04 / Mint 21
note: Museeks for Linux is now built using to GLIBC_2.31
instead of 2.38
. This makes it compatible with all Linux distros using version 2.31
or a newer one.
It would unfortunately be quite hard to target even older systems like Ubuntu <= 20.04
, due to libwebkitgtk
dependency issues. If you really need Museeks to run on older systems, I would encourage you to update GLIBC to a version greater than 2.31
.
0.20.5
0.20.4
0.20.3
0.20.2
0.20.1
0.20.0
Yes, Museeks is still alive, I worked on a bunch of small improvements in the past year, but due to a few unintended bugs and side-effects, I could not finish the full release. Also, I kind of got caught in a big rewrite of the back-end, so here we are :)
This is a quite big update, and to illustrate the nature of changes this new release brings, I'm bumping the version directly from 0.13
to 0.20
.
There are a few breaking changes, issues and removed features, they are marked with
Let's dive into what's new!
Bye Electron, Hello Tauri!
Museeks is now built on top of Tauri instead of Electron. This brings many improvements, but also a few downsides, so let's details those!
The whole back-end has been rewritten from TypeScript to Rust, and the main advantage of the new platform is reduced footprint on your system.
Electron | Tauri | ||
---|---|---|---|
App Size (.app) | 201.4 MB | 8.1 MB | |
CPU % (maximized, playing) | 26.3 % | 12 % | |
Memory (maximized, playing) | 331.3 MB | 197.2 MB |
Testing done on macOS, sources: trust me bro. More seriously, gains may vary depending on systems, I did not setup a real and strict test procedure, but the order of magnitude should be similar.
Another improvement is all the interactions with the operating system are not done from the UI anymore, but from the Back-End using IPC, making the UI more responsive and the app more secure.
The storage layer is not backwards compatible (tracks, playlists and config):
- You will have to re-import your library from the app
- Please export your playlists before installing
museeks@0.20
, so Museeks can re-create those when re-indexing your library
Downsides and Known Issues
There are some downsides jumping to a newer but less mature platform, and I will need your help to report bugs or issues you see. :)
Most existing features could be ported, but there are a few exceptions:
β οΈ Known Issues
- All platforms:
- Audio output selection is broken
- Windows:
- Drop-files-anywhere is broken
- Thumbar is broken
- macOS
- The queue cannot be persisted for more than 2000 tracks when the app is re-opened
- The dock context menu is broken
Header Revamp
The header was in dire need of some improvements, here are the things that changed:
- More compact, track name and album + artist on different lines
- Added interactivity hints buttons (play, pause, shuffle etc)
- Added a "See more" button in the queue panel
- Added covers in the queue panel
- Changed the volume changer location to avoid collision with player controls
- Improved the "muted" state visibility (it was quite confusing before)
- Fixed window frame color mismatch on Linux / Windows when changing theme
before/after:
Library Scan Revamp
Library folders are back! Instead of just importing folders, you can set all your library folders and rescan them at once. In addition to that:
- Added the possibility to automatically re-scan your library on startup (disabled by default)
- Added notifications about the added tracks and playlists
Dark Theme Revamp (again)
The Dark theme got refined, here are the highlights:
- More neutral color set (instead of the previous dark blue tint)
- Better contrast around borders, progress bars, etc
- Window frame now also gets dark (window/linux)
before/after:
Compact track view
It is now possible in Settings > Interface
to set the track density to compact
for those who like to see more things at once.
Scroll Restoration
When moving between views (playlists, library etc), the scroll position will now be restored.
Edit more track information
It is now possible to edit more track information, like year, track numbers and disk numbers. Thank you @igorer88 for building this!
β οΈ Removed Tray
The tray icon was removed.
- Tray Icons are always buggy in some form on some Desktop Environment (blurry icons, duplicated tray, etc), and I cannot test them all.
- The Desktop Environment (on both Linux and Windows) should be providing the basic usability bricks, and apps should plug themselves to them.
The tray way mainly used to control the playback and close the app (using the cross icon to close the app, the app would actually get minimized, and not closed).
It makes more sense to control the playback via MPRIS, which Museeks also supports, and the close behavior should be consistent with other apps. This also aligns with many other music players on both Windows and Linux (VLC, iTunes, Clementine etc).
Hence the removal :)
β οΈ Removed 32-bit binaries
WTTS. This was mainly done for my own sanity. If you really need a 32-bit version of Museeks, please open an issue.
Misc
- Adjust icon size on Linux + macOS
- Track change will not trigger a new notification but will update the previous one
- Added button in the settings to open the storage folder (database, config, etc)
- The app is now correctly notarized on macOS (no more security warning on first startup)
- Improved accessibility (progress, queue, etc)
Internal changes
- The database is now powered by SQLite, which should allow us to perform migrations in the future instead of asking users to recreate their library at every release
- The bundling and transpilation is now handled by Vite instead of Webpack
- Hot-reloading when editing UI files (finally!)
- Migrated from Redux to Zustand for UI state management
What's next?
On my immediate todo list are the next items, some are partially done but now fully cross-platform or missing features:
- Improve startup time (we can probably trim one second easily)
- Artists/Albums View (#130): add another view to access tracks by artist, grouped by albums.
- File association (#155 #154): be able to play audio files directly from file explorers
- Get feedback on Tauri+Linux and fix issues if any (I could not extensively test things there)
0.13.1
0.13.0
Hello there π
A new minor update that I should have released ages ago, sorry for that. Not much to see, some quality of life improvements and that's basically it.
On a side-note, I am working (at the moment for fun, but it may become serious if I see it's worth it) on a port/rewrite to Tauri (Rust) and Solid, which should considerably reduce storage and memory usage. You can see the progress on #638 :)
Media Session support
Museeks now uses the Media Session API, which should result in better support for MPRIS on Linux, and add support for native media control on macOS and Windows:
Edit tracks information
It is now possible to update tracks information. Note that those changes will not be persisted on the source file (it will come at some point).
All props to @jvegaf for building this feature!
Import tracks from any view
Quite straightforward:
Screen.Recording.2021-12-20.at.12.34.20.mov
M1 binaries
Optimized binaries are now available for the latest MacBooks running ARM.
Misc
- Changed: better fonts displayed on Ubuntu (instead of default Arial)
- Changed: display all artists in tracks list (instead of first only) (thanks @FKD13!)
- Fixed tracks sorting for tracks with multiple artists
- Fixed
ctrl/cmd+A
selecting not only the tracks but also the text of the app - Fixed devtools not loading
- Fixed player controls alignment on Windows
Internals
- Switched to ESBuild from Webpack for instant builds
- Upgraded to React v18
- Upgraded Electron to v18
- More automated tests
- Convert most components to hooks
0.12.0
UI improvements
- New dark mode: darker, with higher contrast
- Old dark theme still available (called
Dark (legacy)
) - Some elements not themed are now themed when using dark mode (selects, inputs...)
- Native elements (like selects and context menus) on Windows and macOS should now be dark/light depending on the theme used
- Some UI elements are now in bold/medium font-weight to make sure they are easily readable
State persistence when re-opening the app
The player state is now saved and restored on restart (queue, playing track, etc). Here are some additional details:
- Library content (tracks + playlists) is not restored, it will be loaded as usual (loading library...)
- If the player was playing something, on restart, the player will be paused, and the queue will be easily "resumable" by just clicking the "Play" button
System theme
There is a new theme option in Settings > Appearance > Theme
to make Museeks use the system theme you have defined in your OS settings, enjoy :)
Custom default view
You can now set a default view between "Library" and "Playlists" in Settings > Appearance
.
Webm support
.webm
files are now supported and playable by Museeks.
New shortcuts
leftArrow
andrightArrow
keys will seek -/+ 10 seconds on the playing trackctrl/cmd+L
will redirect to the Library viewctrl/cmd+P
will redirect to the Playlists viewctrl/cmd+T
will make the tracks list jump to the playing track
Portable binaries for Windows
Portable versions of Museeks are now available for Windows.
Other improvements
- Fixed playlists not being exportable when some tracks have moved on the filesystem
- Fixed some FreeDesktop deprecation warnings
- Fixed ia32 Windows binaries not being correctly published
Internals
- Binaries are now built on the CI, this should help solve a couple of mistakes I sometimes do when releasing a new version of Museeks
- Setup unit-tests
- Code consolidation, file naming, add more JSDoc
- Themes definition changed a little bit
- Work on Electron deprecations
- Moved more logic to the main process