Skip to content
Compare
Choose a tag to compare

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:

Screenshot 2022-05-13 at 20 56 33

Screenshot 2022-05-13 210322

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!

Screenshot 2022-05-19 at 13 24 09

Screenshot 2022-05-19 at 13 25 04

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
Compare
Choose a tag to compare

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 and rightArrow keys will seek -/+ 10 seconds on the playing track
  • ctrl/cmd+L will redirect to the Library view
  • ctrl/cmd+P will redirect to the Playlists view
  • ctrl/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
Compare
Choose a tag to compare
  • Fixed playlists tracks import on Windows
  • Fixed library scan for tracks with special characters in their filename
  • Fixed playlists menu height when there is a lot of playlists
  • Updated dependencies: should help with newest Windows/macOS/Linux specific issues

Thanks to @GilgameshxZero for the help!

Compare
Choose a tag to compare
  • Fixed Playlist navigation hiding the footer when too many playlists are present
  • Fixed some tracks metadata issues during library scan (thanks @qcasey)
Compare
Choose a tag to compare
  • Fixed progress bar that would get crazy wide for some reasons
  • Fixed playlists not being updated after adding tracks to them

Big thanks to @qcasey for fixing these πŸ™Œ

Also:

  • Checksums will now be added for each release (SHA256)
Compare
Choose a tag to compare

Added

  • Add the ability to double click on a playlist to play it (@MrDoctorKovacic)
  • Add ctrl/cmd+A + shift keyboard shortcuts on the tracks list (@aDogCalledSpot)

Fixed

  • Fix ctrl/cmd+F shortcut on international keyboard (@aDogCalledSpot)
  • Fix m3u imports when the file would use uncommon carriage returns (@MrDoctorKovacic)
  • Fix empty playlist when creating a playlist via the tracks list context menu (@MrDoctorKovacic)

Internals

  • Drop TSLint in favor of ESLint + Prettier
Compare
Choose a tag to compare

Museeks 0.11 is landing, bringing a couple of much needed features. πŸš€

Re-orderable playlists

Playlist are now finally re-orderable: you can re-order single or multiple tracks by drag-and-dropping them. Yes, I know, it's a shame it was not here before.

m3u support (import/export)

When importing tracks to the library, Museeks will now scan the directories for existing .m3u files and will create corresponding playlists. It only works with local files (for now).

When creating a playlist from Museeks, you can also export it to a .m3u file by right-clicking the playlist on the sidebar.

note: the files paths in the generated .m3u will be relative, not absolute. This choice was made so you can use the same library from different OS/filesystems (useful if you have your music in the cloud and you sync it on multiple devices).

note 2: tracks present in a .m3u but not present in the library after the files scan will be ignored.

MPRIS support (Linux)

Thanks to the amazing work of @acrisci and @igorer88, Museeks now supports the FreeDesktop's mpris specification. You should see a player indicator in your favorite DE if it supports mpris.

Screen Shot 2019-03-28 at 11 49 00

I personally tested this feature on Ubuntu and elementary OS, but please send feedback if you encounter any problems (testing on Linux is hard).

Covers coming from id3 tags are unfortunately not yet supported.

Custom audio output

You can now select a custom audio output device in the Settings -> Audio tab. This can be useful if you have multiple speakers/headphones and you need a per-app configuration for them.

Internal styles refactoring

  • Proper separation between components and elements
  • Dropped Bootstrap
  • Dropped Sass in favor of PostCSS + CSS modules
  • Dropped sass-lint in favor or stylelint
  • Light and dark themes are now more consistent and maintainable
  • All colors are now CSS variables
  • Thanks to this work, custom themes should be quite trivial to implement

Misc

Fixed

  • Fix active playlist sometimes switching to another when renaming a playlist
  • ctrl+click and cmd+click now behave correctly on macOS
  • Fix search focus shortcut with ctrl/cmd+F
  • Fix playing bar tooltip's mispositioning when hovering the progressed section
  • Prevent links from being draggable
  • Fix deps/electron-builder electron version mismatch
  • Fix library scanning getting freezing on some edge-case scenarios

Added

  • Ability to duplicate a playlist
  • Settings shortcut with ctrl/cmd+
  • The app is now signed on macOS

Changed

  • The tray is now only shown when minizing the app
  • The tray is now disabled on macOS (see why)
  • The minimizeToTray option is now disabled by default
  • Improved cover lookup
  • Re-enable sleep-blocker on all platforms + only activate it when using is playing (and disable it when music is paused or stopped)
  • Various tracks selection improvements
  • The playlist sidebar is now more compact, and actions are moved to the top
  • Settings view revamp (again)
  • Webpack now uses the Webpackbar plugin for fancy build indicators
  • Electron (Node.js + Chromium version bump) update (+ dependencies)

I hope you'll enjoy

Compare
Choose a tag to compare

Fixed

  • Fixed crash on startup with screens whose width or height have an odd number of pixels
Compare
Choose a tag to compare

Museeks 0.10 is there πŸŽ‰ No revolutionary changes, but a lot of little tweaks and improvements.

Various UI/UX improvements

  • Settings view revamped on really large screens
  • Added a new volume control
  • Added a "global error boundary" (when the app crashes for reasons, it won't freeze anymore, and a user-friendly message will be shown)
  • Improved tracks list performance (you should not be able to see white flickering when scrolling anymore)
  • Remember column sorting settings on app quit
  • Fixed page-up/page-down/home/end navigation
  • Fixed the app thumbbar on Windows
  • Removed the advanced tab in the settings view (options still accessible via the menu)
  • Minor CPU consumption improvements

Scan improvements

  • Scanned/total number of files scanned shown on the UI
  • Add tracks to the library view during scan
  • Scan reliability improvements (ID3 metadata + tracks duration)

Integration Improvements

  • Use native fonts on all platforms (previously only on macOS)
  • No custom frame anymore: in effort to improve the integration on different OS, the native frame is now always used. This will also helps having the app menu available everywhere.

Security

Though Museeks should not be affected too much as there is no sensitive data used by the app, the app now makes use of the Content-Security-Policy meta tag in a somewhat strict manner.

A Content Security Policy (CSP) is an additional layer of protection against cross-site-scripting attacks and data injection attacks. We recommend that they be enabled by any website you load inside Electron.

JavaScript's eval has been disabled too.

More information there

Codebase improvements

We moved to TypeScript and dropped Babel (for both the main-process and the UI). This should improve the code quality a lot, and will help prevent features regression and runtime bugs.

The main-process has been fully rewritten and some features abstracted to "modules" (e.g Windows thumbbar, app menu, global shortcuts, tray etc...).