Melodie is a cross platform simplistic, intuitive, portable and open source music player.
https://feugy.github.io/melodieMelodie is a portable, simple-as-pie music player.
There are thousands of them in the wild. This mine is an excuse for learning Electron, Svelte and reactive programming.
Installation
You will find installers on the releases page.
Please note that AppImage Snap and NSIS installer will automatically update to the latest available version.
If you run Mélodie from a zip or using DMG/Windows portable version, you will have to download updates by yourself.
Note for Windows users
Windows installers are not signed.
When you will run the .exe files, Windows will warn you that the source is insecure (it is not!).
It is possible to bypass the warning by clicking on the "More information" link, then on the Install button
Note for MacOS users
DMG image is not signed.
After you will have downloaded the .dmg file, open it and drag the Mélodie icon to the Application Icon. Then, MacOS will prevent you from opening Mélodie as I haven't paid for an app deployment certificate.
Once you will have closed the annoying warning, open you Security panel in settings, and go to General tab. There, you should see the list of recently blocked application: Mélodie should be there.
You can add it as an exception, and then run it (see: How to open an app that hasn’t been notarized or is from an unidentified developer).
Another option is to open it with Control-click: it'll immediately register the app as an exception (see: Open a Mac app from an unidentified developer).
TODOs
features
images from tags
indicates when track is in playlist
configure replay gain from settings
display tracks/albums/artists count in settings
allow reseting database from settings
smaller screen support (UI refactor)
tools
App automated end to end tests
more technical documentation (install & release process notably)
release
references
Electron's app list (PR)
Svelte's showcase (PR)
Snap store (app page)
AppImage hub (PR)
Windows App store (app page
Bugs and known issues
DMG package does not download updates: it requires zip, and we cannot build zip because of the accent in product name...
Playlist models are not updated on tracks removal
Undetected live changes: remove tracks and re-add them. This is a linux-only issue with chokidar
Issue #917
Issue #591
When loading new folders, enqueuing or going to album details will give incomplete results. Going back and forth won't load new data
Security: clean html in artist/album names (wrapWithRefs returns injectable markup)
AppImage, when used with AppImageLauncher, fail to auto update
If we knew current position in browser history, then we could disabled navigation button accordingly
Page navigation: use:link doesn't work in tests and raise Svelte warning. a.href is fine
Disklist/TrackTable dropdown does not consider scroll position (in storybook only)
Testing input: fireEvent.change, input or keyUp does not trigger svelte's bind:value on input
The test suite is becoming brittle
https://feugy.github.io/melodie/
https://github.com/feugy/melodie