5

GitHub - harmonoid/harmonoid: 🎵 Elegant music app to play & manage music lib...

 2 years ago
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.
neoserver,ios ssh client

Harmonoid

Elegant music app to play & manage music library

Download

Join our Discord server?

New Windows & Linux version is live tada. 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.

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 persevere.

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 smile

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 the mpv-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.

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK