GithubHelp home page GithubHelp logo

harmonoid / harmonoid Goto Github PK

View Code? Open in Web Editor NEW
3.4K 36.0 199.0 57.7 MB

๐ŸŽต Plays & manages your music library. Looks beautiful & juicy. Playlists, visuals, synced lyrics, pitch shift, volume boost & more.

Home Page: https://harmonoid.com

Kotlin 1.44% Dart 93.91% CMake 0.90% C++ 1.45% C 0.09% Inno Setup 1.27% Java 0.93%
music metadata tag-parsing windows linux music-player music-library lyrics media-tags flutter

harmonoid's Introduction

Harmonoid

๐ŸŽต Plays & manages your music library. Looks beautiful & juicy.

Website โ€ข Download โ€ข Discord โ€ข Available for Windows, Linux & Android!

Videos

Enjoy that ๐Ÿงˆ buttery experience.

experience.mp4
lyrics.mp4

Features

  • Music library management based on metadata tags.
  • Capable of indexing 30+ files/second & saves cache for future app start-ups.
  • Very strictly follows Material Design guidelines for UI & animations.
  • mpv based music playback for strong format support (on Linux & Windows) using dart:ffi.
  • Taskbar & System Media Transport Controls for Windows.
  • D-Bus MPRIS controls for Linux.
  • Small installer (โ‰ˆ 35 MB) & low RAM usage (โ‰ˆ 150 MB).
  • Time synced lyrics for all your music.
  • Ability to create persistent or "Now playing" playlists.
  • Context menu integrations & file associations (exclusive to setup version).
  • Discord RPC integration with album art support & "Find"/"Listen" buttons.
  • Portable (if you wish).
  • Pitch shifting.
  • Volume boost.
  • Speed adjustment.
  • Details editor.
  • Cross-platform (currently aiming Windows, Linux & Android).
  • Does not use electron.js.
  • Music visuals.
  • Metadata reader.
  • Gapless playback.
  • Multiple artist support.
  • Online URLs player.
  • .LRC file compatibility (mannual loading or automatic lookup in folder).
  • Fallback cover support. e.g. cover.jpg, Folder.jpg etc.
  • User specific libmpv flags & options.
  • Window position & maximize state remembering.
  • Excellent backward compatibility. Windows 7 or higher. Android 5.0 or higher.
  • Built-in YouTube Music client.

Why

It's really hard to find software with good design & animations on desktop. It's almost like desktop app developers don't have faith in adding animations to their UI. Other music players, which look kind-of good don't work properly, refuse to support an audio format, read tags incorrectly, don't have my favorite feature or simply use electron.js.

Harmonoid very strictly implements Material Design to be a consistent, cohesive & modern music player for all platforms.

There are no inconsistent paddings, spacings or weird alignments to make me feel uncomfortable. It's built with care & proper time is given to everything. Learn more about the project on official website [until I can afford this domain].

Supporters

Patreons

  • Oleks โ€ข 4.50 โ‚ฌ per month.
  • Tse Loki โ€ข 2 โ‚ฌ per month.

Support

If you enjoy using this music player, please consider buying me a coffee.

Planned Features

May be found at: What's next for Harmonoid? & Release Goals.

Mobile

Translate

You can help me by adding or updating translations for Harmonoid at harmonoid/translations repository.

License

Harmonoid & the source code in this repository is under End-User License Agreement for Harmonoid.

harmonoid's People

Contributors

0xj0hn avatar alexmercerind avatar arafatamim avatar bdlukaa avatar c3k4ah avatar feelogil avatar gaetan1903 avatar hisubway avatar kabanfriends avatar kebabinjeneus avatar kesitakeshi avatar leonhoog avatar lucifer25x avatar maisondasilva avatar mi875 avatar micklesk avatar mytja avatar prateekmedia avatar raitonoberu avatar redyau avatar stonega avatar tct123 avatar turanberlin avatar vedantmgoyal9 avatar wcxu21 avatar yehudakremer avatar yulog avatar zzs20020430 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

harmonoid's Issues

Play and search youtube playlists

Maybe a toggle button to search playlists, or at least the functionality to copy paste url into the search bar to play the playlist. I have several playlists on youtube I would like to play but currently cannot.

