Git Product home page Git Product logo

harmonoid's Introduction

Elegant music app to play & manage music library

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.

flutter/flutter#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 😣.

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

harmonoid's People

Contributors

alexmercerind avatar mytja avatar raitonoberu avatar prateekmedia avatar bdlukaa avatar gaetan1903 avatar leonhoog avatar maisondasilva avatar turanberlin avatar redyau avatar micklesk avatar c3k4ah avatar kebabinjeneus avatar arafatamim avatar hisubway avatar stonega avatar yulog avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.