🎡 Elegant music app to play local music & YouTube music. Distributes music into albums & artists. Has playlists & lyrics.

Overview

Harmonoid

Elegant music app to play local music & YouTube music.

Download Now

🏁 Feel free to report bugs & issues. We'll be there to fix.



Loving the project? Consider starring the repository ⭐ & share with your friends πŸ’œ .

Download

Windows

Android

  • APK (25.2 MB)

Linux

Thanks to @raitonoberu for creating INNO installer for Windows.

Thanks to @prateekmedia for creating AppImage for Linux.

Thanks to @mytja for WinGet publishing. (winget install Harmonoid.Harmonoid πŸ˜‰ )

Features

  • Powerful metadata engine
    • Indexes all your music into albums & artists based on embedded tags.
  • Discord integration
    • Show your friends what you listen.
  • Play local music
    • Local music playback. Strong format support.
  • Play YouTube music
    • Play YouTube music directly with a link or search for it. YouTube music must be available in your country.
  • Small size
    • < 15 MB standalone installer.
  • Lyrics retriever
    • Gets lyrics for all your music.
  • Beautiful user interface
    • Eye catching user experience, interface & animations.
  • Ads free forever
    • No advertisements.
  • Playlists
    • Create ever-staying playlists for your music.
  • Freedom
    • Open source.
  • Personalization
    • Set your favorite colors & themes.

License

Copyright Β© 2021, Hitesh Kumar Saini <[email protected]>

GNU General Public License v3

Contributions welcomed. Let's make it better. Checkout contribution guidelines to learn in detail.

Comments
  • [bug] not possible to create or re-index the music database with Harmonoid 0.2.9

    [bug] not possible to create or re-index the music database with Harmonoid 0.2.9

    With the latest 0.2.9 release of Harmonoid i can't create or re-index a proper music database anymore. If i do a clean start (~/.Harmonoid folder deleted) or press REINDEX in the settings tab. It tries do detect all music files for a few seconds. After this the stats shows:

    Tracks 1281 Albums 1 Artists 1

    The ALBUMS tab shows only one artist named "Unknown Artist" with one album "Unknown Album" with 1281 tracks. On the console I have the following output after the start of Harmonoid;

    flutter: _tracks: 1281
    flutter: _albums: 1
    flutter: _artists: 1
    flutter: _genres: 1
    flutter: RangeError (index): Invalid value: Valid value range is empty: 0
    flutter: #0      _GrowableList.[] (dart:core-patch/growable_array.dart:264)
    flutter: #1      _CastListBase.[] (dart:_internal/cast.dart:99)
    flutter: #2      Playback.notifyNativeListeners (package:harmonoid/core/playback.dart:455)
    flutter: #3      Playback.initialize.<anonymous closure> (package:harmonoid/core/playback.dart:363)
    flutter: #4      _rootRunUnary (dart:async/zone.dart:1434)
    flutter: #5      _CustomZone.runUnary (dart:async/zone.dart:1335)
    flutter: #6      _CustomZone.runUnaryGuarded (dart:async/zone.dart:1244)
    flutter: #7      _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:341)
    flutter: #8      _DelayedData.perform (dart:async/stream_impl.dart:591)
    flutter: #9      _StreamImplEvents.handleNext (dart:async/stream_impl.dart:706)
    flutter: #10     _PendingEvents.schedule.<anonymous closure> (dart:async/stream_impl.dart:663)
    flutter: #11     _rootRun (dart:async/zone.dart:1418)
    flutter: #12     _CustomZone.run (dart:async/zone.dart:1328)
    flutter: #13     _CustomZone.runGuarded (dart:async/zone.dart:1236)
    flutter: #14     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1276)
    flutter: #15     _rootRun (dart:async/zone.dart:1426)
    flutter: #16     _CustomZone.run (dart:async/zone.dart:1328)
    flutter: #17     _CustomZone.runGuarded (dart:async/zone.dart:1236)
    flutter: #18     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1276)
    flutter: #19     _microtaskLoop (dart:async/schedule_microtask.dart:40)
    flutter: #20     _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)
    flutter: 
    

    If I click REINDEX it's starts to spam the console window with

    flutter: 
    flutter: FormatException: Unexpected character (at character 1)
    flutter: FormatException: MPV_END_FILE_REASON_ERROR
    flutter: ^
    flutter: 
    flutter: #0      _ChunkedJsonParser.fail (dart:convert-patch/convert_patch.dart:1383)
    flutter: #1      _ChunkedJsonParser.parseNumber (dart:convert-patch/convert_patch.dart:1250)
    flutter: #2      _ChunkedJsonParser.parse (dart:convert-patch/convert_patch.dart:915)
    flutter: #3      _parseJson (dart:convert-patch/convert_patch.dart:35)
    flutter: #4      JsonDecoder.convert (dart:convert/json.dart:612)
    flutter: #5      JsonCodec.decode (dart:convert/json.dart:216)
    flutter: #6      TaggerClient.stdout (package:harmonoid/utils/tagger_client.dart:135)
    flutter: #7      _rootRunUnary (dart:async/zone.dart:1434)
    flutter: #8      _CustomZone.runUnary (dart:async/zone.dart:1335)
    flutter: #9      _CustomZone.runUnaryGuarded (dart:async/zone.dart:1244)
    flutter: #10     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:341)
    flutter: #11     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:271)
    flutter: #12     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:774)
    flutter: #13     _StreamController._add (dart:async/stream_controller.dart:648)
    flutter: #14     _StreamController.add (dart:async/stream_controller.dart:596)
    flutter: #15     _Socket._onData (dart:io-patch/socket_patch.dart:2314)
    flutter: #16     _rootRunUnary (dart:async/zone.dart:1442)
    flutter: #17     _CustomZone.runUnary (dart:async/zone.dart:1335)
    flutter: #18     _CustomZone.runUnaryGuarded (dart:async/zone.dart:1244)
    flutter: #19     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:341)
    flutter: #20     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:271)
    flutter: #21     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:774)
    flutter: #22     _StreamController._add (dart:async/stream_controller.dart:648)
    flutter: #23     _StreamController.add (dart:async/stream_controller.dart:596)
    flutter: #24     new _RawSocket.<anonymous closure> (dart:io-patch/socket_patch.dart:1839)
    flutter: #25     _NativeSocket.issueReadEvent.issue (dart:io-patch/socket_patch.dart:1322)
    flutter: #26     _microtaskLoop (dart:async/schedule_microtask.dart:40)
    flutter: #27     _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)
    

    until I close Harmonoid.

    I'm using the x64 binary releases from github for my ArchLinux system.

    If I go back to the 0.2.8 release everything is working fine. It detects 1281 tracks of 314 artist with 108 albums ( some are various artist collections).

    bug critical libmpv 
    opened by lars-goeran 23
  • windows: not possible to re-index some tracks and albums

    windows: not possible to re-index some tracks and albums

    Describe the bug:

    With the latest nightly version of Harmonoid, a few tracks and albums are not recognizable after re-index them. After re-index the stats shows: Tracks 411 Albums 116 Artists 207 Genres 9

    Folder actually contains: flac=347; wav=1; m3u=1; mp3=72; m4a=21; total: 442

    Desktop :

    OS: Windows 11 Version 0.2.9

    bug critical 
    opened by sakuramodokich 13
  • Change

    Change "Deutsche" to "Deutsch"

    https://github.com/alexmercerind/harmonoid/blob/50d90d220b291e2429c88ce084a7b65a49d7ae85/lib/setting.dart#L750 https://github.com/alexmercerind/harmonoid/blob/50d90d220b291e2429c88ce084a7b65a49d7ae85/lib/about.dart#L845

    Hi @alexmercerind , can you change "Deutsche" to "Deutsch"?

    enhancement 
    opened by MickLesk 12
  • Feature: Expose fallback album art file(s) list to Configuration.JSON

    Feature: Expose fallback album art file(s) list to Configuration.JSON

    I have some albums where the music files don't have any artwork in itselves, but there is a jpg file with the album artwork on the album folder, but harmonoid doesn't seem to use it to set the album artwork on the application.

    Would it be possible to set the app to search for the jpg (or any other image file type) in the album folder when this happens? 2022-12-25_19-43

    improvement 
    opened by victormatheusEK 11
  • Added Slovenian language

    Added Slovenian language

    Added partly Slovenian language and fixed some mistakes in English language.

    1. I like your project, but isn't this some kind of piracy?
    2. For me, search button didn't work and search UI is a little bit confusing!
    3. Can you tell me about this translation?: static const String STRING_SEARCH_RESULT_TOP_BUTTON_LABEL_0_ALBUM = 'DOWNLOAD ALBUM'; static const String STRING_SEARCH_RESULT_TOP_BUTTON_LABEL_0_TRACK = 'DOWNLOAD TRACK'; static const String STRING_SEARCH_RESULT_TOP_BUTTON_LABEL_0_ARTIST = 'DOWNLOAD TRACKS'; _TRACK and _ARTIST are same????

    ! NOTE ! Do not merge until I say so! There is only a part of translations. More of them are comming soon. I didn't understand completly this translating process, so I'm going to allow edits!

    Thank you Mytja

    enhancement 
    opened by mytja 11
  • App crashes in a non-mounted disk (Linux)

    App crashes in a non-mounted disk (Linux)

    Describe the bug Critical error on open the app - when the installed disk are not mounted in the session (not clicked in the explorer to be loaded), so the app create this error but not specify how to solve it.

    To Reproduce There's nothing to do, it's the only screen.

    Screenshots image

    Desktop

    • OS: Linux Mint (Ubuntu based)
    • Version: 20.3 Cinnamon
    critical needs attention 
    opened by Bryceed 10
  • Error

    Error "Could not fetch YouTube Audio Stream" when trying to play any youtube audio.

    Searching any song on youtube is working, but when I trying to play any song on youtube it saying "Could not fetch YouTube Audio Stream".

    This is AppImage Package

    Here is error screenshot 2022-01-24_09-03

    This is terminal output when I'm trying to the same action Screenshot_20220124_091017

    Here is app Detail Screenshot_20220124_090825

    Here is my system detail Screenshot_20220124_090752

    bug 
    opened by QuakeString 10
  • F-Droid inclusion

    F-Droid inclusion

    opened by EmanuelLoos 10
  • Install issue on Fedora

    Install issue on Fedora

    Describe the bug The app can not be installed on Fedora 35 beta I am not sure if this issue only exist on 35, which is still on beta stage, or on all Fedora os.

    To Reproduce Steps to reproduce the behavior:

    1. Errors when install rpm package
    RPM % sudo dnf install harmonoid-linux-x86_64.rpm
    [sudo] password for stone: 
    Last metadata expiration check: 1:44:40 ago on Sat 30 Oct 2021 10:08:35 AM CST.
    Error: 
     Problem: conflicting requests
      - nothing provides libbitsdojo_window_linux_plugin.so()(64bit) needed by harmonoid-0.1.8-2.x86_64
      - nothing provides libdart_discord_rpc_plugin.so()(64bit) needed by harmonoid-0.1.8-2.x86_64
      - nothing provides libfile_selector_linux_plugin.so()(64bit) needed by harmonoid-0.1.8-2.x86_64
      - nothing provides libflutter_acrylic_plugin.so()(64bit) needed by harmonoid-0.1.8-2.x86_64
      - nothing provides libflutter_linux_gtk.so()(64bit) needed by harmonoid-0.1.8-2.x86_64
      - nothing provides libflutter_media_metadata_plugin.so()(64bit) needed by harmonoid-0.1.8-2.x86_64
      - nothing provides liblibwinmedia_plugin.so()(64bit) needed by harmonoid-0.1.8-2.x86_64
      - nothing provides liburl_launcher_linux_plugin.so()(64bit) needed by harmonoid-0.1.8-2.x86_64
    (try to add '--skip-broken' to skip uninstallable packages)
    
    
    1. Erros when running AppImage
    RPM % ./harmonoid-linux-x86_64.AppImage 
    ./harmonoid: error while loading shared libraries: libmediainfo.so.0: cannot open shared object file: No such file or directory
    

    Expected behavior Install and work normally.

    Screenshots If applicable, add screenshots to help explain your problem.

    Desktop (please complete the following information):

    • OS: Linux Fedora
    • Browser [e.g. chrome, safari]
    • Version 35

    Smartphone (please complete the following information):

    • Device: [e.g. iPhone6]
    • OS: [e.g. iOS8.1]
    • Browser [e.g. stock browser, safari]
    • Version [e.g. 22]
    bug 
    opened by stonega 10
  • Add Linux packages.

    Add Linux packages.

    Describe the new feature you'd like There is no package available for linux, appimage is a good format to distribute the app.

    Here I my appimage github workflow, https://github.com/prateekmedia/flutube/blob/main/.github/workflows/flutterci.yml.

    If you will use this then you also have to use https://github.com/prateekmedia/flutube/blob/main/create_appimage.sh script to build appimage.

    improvement 
    opened by prateekmedia 10
  • [bug] android 10: file system permission errors

    [bug] android 10: file system permission errors

    Describe the bug No SAF accsess

    To Reproduce Install on android requiring SAF (roms that use scoped storage

    Steps to reproduce the behavior:

    1. Add new folder for searching

    Expected behavior

    Open SAF prompt

    Screenshots

    SmartSelect_20220930-185435 (1)

    Platform (please complete the following information)

    • OS: [e.g. Windows, Linux, Android]
    • Version Android 11

    App version

    Please confirm that you're on the latest version available.

    • Version: [e.g. v0.3.0] v0.3.3
    bug critical 
    opened by Quackdoc 9
  • Better Music Playback Screen

    Better Music Playback Screen

    Hello, great player, was thinking, instead of picking manually a background for Music Playback screen, have harmonoid take the album art and blur it (maybe dynamically moving it - similarly to how Tidal and Apple Music is doing). Additionally have options to center lyrics or customize it more (font, size, position, etc). Example of what can it look like:

    image image

    improvement not urgent 
    opened by florinsdistortedvision 3
  • [Linux] deb/dpkg package should not depend on libmpv-dev

    [Linux] deb/dpkg package should not depend on libmpv-dev

    Describe the bug DEB package should not depend on libmpv-dev but on libmpv2. Packages that are not development libraries should not depend on -dev packages because it creates huge, necessary dependencies.

    Expected behavior

    libmpv2 is a sufficient dependency.

    bug 
    opened by psychonaut 0
  • Crop cover art taken from Youtube Music

    Crop cover art taken from Youtube Music

    Describe the new feature you'd like Currently when you stream music and the cover art is from a Youtube video that was uploaded on a Topic channel, it gets cropped like this: image

    Thoug in the Notifications of Gnome it looks like this, because it scales the picture so it fits: image

    It would be nice if the colored bars at the right and left side of the picture get automaticaly removed maxresdefault

    This would lead to the notification looking better like this:

    example

    When obtaining the cover art this way: https://img.youtube.com/vi/<insert-youtube-video-id-here>/mqdefault.jpg (or with the same resoulution every time).

    Then the dimensions are always the same: mqdefault

    because of these standard dimensions it should be possible to reliable remove those bars at the side of the thumbnail

    improvement 
    opened by ken-der-guru 1
  • option to set stream as the default mode

    option to set stream as the default mode

    I use harmonoid mostly to stream music and it does it really well. However, clicking on the three dots and then clicking stream everytime you open harmonoid is quite annoying.

    Can you please add an option in the settings to set stream as the default mode?

    Thanks for this amazing music player

    improvement 
    opened by tactical-snail 1
  • Lyrics font size for non-animated lyrics [linux desktop]

    Lyrics font size for non-animated lyrics [linux desktop]

    Hi,

    when the "Now playing screen" is disabled we have access to the lyrics in a "Lyrics" tab, which is great except that I find the font too small. I looked for a setting but found none, the settings only affect the "Now playing screen" lyrics. This would be great!

    Thank you again for this app, it's great :+1:

    improvement 
    opened by thenoobtester 2
Releases(v0.3.5)
  • v0.3.5(Jan 5, 2023)

    Some necessary fixes important for project to receive quickly. Most importantly:

    • NAS / Samba file-system support for Windows has been fixed.
    • Thumbnail toolbar is no longer missing on Windows.
    • Some specific ROMs/devices will no longer face playback issues on Android.
    • Issue that caused opening music from File Explorer making Harmonoid restored on Windows has been fixed.
    • Harmonoid window no longer freezes when quitting on Windows 7 (backward-compatibility).

    Downloads

    Downloads are available on the project website.

    Highlights

    • Fixed NAS / SMB support on Windows.
    • Fixed issue that caused opening music from File Explorer making Harmonoid restored (if maximized) on Windows.
    • Added ability to disable all audio filters on Android (disabled by default).
    • Disabled GTK header-bar on GNOME desktop environment (#380).
    • Fixed unresponsive process when closing window on Windows 7 only.
    • Updated new page animation when clicking on hyperlinks.
    • Added support for installing for current users only on Windows (#372).
    • Fixed next/previous buttons not greyed out in ModernNowPlayingScreen (#369).
    • Made fallback album arts configurable (#379).
    • Fixed missing thumbnail toolbar buttons on Windows.
    • Fixed "CANCEL" button on minimum file size dialog popping Navigator on the wrong BuildContext.
    • Migrated project to API changes in package:media_kit.
    • Safer hyperlinks. Added null-check after lookup for album/artist in package:media_library HashSet(s) (#366).
    • Added multiple genre support (not exposed yet).
    • Added Play all button next to Shuffle on Albums, Tracks & Artists screens to play them orderly.
    • Now background visuals are stored as animated WebP. This has significantly reduced bundle size & also improved Linux's performance with ModernNowPlayingScreen (?).
    • Aligned text & label inside various TextField(s).
    • Fixed issue that made manually entering values in "Control Panel" difficult.

    Known Issues

    There are few known issues & changes. These will not prevent Harmonoid from functioning, just for the record.

    • In Settings, sometimes "Visuals" thumbnail may fail to load. This is due to some change in Flutter itself.
    • Now whole music library is not added to playlist by default, when playing music from "TRACKS" tab. Users may revert to old behavior by enabling "Add library to playlist when playing" flag from settings.

    Supporters

    GitHub Sponsors

    • Taylor β€’ 10$ per month.

    Patreons

    Acknowledgements

    • @KabanFriends for working on #372.
    • @epvpalucard for actively providing feedback (over a period of 2 days) & helping me fix NAS / Samba support on Windows. BIG THANKS! This was a huge deal breaker for the project.

    Translation Updates

    • Added & updated Czech translations (@IHtDzenda & @PogLop).
    • Added & updated Spanish translations (@enrique-mp & @SteveeWasTaken).
    • Updated Portuguese translations (@maisondasilva).
    • Updated Italian translations (@Trainax).
    • Updated Slovenian translations (@mytja).
    • Updated German translations (@ken-der-guru).
    • Updated Hungarian translations (@csalsz).
    Source code(tar.gz)
    Source code(zip)
  • v0.3.4(Nov 16, 2022)

    This update introduces a number of little tweaks, fixes & features requested by a lot of users, thus named "Essentials". A good amount of source-code has been refactored & few new sub-packages have been introduced, to improve the quality & stability of Harmonoid. Read the highlights below for descriptive information.

    Downloads

    Downloads are available on the project website.

    Highlights

    • Ability to configure parameters (year, album artist & album name) which identify an album uniquely.
    • Remembering window position, size & maximized state on fresh start.
    • Ability to set custom libmpv options, properties & flags (#329).
    • Smoother animations (upstream from Flutter 3.3.x).
    • Smoother scrolling with trackpad/touchpad (upstream from Flutter 3.3.x).
    • Fixed/improved FLAC & OGG bitrate calculation/approximation.
    • Fix track order in AlbumScreen. Now accounts disc-number.
    • AlbumTile context menus (#339).
    • Fixed crash on Windows 7.
    • Fixed legacy NowPlayingScreen.
    • Fixed annoying line below window controls on Windows (rarely experienced on some PCs).
    • Rewrite custom window frame, more stable DPI-change handling, hit-box testing & fullscreen.
    • Use Win32 API to fetch AppData & default Music folder on Windows instead of environment variables.
    • Prevent data-redundancy in music library caching.
    • Improve "show in file explorer" behavior on Linux.
    • Improve Android launch speed.
    • Improve the quality of color palette extraction (further tweaks).
    • Better & performant URI & file path parsing.
    • Re-designed missing folders screen.
    • Add missing "Add to playlist" & "Shuffle" buttons on Android (at-places).
    • Enable Linux / Android-x86 touchscreen & mouse drag scroll (#342).
    • Old streaming recommendations behavior i.e. refresh on page revisit.
    • Fixed an issue that caused Harmonoid to request last-modified time stamps of all files already present in cache. This is a major issue. Now, cached last-modified time stamps are used. This will also improve start-up performance & safety with long file-paths on Windows. Apologies for the inconvenience.

    Known Issues

    There are few known issues & changes. These will not prevent Harmonoid from functioning, just for the record.

    • Sometimes "Visuals" thumbnail may fail to load.
    • Now whole music library is not added to playlist by default, when playing music from "TRACKS" tab. Users may revert to old behavior by enabling "Add library to playlist when playing" flag from settings.

    Supporters

    GitHub Sponsors

    • Taylor β€’ 10$ per month.

    Patreons

    Translation Updates

    • Added Malaysian translations (@Thaza-Kun).
    • Added Italian translations (@Trainax).
    • Updated Simplified Chinese translations (@litbear).
    • Updated Russian translations (@Feelogil).
    • Updated Malagasy translations (@rivo2302 & @tbgracy).
    • Updated Turkish translations (@CilgaIscan).
    • Updated Japanese translations (@mi875).
    • Updated Portuguese translations (@maisondasilva).
    • Added Ukrainian translations (@unreadablename).
    • Added Spanish translations (@SteveeWasTaken).
    Source code(tar.gz)
    Source code(zip)
  • v0.3.3(Sep 21, 2022)

    Few more tweaks & fixes for Android only. No we're not turning into a rolling-release model.

    Downloads

    Downloads are available on the project website.

    Highlights

    • Fixed an issue where pressing next/previous buttons with shuffle-enabled didn't pick a random track from the queue (#333).
      • Thanks to @FloRyuK0 for the report.
    • Fixed storage access permission issue specifically on Android 10 (#338).
      • Thanks to @Quackdoc for the report.
    • Added prompt to keep app-data before uninstall on Android.
    • Fixed an issue where Harmonoid couldn't be started on some Android ROMs.
    • Fixed animation lag when opening ArtistScreen.
    • Fixed a performance issue where UserScrollNotification were redundantly being bubbled.

    I wanna take a moment to thank all the package maintainers for following up with the releases. This release doesn't bring/fix anything for Windows & Linux, you guys are free to skip this one.

    Source code(tar.gz)
    Source code(zip)
  • v0.3.2(Sep 19, 2022)

    This release mainly addresses a newly discovered issue that caused indexing process to completely freeze (in rare cases) for some users.

    Downloads

    Downloads are available on the project website.

    Highlights

    • Apparently, having Latin characters with certain accents in metadata values confused libmpv.
      • This caused libmpv to return incorrect UTF-8 bytes (from dart:ffi/package:ffi's perspective).
      • This resulted in an unhandled FormatException by Dart (from utf8), causing whole event callback isolate to die.
      • For the character Γ¨:
        • libmpv stores it in a single byte with a value of 232. I mean that's under 255, so SGTM.
        • dart:ffi expects 195, 168 (with an extension byte). But, I think Dart's FFI is correct.
      • Thanks to @Zahrun for the file sample & the bug-report.
      • This is quite odd since Harmonoid is tested against music files having metadata/tags in Japanese, Mandarin & other foreign languages (even Latin characters with accents). This was quite an edge-case.
      • However, the issue is now fixed. More details may be found at #331.
    • Harmonoid on Android now uses MD5 hashing for generating a unique identifier to cache the file when opened from file explorer etc.
      • This will prevent any "File name too long" IOExceptions from Java/Kotlin.
    • Translations have been updated for few of the languages, thanks to our kind translation providers.
      • Update Portuguese translations. Thanks to @maisondasilva.
      • Update Simplified Chinese translations. Thanks to @wcxu21.
      • Update Russian translations. Thanks to @Feelogil.
    Source code(tar.gz)
    Source code(zip)
  • v0.3.1(Sep 19, 2022)

    This release mainly targets Android, since Windows & Linux implementations are very feature-proof & stable for now. After this release, I can ensure proper feature parity & quality on all supported platforms.

    Downloads

    Downloads are available on the project website.

    Highlights

    • Bitrate, sample rate & format of currently playing song is displayed on the bottom bar & now playing screen. This may be configured from the settings.
    • Now same folder can't be added twice in music library.
    • Music library refresh performance has been improved, less copy operations.
    • Harmonoid on Android now uses Scoped Storage, making it more privacy friendly.
    • This means native delete permission dialogs & more privacy friendly file/folder pickers are added specifically for Android.
    • Harmonoid now makes use of newest Android 13 SDK 33 to provide separate control over notification, photos & music permissions.
    • Now playing screen now looks modern. The colors extracted from currently playing song, ripple into the view, giving a nice transition. The panel can also be now slided downwards, which was quite annoying in previous versions.
    • Lyric view in Android has been made smoother.
    • Changes & tweaks to overall design, making things like context menu positioning & TextFields more coherent.
    • Lyrics are now cached by default.

    Changes

    All Platforms

    • fix(style): showMenu constraints causing overflow with some languages.
    • feat: ripple effect on NowPlayingScreen with extracted color palette.
    • feat: display audio output bitrate, sample rate & format on NowPlayingBar & NowPlayingScreen.
    • feat: .lrc caching.

    Mobile

    • feat: configurable grid size (4, 3, 2, 1).
    • feat: add volume slider.
    • feat: slideable NowPlayingScreen.
    • feat: sliding panel playlist viewer.
    • feat: scoped storage compilant (android 10+) directory picker & delete permission dialogs.
    • feat: special permission settings for android 13 or higher, giving granular control over images or notifications.
    • fix: migrate scoped storage on android.
    • fix: LyricsScreen jitter on scroll.
    • style: use Icons.favorite instead of Icons.thumb_up for like indicator.
    • style: add themed icon for android 13 or higher.
    • build: upgrade targetSdkVersion & compileSdkVersion to 33.

    Notes

    • If you were using existing Android version, your music library will be re-indexed & old playlists won't be recognized.
    • To restore your existing playlists & music library in this new stable release, you replace files/cache from .Harmonoid (at root of your local storage) to Android/data/com.alexmercerind.harmonoid/files/.Harmonoid.
    • This is due to scoped storage enforcement.
    Source code(tar.gz)
    Source code(zip)
  • v0.3.0(Sep 4, 2022)

    This release addresses some of the crucial bugs & performance issues discovered & reported by users in last major release.

    Downloads

    Downloads are available on the project website.

    Highlights

    • These bugs aren't that easily reproducible for most users but need to be addressed before moving on.
    • Although this was expected, considering first Android build & large improvements to windows/linux tag reader.
    • Along the way, this also brings updated translations from our kind translators at harmonoid/translations.
    • Consider updating to this if you're on v0.2.9 or lower.

    Changes

    • fix(critical): music files without any embedded metadata taking way too long to load (android).
      • big thanks to @RapidzDE for descriptive reports.
    • fix(critical): application not reading tags from some music files (#321) (windows, linux).
      • big thanks to @lars-goeran for descriptive reports.
    • fix(critical): some files not being indexed from added folders (#322) (windows, linux).
      • big thanks to @sakuramodokich for descriptive reports.
    • fix: view album art button not working for some albums containing ascii characters (windows, linux).
      • big thanks to @sakuramodokich for descriptive reports.
    • fix(critical): next & previous buttons not skipping tracks when on "repeat-one" mode (android).
      • big thanks to @NoeRi9n for descriptive reports.
    • fix(critical): discord rpc album arts & metadata do not correct for missing tag files (windows, linux).
    • fix(critical): improve now-playing-screen & android notification performance (windows, linux, android).
      • these freezes were more noticable with there were more files without any embedded metadata & album art.
    • fix: make fallback album art lookup (cover.jpg, Folder.jpg) experimental (windows, linux, android).
      • looking up for additional files at rendering can be expensive.
    • fix: do not spam console with RangeError messages redundantly (windows, linux).
    • perf: improve android storage path retrieval.
    • style: fix TextField paddings on linux.
    • feat: dedicated like button on android now-playing-screen.
    • translation updates (thanks to our kind translation providers):
      • update Azerbaijani translations. thanks to @Lucifer25x.
      • update German translations. thanks to @MickLesk.
      • update Indonesian translations. thanks to @KesiTakeshi.
      • update Japanese translations. thanks to @yulog.
      • update Portuguese translations. thanks to @maisondasilva.
      • update Simplified Chinese translations. thanks to @wcxu21.
      • update Swedish translations.
      • update Russian translations. thanks to @Feelogil.

    Patreons

    Source code(tar.gz)
    Source code(zip)
  • v0.2.9(Aug 30, 2022)

    https://user-images.githubusercontent.com/28951144/180613629-942ae758-2179-48a8-825f-fc3e918aba0d.mp4

    Downloads

    Downloads are available on the project website.

    There's a lot to cover, let's go through this changelog really quick. Like it's been done in the past, minor releases & major ones... and this is a major release.

    Still steady on the goal of building a consistent, cohesive, modern & fluid music experience for all. 🎡

    Highlights

    1. Android

    https://user-images.githubusercontent.com/28951144/187303518-a3aa717e-fea5-4cbb-8ef4-a646caa66a03.mp4

    https://user-images.githubusercontent.com/28951144/187303528-caf288ed-7908-4cad-bc4c-4df1e11c3fa3.mp4

    https://user-images.githubusercontent.com/28951144/187303530-0c424db9-6be5-412a-ac4a-4502ff9498eb.mp4

    Very strictly implemented official Material Design guidelines for design & animations. Official Video:

    https://user-images.githubusercontent.com/28951144/187490034-17c79f6f-3644-4518-ba15-9c57896ba043.mp4

    2. Volume Boost

    Now pitch shifting, speed change & volume boost is available for all platforms.

    3. File information & RAW metadata reader

    4. Dense Layouts for Android

    5. Performance

    Before, Harmonoid could index around ~25 songs per second after clean-install / re-index. Now, it's over 50 songs per second! πŸ”₯Not to forget, app still caches your music library, resulting in an instant start for future. Ability to set minimum file size has also been added.

    https://user-images.githubusercontent.com/28951144/187492896-44e5f7f4-7f01-46b8-80d1-4139da8bcf70.mp4

    6. Notification Lyrics

    Just drag your notification shade down to sing along.

    7. Whatever This Is

    8. Even Error Screen Is Revamped

    This is a fake error FYI.

    9. Many Bug Fixes

    See the release notes below, to see the most annoying bug get smacked.

    Release Notes

    All Platforms

    • feat: ability to independently sort/order albums, tracks, artists & genres.
    • feat: direct metadata reader (from file picker, direct URL or file-path) & copy as JSON.
    • feat: add file picker to play a media file directly without file explorer.
    • feat: LRC setter & reader.
    • feat: volume boost.
    • feat: file info viewer.
    • feat: added ability to avoid indexing files below a certain size.
    • feat: easter eggs.πŸ₯š
    • style: follow material design more precisely. more consistency & better design. 🎈 massive adjustments to sizes, dialogs, buttons, paddings, colors & widgets.
    • style: revamp error screen.
    • fix(regression): broken fallback album art discovery [cover.jpg, Folder.jpg etc.].
    • fix: year not appearing correctly for some tracks [but reading date instead].
    • fix: deleting tracks not updating artist screens in rare cases.
    • fix: possible bug where app could result in blank screen, if package:palette_generator failed to extract a palette from album art.
    • fix: removing a directory not updating album-artists tab unless restarted.
    • fix: sometimes web recommendations fail to render.
    • fix: seekbar position/duration & Duration display at other places in app interface safer with Durations larger than 1 hour.
    • perf: deserialize music library cache concurrently on separate threads on start-up.
    • fix: improve lyrics accuracy.
    • Special thanks to:
      • @maisondasilva for quickly updating the Portuguese translations.
      • @wcxu21 for quickly updating the Simplified Chinese translations.
      • @gaetan1903 @hal9174 for quickly updating the French translations.
      • @mytja for quickly updating the Slovenian translations.

    Desktop Specific

    • perf: improved indexing performance even more!!! now indexing around 50 tracks per second. since app caches songs for future automatically, this is important only for new users or during re-indexing.
    • fix: addressed & improved linux memory management.
    • feat: new music sorting/ordering ui & floating panel for desktop.
    • fix: non-square album arts being stretched.
    • fix: visual image picker in linux.
    • fix: unsafe file explorer association & "Play URL" implementation [with certain file paths].
    • fix: race condition in discord rpc.
    • fix: non-tagged media showing incorrect album arts in discord rpc.
    • fix: safer File I/O EditDetailsScreen album art change on windows.
    • fix: compatibility with older libmpv versions (before v0.33.0).
    • fix: disable custom window frame on windows 7, 8 & 8.1.
    • fix: application not restoring the last played playlist's index on fresh start.

    Mobile Specific

    • feat: pitch shift & rate control on mobile.
    • feat: play raw URL & open media file directly on mobile.
    • feat: edit details screen on mobile.
    • feat: time-synced lyrics for mobile.
    • feat: pull to refresh in web recommendations.
    • feat: stacking notification lyrics.
    • style: enforce android 12 over-scroll & ink-sparkle effects.
    • style: visible context menu buttons on web related widgets on mobile.
    • fix: file opening from file-explorers/whatsapp/chrome etc. like third-party apps on android & general stability.
    • fix: file opening not working from some file browsers on android.
    • fix: notification service dying randomly.
    • fix: improve android home, cache & default collection directory retrieval.
    • fix: yeet exit confirmation dialog.
    • fix: MiniNowPlayingBar theme in-case no palette is extracted on mobile.
    • fix: about page link opening is not in external application.
    • fix: android app not saving state upon exist.
    • fix: improve TextFields in web search on mobile.
    • perf: prevent whole MiniNowPlayingBar re-builds on every position update.
    • perf: switch to package:just_audio & package:audio_service for audio-output & notification-handling on mobile.
    • perf: fix android app becoming jittery over prolonged use.
    • perf: improve search experience in web with persistent floating search bar on mobile.

    What's Next

    Chilling & enjoying what I've made. I'm really tired.

    On a serious note, these are the short-term plans:

    • Some people seem to have some trouble with NAS systems so that's something to handle. Please get in contact if you're willing to de-bug & provide reports for fixes.
    • Adding Material You support, behind an optional switch (because not everyone admires the change). While being consistent in terms of design & animations as currently Harmonoid is.
    • Release on Google Play Store.

    On the other hand, I'm already enjoying listening to music with Harmonoid (way too much) & don't feel necessity of more features. Harmonoid now has details editor, direct URL players, synced lyrics, pitch shifting, volume boost ... so on.

    Please report bugs, if you find any.

    It is really important for us to build a stable experience, though everything seems to be working fine for us. Targeting 3 platforms Windows, Linux & Android alone is surely a tough job.

    End Notes

    Consider becoming a Patreon or support voluntarily with PayPal if you're enjoying Harmonoid & would like to see more of it.

    NOTE: Re-publishing release from my second account. I accidentally deleted original one.

    Source code(tar.gz)
    Source code(zip)
  • v0.2.6(Jul 23, 2022)

    Downloads: Here

    Like we do, minor releases after a major release to fix the broken things. There weren't much broken things this time. So, likely we won't need another one. See you at the next major one.

    • feat: lyrics size configuration from the settings (@alexmercerind).
    • feat: shuffle buttons on AlbumScreen, ArtistScreen & PlaylistScreen (@alexmercerind).
    • perf: improve performance of ModernNowPlayingScreen especially when opening the "Coming Up" list (@alexmercerind).
    • perf: improve animation performance when navigating through albums, playlists or artists. No jitter can be observed now (@alexmercerind).
    • perf: discord rpc fallback to track artists tag, if album artist is not found (@alexmercerind).
    • feat: warn if an attempt is made to close the app in the middle of indexing (@alexmercerind).
    • fix: windows 7 frame on resize (@alexmercerind).
    • fix: user loaded images not showing inside app upon fresh start (@alexmercerind).
    • feat: update notifier (@alexmercerind).
    • intl: update portuguese translations (@maisondasilva).
    Source code(tar.gz)
    Source code(zip)
  • v0.2.5(Jul 13, 2022)

    This release is being made after a really long time. I've largely worked on the missing features, made implementation a whole lot safer, added some new functionalities that set a standard for us & separate us from the crowd. The good ol' modern, consistent & cohesive Material Design that we follow & perfect animations still make us stand out. I'm still determined to make this experience even better in future updates & this update brings a lot of it to reality.

    • Time-synced lyrics & visuals during music playback.

    https://user-images.githubusercontent.com/28951144/173223285-eaafff0b-a75e-4cf9-b861-fcdaf05de333.mp4

    • In-app hyperlinks for local music collection. Now everywhere a album's name or artist's name is present in the UI, you can just click it to reach it quickly. This only works for your local music library.

    https://user-images.githubusercontent.com/28951144/178319992-3f248643-6873-4b82-8342-5fbff432ca3d.mp4

    • Pitch shifting.

    • Improved Discord RPC with album art & remaining time.
  • Local Music Online Music
    • Details editor screen.

    • Improved color generation from artwork.
    Before v0.2.5 (very-less contrast between primary & accent color) v0.2.5 (better looking color-palette & visibility)
    • Added option to show a local music directly in File Explorer.

    harmonoid_YkJ7XlZHjt

    • Added ability to disable Discord RPC.
    • Patches to libmpv bindings to fix a number of media playback related issues.
    • Refactored indexing to use HashSets. Now indexing is way faster, safer & efficient.
    • Improved caching mechanism inside the application to be more safe to corruptions, power-cuts or other interruptions.
    • Add "copy-link" & "open-in-browser" buttons right at the NowPlayingBar for quicker access.
    • Other performance improvements & UI tweaks to make things more pleasant to use.
    • Now the application warns if any of the folders you added to your library are inaccessible.

    I want to especially thank:

    • @kellerkolle for being my only Patreon for this project, thanks a lot for your trust & support. Hope you like this update.
    • @naturallymitchell for the large donation, hope you enjoy this update & my internal source-code & other projects too.
    • @yehudakremer for awesome contributions earlier to the project & the donation.
    • @DomingoMG for the donation. Hope you are finding my internal source-code & packages useful.
    • @stonega for becoming my first GitHub sponsor. Thankyou!
    • @mytja for being an awesome person & housekeeping the project!
    • People in Harmonoid's Discord server for staying with me.

    Notes:

    1. This update will cause one-time-only re-indexing in your music collection. It is important because re-indexing logic is refactored completely to be more efficient (& will remain same in future releases).
    2. Android version is not being released yet, as I don't feel confident about it yet & needs a lot of features/accessibility-related improvements. This update was already very delayed & can't wait anymore. In future update, I will release Android along with patches to issues that are reported for Linux or Windows.
    Source code(tar.gz)
    Source code(zip)
  • v0.2.4(May 10, 2022)

    A new release with minor new features, tweaks & fixes. Now that we have built a solid & stable ground to add features on-top of, expect next release to be bigger.

    • Feat: Linux application is now single instance (@alexmercerind).
    • Feat: Now application handles following separators in artist tag (as opposed to just /) (@alexmercerind):
      • ;, \, \\, // & /.
    • Feat: "Stats" section in Settings (@alexmercerind).
    • Feat: "Show in file manager" option in track menu for Windows & Linux (@alexmercerind).
    • Style: Improve tooltip style on desktop (@alexmercerind).
    • Style: Improve ArtistScreen animation on mobile (@alexmercerind).
    • Style: Update default album art (@alexmercerind).
    • Style: Ability to disable minimal scaffold background artwork (@alexmercerind).
    • Perf: No longer limiting the size of libmpv demuxer cache on Windows & Linux (@alexmercerind).
    • Perf: Improve app persistence & state saving (@alexmercerind).
    • Perf: Improve libmpv specific API calls (@alexmercerind).
    • Fix: Currently playing track's metadata & artwork being scrambled when shuffling was enabled on Android (@alexmercerind).
    • Translations: Update French (@ejacquemoud).
    Source code(tar.gz)
    Source code(zip)
  • v0.2.3(May 7, 2022)

    No ground-breaking fixes or features, just a few performance improvements, minor fixes & other tweaks to make the day better.

    • Perf: No longer parsing & indexing music files under 1 MB (@alexmercerind).
    • Perf: Improved playlist event handling & get rid of redundant UI redraws (@alexmercerind).
    • Perf: Dynamic now-playing-bar coloring improvements (@alexmercerind).
    • Fix: Certain tracks missing artworks on Android (@alexmercerind).
    • Fix: Color of refresh button & navigation bar text when "Dynamic now-playing-bar coloring" is enabled on mobile (@alexmercerind).
    • Fix: No longer clamp playlist index overflow/underflow but avoid event (@alexmercerind).
    • Fix: Color of context menu button on WebTrackTile (@alexmercerind).
    • Fix: Safer cache management & file-write transactions (@alexmercerind).
    • Fix: Shuffling on Windows & Linux (@alexmercerind).
    • Fix: Improve Android animations & PlaylistScreen indexing bug (@alexmercerind).
    • Style: Few UI tweaks to put everything together nicely (@alexmercerind).
    • Feat: Now currently playing track's name is shown on window title & taskbar tooltip on Windows (@alexmercerind).
    • Translations:
      • Japanense is now completely translated (@yulog).
      • Added Indonesian translation (@KesiTakeshi).
      • Portuguese is now completely translated (@maisondasilva).

    Thanks ʕ‒́α΄₯‒̀ʔっ♑

    EDIT: Re-releasing same tag v0.2.3 after addressing a pesky bug.

    Source code(tar.gz)
    Source code(zip)
  • v0.2.2(Apr 26, 2022)

    • Fix: Addressed randomly occurring issue that made adding new folders to library impossible (@alexmercerind).
    • Feat: Added "History" playlist (@alexmercerind).
    • Feat: Android support & mobile friendly UI written from ground-up. Key features involve (@alexmercerind):
      • Same consistent Material Design animations & UI.
      • Floating Search Bars & improvised search experience.
      • Improvised bottom navigation bar experience.
      • Good ol' time-synced lyrics in notification.
      • Handling of intents from file explorer etc.
      • Scroll sensitive "Now Playing Bar".
    • Feat: Auto-coloring now-playing-bar (optional) (@alexmercerind).
    • Fix: .rpm packaging for Linux (@prateekmedia).
    • Feat: Ability to play any web media URL & fetch its metadata (@alexmercerind).
    • Style: Improvise TextFields to follow Material Design (@alexmercerind).
    • Perf: Improved file explorer integration on Windows & Linux (@alexmercerind).
    • Translation updates:
      • Russian: @Feelogil, @raitonoberu.
      • Portuguese: @maisondasilva.

    Source code(tar.gz)
    Source code(zip)
  • v0.2.1-hotfix2(Mar 20, 2022)

    • Fix: Unable to open music files from some linux file browsers e.g. elementaryOS Files (@alexmercerind).
    • Fix: Broken MPRIS controls on linux in last release (@alexmercerind).
    • Fix: Windows version of Harmonoid now runs in single instance (@alexmercerind).
    • Fix: Windows installer icon (@YehudaKremer).
    • Fix: Increase demuxer cache & fix stutter (@alexmercerind).
    • Fix: Slight jank when opening artist/album/playlist pages (@alexmercerind).
    • Fix: Broken album art in Windows' System Media Transport Controls (@alexmercerind).
    • Fix: Now album arts are extracted for each music file regardless of album (@alexmercerind).
    • Fix: artists' albums not getting populated when auto refresh is disabled (@alexmercerind).
    • Fix: Disable auto-refresh by default & make it optional as "Experimental" (@alexmercerind).
    • Fix: Sometimes unable to remove tracks from playlists (@alexmercerind).
    • Translation: Updated Portuguese (@maisondasilva).

    Just last batch of bug-fixes for now.

    Source code(tar.gz)
    Source code(zip)
    harmonoid-linux-x86_64.deb(10.24 MB)
    harmonoid-linux-x86_64.rpm(14.19 MB)
    harmonoid-linux-x86_64.tar.gz(14.29 MB)
    harmonoid-windows-exe.zip(30.37 MB)
    harmonoid-windows-setup.exe(24.13 MB)
  • v0.2.1-hotfix1(Mar 2, 2022)

    Download links are below.

    As we are moving forward to improve the overall stability of the app, we've decided to release yet another hot-fix to address many crucial bugs, performance hits & other file-system/indexing related issues.

    • Feat: Now various app settings like volume, rate, shuffle, playlist etc. are not lost after restarting app (@YehudaKremer).
    • Fix: Handle long file-paths on Windows (#214) (@alexmercerind).
    • Fix: Handle network drives correctly (#224) (@alexmercerind).
    • Fix: Incorrect album artist in .FLAC (@alexmercerind).
    • Fix: Corrupt files cause indexing performance to drop massively (@alexmercerind).
    • Fix: play/pause related bug (@YehudaKremer).
    • Perf: Improve music collection refresh & adding/removing directory performance (@alexmercerind).
    • Perf: Improve app transitions & animations (@YehudaKremer).
    • Add Persian translation (@0xj0hn).
    • Update Portuguese translation (@maisondasilva).

    Thanks. Join Discord for feedback & updates.

    Source code(tar.gz)
    Source code(zip)
    harmonoid-linux-x86_64.deb(10.22 MB)
    harmonoid-linux-x86_64.rpm(14.16 MB)
    harmonoid-linux-x86_64.tar.gz(14.25 MB)
    harmonoid-windows-exe.zip(30.35 MB)
    harmonoid-windows-setup.exe(24.05 MB)
  • v0.2.0(Feb 18, 2022)

    Download links are below.

    • New! Added new artist-album screen for browsing music (@alexmercerind).
    • New! Linux support is back with libmpv for music playback & parsing (@alexmercerind).
    • New! Linux: D-Bus MPRIS controls (@alexmercerind).
    • New! Linux: Switch to Inter font family (@alexmercerind).
    • Refactor: AlbumScreen & ArtistScreen now show album arts in perfect square shaped (@alexmercerind).
    • Massive improvements to scroll performance (@alexmercerind).
    • Added ability to configure following parameters (@alexmercerind):
      • Show track progress on taskbar icon.
      • Automatically add other songs from collection after album completion.
      • Automatically jump to NowPlayingScreen after playing a track.
    • Accessibility: Fix NowPlayingScreen's coming up list to be more user friendly (@alexmercerind).
    • Fix: Scrollbar not working in NowPlayingScreen.
    • Windows: Fix window could be dragged from caption buttons (@raitonoberu).
    • Windows: Fix delay when pressing any of Windows caption buttons (@raitonoberu).
    • Windows: Add Harmonoid to context menus with "Add to Harmonoid's Playlist" entry (@alexmercerind).
    • Windows: Stripped installation size by ~10MB.
    • Windows: Installer now deletes .Harmonoid folder after uninstall (@raitonoberu).
    • Linux: Add minimum size for the window (@alexmercerind).
    • Linux: Added new RPM package (@prateekmedia).
    • Fix: Randomly flickering tracks in AlbumScreen (thanks to @sleepdaemon for report) (@alexmercerind).
    • Fix: Windows 7, 8, 8.1 crashes (@mytja).
    • Fix: Windows left & right borders on Windows 10 or older (@alexmercerind).
    • Feature: Now scrolling over volume/rate slider can control the value (@alexmercerind).
    • We no longer distribute application under GPL-3.0 but End-User License Agreement for Harmonoid.
    • Big thanks to @Poopooracoocoo for bug-reports.
    • Added Turkish translation (@TuranBerlin).
    • Updated Portuguese translation (@maisondasilva).
    • Added Russian translation (@raitonoberu).
    • Fix: "Add to now playing" pauses music on Linux (#121) (@alexmercerind).
    • Fix: Arabic language rendering on Linux (#122) (@alexmercerind).

    You may join our Discord server for feedback & support.

    Source code(tar.gz)
    Source code(zip)
  • v0.1.9(Feb 5, 2022)

    harmonoid_gvTpZ3ykDY harmonoid_tNwvHTzU78

    Download link is below.

    • New! Material re-designed UI. Now very strictly following material.io guidelines (@alexmercerind).
    • New! Material designed iconography & icons for various UI elements.
    • New! Better context menus for desktop (@alexmercerind).
    • New! Improvised animations & user accessibility (@alexmercerind).
    • New! More efficient tagging & indexing using libmpv (@alexmercerind).
    • Feature: Revamped search UI to improve experience (@alexmercerind).
    • Feature: Ability to sort music based on year (@alexmercerind).
    • Feature: Ability to order local music ascending or descending (@alexmercerind).
    • Feature: Add "Show Album" option to track context menus (@alexmercerind).
    • Windows: Integration with ITaskbarList3 (@alexmercerind).
    • Windows: Integration with SystemMediaTransportControls (@alexmercerind).
    • Refactor: Rewrite music player & indexer using libmpv (@alexmercerind).
    • Refactor: Add new Collection.getAlbumArt method to get ImageProvider for a Media item (@alexmercerind).
    • Refactor: Rewrite models with improved null-safety (@alexmercerind).
    • Translations: Updated Slovenian translation (@mytja).
    • Translations: Add Japanese translation (@HiSubway).
    • Translations: Add Mandarin translation (@stonega).
    • Translations: Add Malagasy translation (@c3k4ah).

    You may join our Discord server at https://discord.gg/2Rc3edFWd8.

    Source code(tar.gz)
    Source code(zip)
Owner
Harmonoid
An elegant music app. It's just for you. πŸ’œ
Harmonoid
Flutter Music Player - First Open Source Flutter based material design music player with audio plugin to play local music files.

Flutter Music Player First Open Source Flutter based Beautiful Material Design Music Player(Online Radio will be added soon.) Demo App Play Store BETA

Pawan Kumar 1.5k Jan 8, 2023
This design has been created for educational purposes. Also this project has integrated push notifications with firebase and my own server in python.

Ui Clone of the Nequi application This design has been created for educational purposes. Also this project has integrated push notifications with fire

Juan Suarez 3 Nov 17, 2022
Consumo de dos API de musica last.fm y musixmatch (Lyrics)

practica5 A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if thi

null 0 Nov 6, 2021
An extension of flutter local notification, to simplify local notifications

Locally flutter local notification Locally helps developers create local notification with flutter on both Android and IOS platforms, it depends on th

Samuel Ezedi 20 Oct 10, 2022
Playify is a Flutter plugin for play/pause/seek songs, fetching music metadata, and browsing music library.

Playify Playify is a Flutter plugin for play/pause/seek songs, fetching music metadata, and browsing music library. Playify was built using iOS's Medi

Ibrahim Berat Kaya 32 Dec 14, 2022
Flutter apple music preview - A Music App that leverages the iTunes Rest API to get music data and playable music trailers

Apple Music Preview App Description This project is a Music App that leverages t

Willy Adinata Saragih 2 May 23, 2022
A flutter app for a wordpress websites with clean and elegant design. This app is available in free and pro version. You can choose to use the one you need.

?? Get Flutter for Wordpress Flutter for wordpress is currently available in free and pro version: Flutter for Wordpress Flutter for Wordpress Pro Bea

mcyos118 18 Dec 13, 2022
Caffodils - Download everything | Flutter app for Android and IOS. Download Video, Reels, Shorts, Music, Images, Files from Instagram, Facebook and Youtube

caffodils Caffodils - Download everything Flutter app for Android and IOS. Download Video, Reels, Shorts, Music, Images, Files from Instagram, Faceboo

Caffodils 11 Oct 24, 2022
An elegant todo app with some advanced features.

?? An Elegant "Todopad" Made With Flutter ?? ?? Star ?? the repo if you like it This is a todo app with local backup and restore functionality made wi

Sourav Kumar Suman 69 Jan 1, 2023
Arisshopuiiesm - Build a clean and elegant Shop UI design for your Flutter app

Flutter Tutorial - 2/3 Shop UI - From Scratch We will build a clean and elegant

Behruz Hurramov 3 Oct 29, 2022
Modern and elegant test framework for Flutter, inspired by Cypress

flutter_modern_test: Modern, elegant and productive test framework for Flutter, inspired by Cypress GitHub: https://github.com/fzyzcjy/flutter_modern_

fzyzcjy 14 Oct 19, 2022
This is a smart farming app which helps farmers to remotely monitor their crop and take necessary actions. It also has a feature called disease detection.

Smart-Farming-App This is a smart farming app which helps farmers to remotely monitor their crop and take necessary actions. It has features called di

Nihar Shah 2 Jul 9, 2022
Lovely Lpu is an app that has dating and chat features altered for university campuses

Lovely is an app that has dating and chat features altered for university campuses . The app only allows users who have a registered user id with the university’s user management system also known as LPU - UMS.

Aryaman Prakash 5 Oct 28, 2022
A modern voice chat application. The project has been written solely in Dart Language.

VChat A modern voice chat application. The application welcomes the user with the login screen. After a simple registration process, an empty "Home" s

Bulent Baris Kilic 6 Aug 18, 2022
The application helps the patient to follow up on medication schedules, and each patient has his own profile. The application is connected to Bluetooth to help the patient's dependents follow up on the patient.

spoon_medicines A new Flutter application. Getting Started This project is a starting point for a Flutter application. A few resources to get you star

null 0 Nov 27, 2021
Code generation for immutable classes that has a simple syntax/API without compromising on the features.

Welcome to Freezed, yet another code generator for unions/pattern-matching/copy. 0.14.0 and null-safety Important note: From 0.14.0 and onwards, Freez

Remi Rousselet 1.4k Jan 4, 2023
Just another tape player has been written in Flutter for iOS and Android

Just another tape player has been written in Flutter for iOS and Android. The application is able to find tapes and theirs images using https://zxInfo.dk public API and upload them to ZX-Spectrum compatible computers by the audio output of the smartphone. Now it supports TAP and TZX tape images only.

Andriy S'omak 28 Dec 28, 2022
I did a task manager which has abilities like (priority,sort,daily,weekly,monthly,profile screen,user auth)

task_manager A task manager app by Flutter. Getting Started This is a task manager app which you can manage your daily/weekly/monthly tasks. Users can

Yusuf Erarslan 2 Jan 12, 2022
The Drawer Manager class has the ability to swap Scaffold body contents, using a custom provider

The Drawer Manager class has the ability to swap Scaffold body contents, using a custom provider. Open Drawer Hello, Flutter! Counter The MAC All Page

The Mobile Applications Community 2 Mar 18, 2022