Add MPRIS support for linux

Describe the new feature you'd like

On linux when playing any music no music control is visible on notification. It would be good if it shows one.

Updated pubspec

Proposed change to reduced errors concerning vsync

Current:

environment:
  sdk: ">=2.7.0 <3.0.0"

To:

environment:
  sdk: ">=2.8.0 <3.0.0"

Pause button issue

Hello!
I found a bug.
When my music from album is playing, and if I downloaded only one song from it, when I go to Now Playing tab and pause it, then click next, button for Pause is still same, but music is playing, this is very annoying, since I have to click 2 times, when, I want to pause.
Can you fix this?

Crashing when trying play a local file

To Reproduce
Steps to reproduce the behaviour:

  1. Open the app
  2. Try to play any music files
  3. See it's crashing

Expected behaviour
Play the song

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

Smartphone (please complete the following information):

  • Device: OnePlus 5
  • OS: Android 11
  • Browser Brave
  • Version 0.0.5

Logs

https://del.dog/akyppudape

Format .FLAC

Describe the bug
Selecting a track with flac format does not sound

  • Android 7

Make YouTube more playlist friendly.

Describe the new feature you'd like

Currently YouTube playback is infact very basic.
Few of the features that I'd like adding are:

  • Recommendations must be added to "now playing list" & subsequent tracks from YouTube should automatically start playing like in YouTube Music webapp. This will make the experience more immersive.
  • Ability to add YouTube tracks into local playlists alongside local tracks.

Maybe in future.

Lyrics server crashes with accents in song titles

Not sure if this is the right place to file the bug, but the lyrics server craps out when it encounters accents in the song title.
Try these:

  • Omniprรฉsent Damien Robitaille -> doesn't work
    Omnipresent Damien Robitaille -> works
  • Si t'รฉtais lร  Louane -> doesn't work
    Si t'etais la Louane -> works

I tested this with French. Other languages might have similar issues.

Certain files cause crash upon parsing. (FLAC)

Describe the bug
Certain media files, not sure which ones at the moment cause crash upon launching the application.

To Reproduce
Just starting the application.

Desktop (please complete the following information):
Windows 10 v0.1.2+

Please share your file samples here or mail me at [email protected].

Your help will be really appreciated.

"Add to now playing" pauses the music on Linux

Describe the bug
To click on "Add to now playing" pauses the current music on Linux (but add the music to the queue)

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'YouTube
  2. Click on a music
  3. Click on "Add to now playing"

Expected behavior
Do not pause the current music

Desktop (please complete the following information):

  • OS: Ubuntu
  • Browser Brave
  • Version 0.1.8 (Harmonoid)

album sort

albums seem to be sorted, randomly ? the tracks are labelled correctly by number, but they don't sort or play in that order, and there doesn't seem to be any obvious way to fix it

Song not changing automatically

It is not changing the song automatically when one song completes. I have to keep pressing next button or manually change the song. I hope to see this fixed soon.

Not all albums are populating in the library

I think it might be an issue with the app not going deeper than 1 folder level?

My music folder has a bunch of random tracks dumped into it, those aren't showing up. I have folders for each artist and albums folders are nested in each musician's folder - those aren't showing up in my collection either.

Is this by design, am I doing it wrong?

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]

Localization bug (cropped label)

Hi, @alexmercerind!
I found a little bug. The label above the accent choosing is cropped.
IMG_20200908_102539.jpg

So, the label translates to "You must restart the app to". It seems that the Slovenian lang is bugged too.

Thanks!

Cannot add to playlists and view playlists and app crashes on next startup

Describe the bug
There are a lot of bugs. They are described bellow

To Reproduce
Steps to reproduce the behavior:

  1. Get latest version from main branch
  2. Do flutter run
  3. Create a playlist
  4. Add a song to playlist
  5. Click on playlist
  6. Get an error
  7. Close a app
  8. Open the app
  9. Startup error

While I was checking JSON, I noticed, that playlist JSON is completly empty.

After clearing cache AND data, it starts working again, but only until you repeat those steps.

This error also occours when I set the server & restart the app.

