GitHub - harmonoid/harmonoid: 🎵 Elegant music app to play & manage music lib...
source link: https://github.com/harmonoid/harmonoid
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Harmonoid
Elegant music app to play & manage music library
Download
Join our Discord server?
New Windows & Linux version is live . We are still working on Android refactor...
Motion
Download
Windows
On Windows, setup is recommended as it automatically links with files & file explorer context menus.
Linux
NOTE: Flutter seems to be causing MEMORY LEAKS on Linux.
It causes memory to steadily increase & at a really fast pace when indexing the music.
https://github.com/flutter/flutter/issues/73402
I will have a detailed look once I return after my exams.
- .deb package
- .rpm package
- AppImage
- Raw Executable
- flatpak install flathub io.github.harmonoid.harmonoid Do NOT install. Yet to be updated.
On Debian or Ubuntu based distros, you need to install mpv
& libmpv-dev
to be able to install & run the app.
sudo apt install mpv libmpv-dev sudo dpkg -i harmonoid-linux-x86_64.deb
Similar instructions can be followed on your favorite distro.
Big thanks to @prateekmedia for setting up Linux packages & stuff.
Android
- Coming Soon .
Features
- Powerful music library management based on metadata tags. Indexes music into group of albums & artists.
- Capable of indexing 20 files/second (on Windows) & saves cache for future app start-ups.
- Cross-platform (currently aiming Windows, Linux & Android).
- MPV based music playback for strong format support (on Linux & Windows) using
dart:ffi
. - Taskbar & System Media Transport Controls for Windows.
- Small installer (< 25 MB) & low RAM usage (< 120 MB).
- Lyrics for all your music.
- Very strictly follows Material Design guidelines for UI & animations.
- Ability to create persistent or "Now playing" playlists.
- Context menu integrations & file associations (exclusive to setup version).
- Discord RPC integration.
- Portable (if you wish).
- Does not use electron.js.
- D-Bus MPRIS controls for Linux.
Upcoming features
- Mini-window mode.
- Minimization to system tray.
- Music visualizations.
- Tag editor.
- Time-synced lyrics.
- Importing playlists from YouTube & Spotify using Web API.
- Equalizer.
- Improvising YouTube support to be close to official web-client.
- Last.fm scrobbling.
- Plugin API.
- Windows 11
IExplorerCommand
integration. - Publishing to Microsoft Store & other places.
- Support for remaining macOS & iOS platforms.
- YOU Tell
We are working hard to bring this new update to all platforms soon.
NOTE: Project is NEVER going to offer feature for downloading music from YouTube.
License
Source code and official releases/binaries are distributed under our End-User License Agreement for Harmonoid (EULA). Please check that there are modules/libraries in the source code that are proprietary to Harmonoid & present in the external directory (at the time of commiting this file).
Acknowlegements
-
Harmonoid is (for the most part) written in Dart programming language using Flutter SDK. Refrences to all the other external "plugins" & "packages" used at the time of building application can be found here.
-
Harmonoid uses a modified version of libmpv for media playback capabilities on desktop. The compilation setup & other information can be found here. The application bundles a minimal & LGPL compilant version of mpv shared library (
mpv-2.dll
). Users are free to update/change to their own preferred libmpv by replacing thempv-2.dll
file present in Harmonoid's application directory. -
End-User License Agreement for Harmonoid (EULA) is a slightly modified version of End-User License Agreement for Aseprite (EULA).
Bonus
Well you've scrolled this down... How about seeing more stuff.
Contributors
-
Hitesh Kumar Saini
- Lead developer. Deals with playback & indexing of music. Writes UI, state management & lifecycle code. Maintains native C++ plugins.
-
Denis
- Windows installer & major bug fixes. Russian translation.
-
mytja
- WinGet package. Backward compatiblity checks. Bug reports. CI. Slovenian translation.
-
Prateek Sunal
- AppImage, RPM & Flatpak installers. Bug reports. Hindi translation.
-
Bluebell
- Artwork & iconography used in the application.
-
Bruno D'Luka
- User interface & design. Portuguese translation.
-
Gaetan Jonathan BAKARY
- Linux related bug-fixes. French translation.
-
Fodor Benedek
- Hungarian translation.
-
Tamim Arafat
- User interface & design. Bug reports.
-
Max Haureus
- Swedish translation.
-
Lars
- Dutch translation.
-
CanbiZ
- German translation.
-
ilopX
- Testing & bug reports.
-
Ankit Rana
- Testing & bug reports.
-
Leon
- User interface fixes, app persistence improvements. Dutch translation.
-
stonegate
- Mandarin translation & bug reports.
-
さぶうぇい
- Japanese translation.
-
Yusuf Kamil Turan
- Turkish translation.
-
yulog
- Update Japanese translation.
-
ejacquemoud
- Update French translation.
-
Maison
- Update Portuguese translation.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK