🎡 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

🏁 Windows, Linux & Android. Feel free to report bugs & issues.



Loving the project? Share with your friends πŸ’œ & star the repository ⭐ .

Download

Windows

  • Setup Installer (11.9 MB) Recommended. Automatically links with various file extensions
  • Portable EXE (14.5 MB) For sandboxed running. Does not bind with file extensions.

Android

  • APK (22.9 MB)

Linux

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.

Contributors

  •   Hitesh Kumar Saini
    • Lead developer. Deals with playback & indexing. UI & state management. Core C++ plugins.
  •   Denis
    • Windows installer & bug fixes. Russian translation.
  •   Bruno D'Luka
    • User interface & design. Portuguese translation.
  •   mytja
    • WinGet package. Bug reports. Slovenian translation.
  •   Prateek SU
    • AppImage, RPM & Flatpak installers. Linux distribution. Bug reports. Hindi translation.
  •   Gaetan Jonathan BAKARY
    • Linux related bug-fixes. French translation.
  •   RedyAu
    • 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.

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
  • 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
  • Bluetooth Audio does not play after app is closed

    Bluetooth Audio does not play after app is closed

    Describe the bug After I play audio through Bluetooth on the Harmonoid Linux app. When I close it and play any other audio but this time not from the Harmonoid Linux app. The audio is not played. For example, playing a video via VLC media player. To fix the problem I have to unpair the Bluetooth device and pair it again.

    To Reproduce Steps to reproduce the behavior:

    1. Connect Bluetooth audio device to Linux desktop system.
    2. Stream audio from YouTube in the Harmonoid Linux app.
    3. Close the Harmonoid app. This causes to stop what was playing via the harmonoid app.
    4. Now open any video or audio file, but play in any other app, other than harmonoid.
    5. There will no audio playing.

    Expected behavior After reproducing till step 4 from above. The audio should play.

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

    Desktop (please complete the following information):

    • OS: Fedora Linux 36 (Workstation Edition)
    • Version 36
    bug waiting for response 
    opened by soham1sawant 3
  • Lockscreen UI on Android

    Lockscreen UI on Android

    I use Samsung Music and really like that when you lock your screen then turn it on, you get this lockscreen UI:

    Screenshot_20221225-211716_Samsung Music

    Really helps with accessing the now playing playlist right from the lockscreen. Hope it's possible.

    improvement 
    opened by abiud254 0
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. Running everywhere with same awesome experience. πŸ’œ
Harmonoid
Use Dart to call Shell, complete the work of compiling Golang CGO code into a so, dll, a, WASM, and etc.

Use Dart to call Shell, complete the work of compiling Golang CGO code into a so, dll, a, WASM, and etc. And place it in the corresponding source file directory of each Flutter platform.

Dorain Gray 30 Dec 30, 2022
A clean front-end plugin to Volumio, the Linux distribution for music playback. Volumio Touch Display Lite is written in Flutter and runs on flutter-pi.

EN | δΈ­ζ–‡ Touch Display Lite plugin for Volumio 3 Feng Zhou, 2021-12 Touch Display Lite is a clean and fast user interface for Volumio 3, the Linux dist

Feng Zhou 5 Jul 26, 2022
My Notes is an app to create simple notes and add 3 levels of tags to them. The uniqueness of the app lies in its design and dark theme

?? My Notes | Simple & Beautiful Note Taking App ?? About The App ?? My Notes is an app to create simple notes and add 3 levels of tags to them. The u

null 4 Apr 27, 2022
A Flutter package that makes it easy to customize and work with your Flutter desktop app window.

bitsdojo_window A Flutter package that makes it easy to customize and work with your Flutter desktop app window on Windows, macOS and Linux. Watch the

Bits Dojo 607 Jan 4, 2023
A Flutter package that makes it easy to customize and work with your Flutter desktop app's system tray.

system_tray A Flutter package that that enables support for system tray menu for desktop flutter apps. on Windows, macOS and Linux. Features: - Modify

AnTler 140 Dec 30, 2022
Biyi (ζ―”θ―‘) is a convenient translation and dictionary app written in dart / Flutter.

biyi_app Biyi is a convenient translation and dictionary app written in dart / Flutter. View document "Biyi" (ζ―”θ―‘) is the Chinese word for "Comparison

biyidev 894 Jan 1, 2023
A cross-platform app ecosystem, bringing iMessage to Android, PC (Windows, Linux, & even macOS), and Web!

BlueBubbles Android App BlueBubbles is an open-source and cross-platform ecosystem of apps aimed to bring iMessage to Android, Windows, Linux, and mor

BlueBubbles 318 Jan 8, 2023
A platform adaptive Flutter app for desktop, mobile and web.

Flutter Folio A demo app showcasing how Flutter can deliver a great multi-platform experience, targeting iOS, Android, MacOS, Windows, Linux, and web.

gskinner team 3.5k Jan 2, 2023
POSP official notes app, soon to be included

Leaflet POSP official notes application, written in flutter, beautiful, fast and secure. Main features Material design Completely cross platform List/

Potato Open Sauce Project 310 Dec 30, 2022
A tutorial for creating an Ubuntu Linux Flutter app, using the yaru theme

Building a Yaru app with Flutter Summary URL https://github.com/ubuntu/user_manager Category Environment Linux Status Feedback Link Author Frederik Fe

Ubuntu 22 Dec 21, 2022
An app to monitor linux PC stats directly from your phone.

L I N U X M O N An app to monitor linux PC stats such as CPU, Battery, RAM etc. on your phone. Installation Install the server on your PC LINUX Downlo

Ayush Singh 20 Dec 21, 2022
Unofficial Ubuntu Desktop Settings App made with Flutter

Unofficial Ubuntu Desktop Settings App made with Flutter - WIP The goal of this project is to build a feature complete settings app for the Ubuntu des

Frederik Feichtmeier 239 Jan 1, 2023
Fluttern is a web app made with Flutter to list Flutter internships/jobs for the community.

Fluttern Fluttern is a web app made with Flutter to list Flutter internships/jobs for the community. It uses Google Sheet as a backend, simplifying th

Aditya Thakur 3 Jan 5, 2022
A simple flutter input widget to add @ mentions functionality to your app

?? Flutter Mentions A simple flutter input widget to add @ mentions functionality to your app Install ?? To use this package, add flutter_mentions as

Fayeed Pawaskar 95 Nov 4, 2022
A simple app design

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

Samuel Adekunle 2 Nov 25, 2021
Create Desktop app with Flutter

Flutter Desktop Codelab Slides Créer votre première appli Desktop avec Flutter App Design Dribble YoPro Setup Linux MacOs Windows Generate executable

Flutter Togo 24 Nov 18, 2022
Serverpod is a next-generation app and web server, explicitly built for the Flutter and Dart ecosystem.

Serverpod Serverpod is a next-generation app and web server, explicitly built for the Flutter and Dart ecosystem. It allows you to write your server-s

Serverpod 1k Jan 8, 2023
A small karaoke app made in Flutter for Linux

Karaoke app for linux A small karaoke/lyrics display for the currently running VLC song. Video: Make sure the songs have metadata (at least title and

Wazzaps 63 Jan 7, 2023
A material theme editor and generator for Flutter to configure and preview the overall visual theme of your material app

A material theme editor and generator for Flutter to configure and preview the overall visual theme of your material app

Joshua 301 Jan 3, 2023