I tried debugging it, but Exceptions aren't very detailed, but it seems the error occours somewhere here: https://github.com/alexmercerind/harmonoid/blob/master/lib/main.dart#L21-L54

Expected behavior
The app, changing server, JSON writing and playlists should be working fine

Screenshots
I created a playlist:
playlist

Clicked on a playlist:
playlist2

Closed the app and reopened it:
exception

Smartphone (please complete the following information):

  • Device: Samsung Galaxy A21s
  • OS: Android 10 - OneUI 2.1
  • Version Latest from master

Thank you so much for your time

How to solved this error?

Launching lib\main.dart on Android SDK built for x86 in debug mode...
/C:/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+3/lib/src/path_provider_windows_real.dart:126:25: Error: The getter 'addressOf' isn't defined for the class 'GUID'.

  • 'GUID' is from 'package:win32/src/structs.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    knownFolderID.addressOf, KF_FLAG_DEFAULT, NULL, pathPtrPtr);
    ^^^^^^^^^

/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart:1067:7: Error: The getter 'addressOf' isn't defined for the class 'LOGFONT'.

  • 'LOGFONT' is from 'package:win32/src/structs.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    addressOf.cast().elementAt(28).cast();
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart:1112:29: Error: The getter 'addressOf' isn't defined for the class 'ENUMLOGFONTEX'.
  • 'ENUMLOGFONTEX' is from 'package:win32/src/structs.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    LOGFONT get elfLogFont => addressOf.cast().ref;
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart:1114:29: Error: The getter 'addressOf' isn't defined for the class 'ENUMLOGFONTEX'.
  • 'ENUMLOGFONTEX' is from 'package:win32/src/structs.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    String get elfFullName => addressOf
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart:1120:26: Error: The getter 'addressOf' isn't defined for the class 'ENUMLOGFONTEX'.
  • 'ENUMLOGFONTEX' is from 'package:win32/src/structs.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    String get elfStyle => addressOf
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart:1126:27: Error: The getter 'addressOf' isn't defined for the class 'ENUMLOGFONTEX'.
  • 'ENUMLOGFONTEX' is from 'package:win32/src/structs.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    String get elfScript => addressOf
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart:2688:7: Error: The getter 'addressOf' isn't defined for the class 'OSVERSIONINFO'.
  • 'OSVERSIONINFO' is from 'package:win32/src/structs.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    addressOf.cast().elementAt(20).cast().unpackString(128);
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart:2699:11: Error: The getter 'addressOf' isn't defined for the class 'OSVERSIONINFO'.
  • 'OSVERSIONINFO' is from 'package:win32/src/structs.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    ..addressOf.cast().elementAt(20).value = 0;
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart:2744:24: Error: The getter 'addressOf' isn't defined for the class 'BLUETOOTH_DEVICE_INFO'.
  • 'BLUETOOTH_DEVICE_INFO' is from 'package:win32/src/structs.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    String get szName => addressOf
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart:2837:7: Error: The getter 'addressOf' isn't defined for the class 'BLUETOOTH_PIN_INFO'.
  • 'BLUETOOTH_PIN_INFO' is from 'package:win32/src/structs.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    addressOf.cast().elementAt(BTH_MAX_PIN_SIZE).value;
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart:2840:5: Error: The getter 'addressOf' isn't defined for the class 'BLUETOOTH_PIN_INFO'.
  • 'BLUETOOTH_PIN_INFO' is from 'package:win32/src/structs.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart').

Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
addressOf.cast().elementAt(BTH_MAX_PIN_SIZE).value =
^^^^^^^^^
/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart:2845:28: Error: The getter 'addressOf' isn't defined for the class 'BLUETOOTH_PIN_INFO'.

  • 'BLUETOOTH_PIN_INFO' is from 'package:win32/src/structs.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    String.fromCharCodes(addressOf.cast().asTypedList(pinLength));
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart:2853:7: Error: The getter 'addressOf' isn't defined for the class 'BLUETOOTH_PIN_INFO'.
  • 'BLUETOOTH_PIN_INFO' is from 'package:win32/src/structs.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    addressOf.cast().elementAt(idx).value = pinData[idx];
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/com/combase.dart:38:31: Error: The getter 'addressOf' isn't defined for the class 'GUID'.
  • 'GUID' is from 'package:win32/src/structs.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.

