Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
123 changes: 61 additions & 62 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,87 +1,86 @@
<img src="https://github.com/anandnet/Harmony-Music/blob/main/cover.png" width="1200" >

# Harmony Music
A cross platform app for music streaming made with Flutter(Android, Windows, linux).
A cross-platform app for music streaming made with Flutter (Android, Windows, Linux).

# Features
* Ability to play song from Ytube/Ytube Music.
* Song cache while playing
* Radio feature support
* Background music
* Playlist creation & bookmark support
* Artist & Album bookmark support
* Import song,Playlist,Album,Artist via sharing from Ytube/Ytube Music.
* Streaming quality control
* Song downloading support
* Language support
* Skip silence
* Dynamic Theme
* Flexibility to switch between Bottom & Side Nav bar
* Equalizer support
* Android Auto support
* Synced & Plain Lyrics support
* Sleep Timer
* No Advertisment
* No Login required
* Piped playlist integration

* Ability to play songs from YouTube/YouTube Music.
* Song caching while playing.
* Radio feature support.
* Background music playback.
* Playlist creation & bookmark support.
* Artist & Album bookmark support.
* Import songs, playlists, albums, and artists via sharing from YouTube/YouTube Music.
* Streaming quality control.
* Song downloading support.
* Multi-language support.
* Skip silence feature.
* Dynamic theme.
* Flexibility to switch between bottom & side navigation bar.
* Equalizer support.
* Android Auto support.
* Synced & plain lyrics support.
* Sleep timer.
* No advertisements.
* No login required.
* Piped playlist integration.

# Download
* Pleass choose one source for android apk. you won't be able to update from cross build apk source.

<a href="https://github.com/anandnet/Harmony-Music/releases/latest"><img src ="https://github.com/anandnet/Harmony-Music/blob/main/don_github.png" width = "250"></a> <a href= "https://f-droid.org/packages/com.anandnet.harmonymusic"><img src = "https://github.com/anandnet/Harmony-Music/blob/main/down_fdroid.png" width = '250'></a></a>
* Please choose one source for the Android APK. You won't be able to update from a cross-build APK source.
* **Arch Linux** users may install it from the **AUR** by installing the **`harmonymusic`** package:
```sh
yay -S harmonymusic
```
<a href="https://github.com/anandnet/Harmony-Music/releases/latest"><img src="https://github.com/anandnet/Harmony-Music/blob/main/don_github.png" width="250"></a>
<a href="https://f-droid.org/packages/com.anandnet.harmonymusic"><img src="https://github.com/anandnet/Harmony-Music/blob/main/down_fdroid.png" width="250"></a>

# Translation
<a href="https://hosted.weblate.org/engage/harmony-music/">
<img src="https://hosted.weblate.org/widget/harmony-music/project-translations/multi-auto.svg" alt="Translation status" />
</a>

You can also help us in translation, click status image or <a href="https://hosted.weblate.org/projects/harmony-music/project-translations/"> here </a> to go to Weblate.
You can also help us with translation. Click the status image or <a href="https://hosted.weblate.org/projects/harmony-music/project-translations/">here</a> to go to Weblate.

# Troubleshoot
* if you are facing Notification control issue or music playback stopped by system optimization, please enable ignore battery optimization option from settings
# Troubleshooting
* If you are facing notification control issues or music playback is stopped due to system optimization, please enable the "Ignore battery optimization" option from settings.

# License
```
Harmony Music is a free software licensed under GPL v3.0 with following condition.

- Copied/Modified version of this software can not be used for 'non-free' and profit purposes.
- You can not publish copied/modified version of this app on closed source app repository
like PlayStore/AppStore.
Harmony Music is free software licensed under GPL v3.0 with the following conditions:

- A copied/modified version of this software cannot be used for 'non-free' or profit purposes.
- You cannot publish a copied/modified version of this app on a closed-source app repository
like the Play Store/App Store.
```


# Disclaimer
```
This project has been created while learning & learning is the main intention.
This project is not sponsored or affiliated with, funded, authorized, endorsed by any content provider.
Any Song, content, trademark used in this app are intellectual property of their respective owners.
Harmony music is not responsible for any infringement of copyright or other intellectual property rights that may result
from the use of the songs and other content available through this app.

This Software is released "as-is", without any warranty, responsibility or liability.
In no event shall the Author of this Software be liable for any special, consequential,
incidental or indirect damages whatsoever (including, without limitation, any
other pecuniary loss) arising out of the use of inability to use this product, even if
Author of this Sotware is aware of the possibility of such damages and known defect.
This project was created for learning purposes, and learning is the main intention.
This project is not sponsored, affiliated with, funded, authorized, or endorsed by any content provider.
Any song, content, or trademark used in this app is the intellectual property of its respective owners.
Harmony Music is not responsible for any copyright infringement or other intellectual property rights violations
that may result from the use of songs and other content available through this app.

This software is released "as-is" without any warranty, responsibility, or liability.
In no event shall the author of this software be liable for any special, consequential,
incidental, or indirect damages whatsoever (including, without limitation, any
other financial loss) arising out of the inability to use this product, even if
the author of this software is aware of the possibility of such damages or defects.
```

# Learning References & Credits
<a href = 'https://docs.flutter.dev/'>Flutter documentation</a> - a best guide to learn cross platform Ui/app developemnt<br/>
<a href = 'https://suragch.medium.com/'>Suragch</a>'s Article related to Just audio & state management,architectural style<br/>
<a href = 'https://github.com/sigma67'>sigma67</a>'s unofficial ytmusic api project<br/>
App UI inspired by <a href = 'https://github.com/vfsfitvnm'>vfsfitvnm</a>'s ViMusic<br/>
Synced lyrics provided by <a href = 'https://lrclib.net' >LRCLIB</a> <br/>
<a href = 'https://piped.video' >Piped</a> for playlists.

#### Major Packages used
* just_audio: ^0.9.40 - audio player for android
* media_kit: ^1.1.9 - audio player for linux and windows
* audio_service: ^0.18.15 - manage background music & platform audio services
* get: ^4.6.6 - package for high-performance state management, intelligent dependency injection, and route management
* youtube_explode_dart: ^2.0.2 - Third party package to provide song url
* hive: ^2.2.3 - offline db used
* hive_flutter: ^1.1.0


<a href="https://docs.flutter.dev/">Flutter documentation</a> - The best guide to learning cross-platform UI/app development.<br/>
<a href="https://suragch.medium.com/">Suragch</a>'s articles related to Just Audio, state management, and architectural styles.<br/>
<a href="https://github.com/sigma67">sigma67</a>'s unofficial YouTube Music API project.<br/>
App UI inspired by <a href="https://github.com/vfsfitvnm">vfsfitvnm</a>'s ViMusic.<br/>
Synced lyrics provided by <a href="https://lrclib.net">LRCLIB</a>.<br/>
<a href="https://piped.video">Piped</a> for playlists.

#### Major Packages Used
* **just_audio**: ^0.9.40 - Audio player for Android.
* **media_kit**: ^1.1.9 - Audio player for Linux and Windows.
* **audio_service**: ^0.18.15 - Manages background music & platform audio services.
* **get**: ^4.6.6 - High-performance state management, intelligent dependency injection, and route management.
* **youtube_explode_dart**: ^2.0.2 - Third-party package to provide song URLs.
* **hive**: ^2.2.3 - Offline database used.
* **hive_flutter**: ^1.1.0 - Flutter adapter for Hive.