final iid = GUID.allocate().addressOf;
^^^^^^^^^
/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/com/combase.dart:56:33: Error: The getter 'addressOf' isn't defined for the class 'GUID'.

  • 'GUID' is from 'package:win32/src/structs.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    final clsid = GUID.allocate().addressOf;
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/winrt/winrt_helpers.dart:86:40: Error: The getter 'addressOf' isn't defined for the class 'GUID'.

  • 'GUID' is from 'package:win32/src/structs.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    final riidCalendar = GUID.allocate().addressOf;
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/generated/IDesktopWallpaper.dart:197:38: Error: The getter 'addressOf' isn't defined for the class 'COMObject'.

  • 'COMObject' is from 'package:win32/src/com/combase.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/com/combase.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    final ptr = COMObject.allocate().addressOf;
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/generated/IDesktopWallpaper.dart:200:49: Error: The getter 'addressOf' isn't defined for the class 'GUID'.

  • 'GUID' is from 'package:win32/src/structs.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    GUID.fromString(CLSID_DesktopWallpaper).addressOf,
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/generated/IDesktopWallpaper.dart:203:48: Error: The getter 'addressOf' isn't defined for the class 'GUID'.

  • 'GUID' is from 'package:win32/src/structs.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    GUID.fromString(IID_IDesktopWallpaper).addressOf,
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/generated/IFileOpenDialog.dart:58:38: Error: The getter 'addressOf' isn't defined for the class 'COMObject'.

  • 'COMObject' is from 'package:win32/src/com/combase.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/com/combase.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    final ptr = COMObject.allocate().addressOf;
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/generated/IFileOpenDialog.dart:61:47: Error: The getter 'addressOf' isn't defined for the class 'GUID'.

  • 'GUID' is from 'package:win32/src/structs.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    GUID.fromString(CLSID_FileOpenDialog).addressOf,
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/generated/IFileOpenDialog.dart:64:46: Error: The getter 'addressOf' isn't defined for the class 'GUID'.

  • 'GUID' is from 'package:win32/src/structs.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    GUID.fromString(IID_IFileOpenDialog).addressOf,
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/generated/IFileSaveDialog.dart:99:38: Error: The getter 'addressOf' isn't defined for the class 'COMObject'.

  • 'COMObject' is from 'package:win32/src/com/combase.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/com/combase.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    final ptr = COMObject.allocate().addressOf;
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/generated/IFileSaveDialog.dart:102:47: Error: The getter 'addressOf' isn't defined for the class 'GUID'.

  • 'GUID' is from 'package:win32/src/structs.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.

     GUID.fromString(CLSID_FileSaveDialog).addressOf,
                                           ^^^^^^^^^
    

/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/generated/IFileSaveDialog.dart:105:46: Error: The getter 'addressOf' isn't defined for the class 'GUID'.

  • 'GUID' is from 'package:win32/src/structs.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    GUID.fromString(IID_IFileSaveDialog).addressOf,
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/generated/IKnownFolderManager.dart:164:38: Error: The getter 'addressOf' isn't defined for the class 'COMObject'.

  • 'COMObject' is from 'package:win32/src/com/combase.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/com/combase.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    final ptr = COMObject.allocate().addressOf;
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/generated/IKnownFolderManager.dart:167:51: Error: The getter 'addressOf' isn't defined for the class 'GUID'.

  • 'GUID' is from 'package:win32/src/structs.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    GUID.fromString(CLSID_KnownFolderManager).addressOf,
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/generated/IKnownFolderManager.dart:170:50: Error: The getter 'addressOf' isn't defined for the class 'GUID'.

  • 'GUID' is from 'package:win32/src/structs.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    GUID.fromString(IID_IKnownFolderManager).addressOf,
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/generated/INetworkListManager.dart:128:38: Error: The getter 'addressOf' isn't defined for the class 'COMObject'.

  • 'COMObject' is from 'package:win32/src/com/combase.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/com/combase.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.

    final ptr = COMObject.allocate().addressOf;
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/generated/INetworkListManager.dart:131:51: Error: The getter 'addressOf' isn't defined for the class 'GUID'.

  • 'GUID' is from 'package:win32/src/structs.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    GUID.fromString(CLSID_NetworkListManager).addressOf,
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/generated/INetworkListManager.dart:134:50: Error: The getter 'addressOf' isn't defined for the class 'GUID'.

  • 'GUID' is from 'package:win32/src/structs.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    GUID.fromString(IID_INetworkListManager).addressOf,
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/generated/IWbemLocator.dart:82:38: Error: The getter 'addressOf' isn't defined for the class 'COMObject'.

  • 'COMObject' is from 'package:win32/src/com/combase.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/com/combase.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    final ptr = COMObject.allocate().addressOf;
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/generated/IWbemLocator.dart:84:68: Error: The getter 'addressOf' isn't defined for the class 'GUID'.

  • 'GUID' is from 'package:win32/src/structs.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    final hr = CoCreateInstance(GUID.fromString(CLSID_WbemLocator).addressOf,
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/generated/IWbemLocator.dart:85:64: Error: The getter 'addressOf' isn't defined for the class 'GUID'.

  • 'GUID' is from 'package:win32/src/structs.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    nullptr, CLSCTX_ALL, GUID.fromString(IID_IWbemLocator).addressOf, ptr);
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/ffi-0.1.3/lib/src/utf8.dart:63:33: Error: The getter 'addressOf' isn't defined for the class 'Utf8'.

  • 'Utf8' is from 'package:ffi/src/utf8.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/ffi-0.1.3/lib/src/utf8.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
    String toString() => fromUtf8(addressOf);
    ^^^^^^^^^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart:1111:7: Error: Struct 'ENUMLOGFONTEX' is empty. Empty structs are undefined behavior.
    class ENUMLOGFONTEX extends Struct {
    ^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart:2835:7: Error: Struct 'BLUETOOTH_PIN_INFO' is empty. Empty structs are undefined behavior.
    class BLUETOOTH_PIN_INFO extends Struct {
    ^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart:2960:7: Error: Struct 'EXCEPINFO' is empty. Empty structs are undefined behavior.
    class EXCEPINFO extends Struct {}
    ^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart:2966:7: Error: Struct 'PROPERTYKEY' is empty. Empty structs are undefined behavior.
    class PROPERTYKEY extends Struct {}
    ^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart:2973:7: Error: Struct 'PROPVARIANT' is empty. Empty structs are undefined behavior.
    class PROPVARIANT extends Struct {}
    ^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart:2978:7: Error: Struct 'SAFEARRAY' is empty. Empty structs are undefined behavior.
    class SAFEARRAY extends Struct {}
    ^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart:2985:7: Error: Struct 'CLSID' is empty. Empty structs are undefined behavior.
    class CLSID extends Struct {}
    ^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart:2992:7: Error: Struct 'STATSTG' is empty. Empty structs are undefined behavior.
    class STATSTG extends Struct {}
    ^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4/lib/src/structs.dart:2999:7: Error: Struct 'NLM_SIMULATED_PROFILE_INFO' is empty. Empty structs are undefined behavior.
    class NLM_SIMULATED_PROFILE_INFO extends Struct {}
    ^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/ffi-0.1.3/lib/src/utf8.dart:23:7: Error: Struct 'Utf8' is empty. Empty structs are undefined behavior.
    class Utf8 extends Struct {
    ^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/ffi-0.1.3/lib/src/utf16.dart:16:7: Error: Struct 'Utf16' is empty. Empty structs are undefined behavior.
    class Utf16 extends Struct {
    ^
    /C:/flutter/.pub-cache/hosted/pub.dartlang.org/ffi-0.1.3/lib/src/allocation.dart:47:33: Error: Expected type 'T' to be a valid and instantiated subtype of 'NativeType'.
    final int totalSize = count * sizeOf();
    ^

FAILURE: Build failed with an exception.

  • Where:
    Script 'C:\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 1029

  • What went wrong:
    Execution failed for task ':app:compileFlutterBuildDebug'.

Process 'command 'C:\flutter\bin\flutter.bat'' finished with non-zero exit value 1

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Get more help at https://help.gradle.org

BUILD FAILED in 36s
Exception: Gradle task assembleDebug failed with exit code 1
Exited (sigterm)

Make Desktop UI more keyboard & mouse centric.

Describe the new feature you'd like

Currently a lot of screen space is wasted & makes navigation for users bit cumbersome. I wanna improve upon this & make things a bit smaller, dense & more keyboard-mouse friendly. In general, trying to be more inclined towards user accessibility than design.

Problems with window movement

Floaty window movement in latest version of Windows 10

To Reproduce
Steps to reproduce the behavior:

  1. Try to drag window

Expected behavior
Moves properly with the cursor

**Observed behavior"
Cursor clones itself and floats off with the window, generally visible lag while dragging the window

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

Desktop (please complete the following information):

  • OS: Windows 10 (latest update as of 19/10/2021)

Edit: Disabling windows acrylic blur seems to fix the issue.

Edit 2: Seems like a windows issue, you cannot fix it as a dev....

Problem with song durdation

Hello, @alexmercerind
I downloaded this song Screenshot_20200929-074546.jpg
And it says its dudoration is 13 seconds.
Then i played it.
Screenshot_20200929-074540.jpg
Now, it says it's 4 minutes.
I used my harmonoid-eu server, which is ytmusic server.
Can you fix this?
Thank you

Change main to add support to platform splashscreen.

If you set the language check in the main function before runApp, you can wait til the platform splashscreen to appear and do not need to create a whole new splashscreen in flutter.

Sorry for bad English :)

Option to download a song from youtube

Describe the new feature you'd like

If you can stream it, you should also be able to download or cache the song.

So if I am listening a song on repeat for long time it doesn't need consume my internet.

Play through folders

I have a lot of albums, it's a pain to keep switching them and also a pain to make a huge playlist. Can we have a feature to switch to the next album and also a setting to randomize that?

Exception thrown in "Playlists" tab

Exception gets thrown when switching to "Playlists" tab in the collection.

Not sure of the cause. No logs about the causing line or widget.

โ•โ•โ•ก EXCEPTION CAUGHT BY WIDGETS LIBRARY โ•žโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
The following _CastError was thrown building DefaultTextStyle(debugLabel: (englishLike body1
2014).merge(blackMountainView bodyText2), inherit: false, color: Color(0xdd000000), family: Roboto,
size: 14.0, weight: 400, baseline: alphabetic, decoration: TextDecoration.none, softWrap: wrapping
at box width, overflow: clip):
type 'double' is not a subtype of type 'bool?' in type cast

Add Cover Image From Internet

Describe the new feature you'd like

I want that the cover Images of album or Song dynamically change when I've Internet, If the song doesn't have a cover images.

Like Strawberry functionality on Linux.

Thanks.

Rewinding missing media crashes

Describe the bug

2021-09-15.19-51-10.mp4

To Reproduce

  1. Run app
  2. Click on 'next/previous file'
  3. Crash app

Expected behavior
Control buttons should be inactive if no media file is selected.

  • Window 10
  • harmonoid v0.1.3

Russian translation & Suggestions for improvement

Great job!
I like your music player and I want to help you with it. I've translated globals.dart file into Russian, you can find in here: https://pastebin.com/XqfVWe0k

Also I have some suggestions for improvement. I know that the application is in the pre-release stage, and you will most likely add these features, but why not :) Note that some points are my humble opinion and you may think differently.

  • One tap to search. Now I have to tap on the search bar twice and it is inconvenient.
  • Fix wrong artist name in the status bar if the album has several artists. It's easier to show: https://ibb.co/album/BHb8zj
  • Open "Now Playing" tab when tapping on notification.
  • Use async frameworks for the server (FastAPI, Aiohttp etc.). Async libraries are the best way to improve performance since the server is sending http requests to the Spotify API. I can help with rewriting if you want.
  • Exclude duplicate queries from history.
  • Allow the user to change the color from purple. Just a nice bonus :) You can add a HEX entry field or (and) simple color picker.
  • Allow user to abort download.
  • And everyone's favourite Dark Mode
  • Slide to switch tab.

Btw good luck with exams!

Recommend Projects

  • React photo React

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

  • Vue.js photo Vue.js

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

  • Typescript photo Typescript

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

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

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

  • web

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

  • server

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

  • Machine learning

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

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

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

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.