Coder Social home page Coder Social logo

sangwan5688 / blackhole Goto Github PK

View Code? Open in Web Editor NEW
9.1K 109.0 1.2K 64.96 MB

A Music Player App made with Flutter

License: GNU General Public License v3.0

Kotlin 0.28% Swift 0.19% Objective-C 0.01% Dart 92.25% Ruby 0.18% CMake 2.58% C++ 4.42% C 0.09%
music-player flutter flutter-app flutter-apps offline-songs fluttermusicapp flutter-music-player android-music-player music-player-application music-app

blackhole's Introduction

Repo Banner

BlackHole

An Open-Source Music Player App for all your needs!

made-with-flutter Release Downloads Build Translation-Status

Don't forget to โญ the repo

GitHub stars GitHub forks GitHub followers

Download

Download from Website Download from GitHub Join Telegram Channel Get it on F-Droid Get it on IzzyDroid

Translations

Translate App on Weblate

Features

  • High Streaming Quality (320kbps AAC)
  • Song, Album, Artist and Playlist Search
  • Language Specific Promoted Playlists
  • Trending Songs
  • Artist and Genre Radios
  • Support 15+ music languages
  • Local and Global Top Spotify songs
  • Add Songs to Favorite
  • Playlists support
  • Import Playlists from Spotify & YouTube
  • Import/Export Playlists as JSON File
  • Share Playlists
  • Sleep timer
  • Lyrics Support
  • Queue Management
  • Listening history record
  • Dark mode / accent color
  • Custom Gradients and other Theme options
  • Supports Portrait as well as Landscape mode
  • Download for offline play (320kbps with ID3 tags)
  • Play Online as well as Offline Songs
  • Tag Editing Support
  • Trending Search Results
  • YouTube Search Support
  • Promoted Youtube Playlists
  • Play videos as audio
  • Auto Song Recommendations
  • Inbuilt Equalizer
  • Backup & Restore
  • Auto Update Check
  • Cache support
  • No Subscription
  • No Ads

and much more... Check it yourself :)

Screenshots

License

Copyright ยฉ 2021 Ankit Sangwan

BlackHole is a free software licensed under GPL v3.0
It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Being Open Source doesn't mean you can just make a copy of the app and upload it on playstore or sell
a closed source copy of the same.
Read the following carefully:
1. Any copy of a software under GPL must be under same license. So you can't upload the app on a closed source
  app repository like PlayStore/AppStore without distributing the source code.
2. You can't sell any copied/modified version of the app under any "non-free" license.
   You must provide the copy with the original software or with instructions on how to obtain original software,
   should clearly state all changes, should clearly disclose full source code, should include same license
   and all copyrights should be retained.

In simple words, You can ONLY use the source code of this app for `Open Source` Project under `GPL v3.0` or later
with all your source code CLEARLY DISCLOSED on any code hosting platform like GitHub, with clear INSTRUCTIONS on
how to obtain the original software, should clearly STATE ALL CHANGES made and should RETAIN all copyrights.
Use of this software under any "non-free" license is NOT permitted.

See the GNU General Public License for more details.

Building from Source

  1. If you don't have Flutter SDK installed, please visit official Flutter site.
  2. Fetch latest source code from master branch.
git clone https://github.com/Sangwan5688/BlackHole.git
  1. Run the app with Android Studio or VS Code. Or the command line:
flutter pub get
flutter run

Contribute

Contributions are welcome. Please read our contributing guidelines before contributing.

Facing any Issue?

Have a look at some common Issues that you might face. If your problem is not there, feel free to open an Issue :)

Want to test Beta Versions? Need help??

You can join our Telegram Channel or Telegram Group, if you have any query, or need help with something as well as to get beta updates of the project.

Liked my work?

Buy Me A Coffee

What's New

To read full changelog visit the wiki page

Disclaimer

BlackHole does not own or have any affiliation with the songs and other content available through the app.
All songs and other content are the property of their respective owners and are protected by copyright law.
BlackHole 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 the app. BlackHole uses third-party plugins and
is not responsible for any harm or damage to the respective owners or any other parties resulting from the use
of the songs and other content through the third-party plugins.
By using the app, you agree to use the songs and other content only for personal, non-commercial purposes
and in compliance with all applicable laws and regulations.

blackhole's People

Contributors

1-sandeep avatar adam-adrian avatar ankit-sa avatar artemmolotov avatar brightdv avatar dhruvanbhalara avatar fjuro avatar get100percent avatar gobinathal avatar itstep-artu-student avatar josmiguel92 avatar k12onoss avatar kefir2105 avatar mefinity avatar memrdk avatar oersen avatar omjogani avatar sangwan5688 avatar santossi avatar shaan-mephobic avatar shareasmile avatar softinterlingua avatar sryze avatar starskygeminid avatar surendrajat avatar szeligbalazs avatar tachyglossues avatar vistaus avatar wushidia avatar yarons 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  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

blackhole's Issues

App stuck

Describe the bug
App stuck sometimes(first time if not opened in recent apps) when offline content loads.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Library'
  2. Click on 'My Music'
  3. Swap/slide to other options
  4. See error

Expected behavior
While loading offline content it is not responding for other option.

Smartphone (please complete the following information):

  • Device: [Samsung J7 Prime]
  • OS: [ Android 8]
  • App Version [v1.6]

Next Song/ Play albums not working.

Provide option to play all the songs in "Weekly top songs"/โ€œChart bustersโ€œ

Currently only one song plays and when I click next song nothing happens.

Song does not play local music automatically after changing it via earphones button

Describe the bug
Song does not play local music automatically after changing it via earphones button.
After double press of earphones button, music switches to the next one but not plays automatically. To be able to listen the next song, you have to press button once.

To Reproduce
Steps to reproduce the behavior:

  1. Find earphones with 3.5mm connector, which has integrated button on it. For example JBL In-ear headphones E15
  2. Open local music list and play some music
  3. Lock the phone
  4. Double press earphones button

Note: Button double press does not work when phone is not in a locked state even, though it should

Expected behavior
Switch to the next local music and play it automatically

Smartphone:

  • Device: Xiaomi Mi Mix 3
  • OS: MIUI Global 12.0.2 Stable, Android 10 QKQ1.190828.002
  • App Version: v1.9.0

Not all offline songs are playing

Not all offline songs are playing and offline audios and songs which are downloaded from other sources are also not being played.It must be happening because of not having the song's Info like - Proper Song Name, artist name ,etc.

Desktop App

It would be cool and very helpful if we can have this on desktop(Linux/Windows) as well. Because, app has been made in flutter and flutter support desktop apps, it should be fairly easy to port it to desktop.

F-Droid availability

First of all, this is an awesome app. Just wanted to know if you have any plans to include this app on f-droid.

SdCard support

No SdCard access is available yet in this cool app.

Music library from SdCard is a key to any fully functioning music player app. But unfortunately this app can only read music from phone internal storage. It would be really nice if there is the function to add music to library from sdcard.
Using SAF interface would be more preferable for Android 11 and later versions.
Best regards.

Gapless Playback

Currently, each and every song is loaded at the time when it's played. It is fine for offline music but for streaming, where it takes some time to start the music, it doesn't feel pleasing. Instead of the current approach, preloading all songs at the start and making the next song ready for play will provide a gapless playback without any interruptions. Although it will slightly increase the starting time for the first song, then all songs will play seamlessly without any interruption.

Can i fetch songs from another source?

Hello, I came across your amazing music app yesterday and it has kept me busy since then.

One problem I have however is fetching some of my already existing songs in Firebase Firestore.

I know this might probably not be a part of your project, but i would really appreciate if you could guide me on how to source my private music files directly from firestore collections.

App is stuck in the splash screen after 2-3 launches

The app is crashing and stuck in the splash screen after 2-3 launches in an android 9 device. Correct file of apk was used. The app worked seamlessly in first 2 launches but got this after clearing mobile memory. Clearing the app data resulted in working again. And sometimes the app is not being able to play some of the offline songs and stays in the player. And year data entered in the date of birth section in the settings is not set and is reseted to 2021.And to build the app a Google-services. Json file is asked, providing that would be much of a help. Thank you
Screenshot_20210509_222956_com shadow blackhole
Screenshot_20210509_224155_com shadow blackhole

Search history not showing in at home screen

Describe the bug
Search history doesn't show up when search is accessed from home screen

To Reproduce
Steps to reproduce the behavior:

  1. Go to home screen / initial screen
  2. Tap on search bar

Expected behavior
It should previous search history as suggestions

Smartphone

  • Device: Poco X3
  • OS: Android 11
  • App Version: v1.9.0

App Logs
If possible please provide app logs here.

[Help Wanted] Extend app for iOS

As we know to extend the app for iOS we need a MacBook and at least some knowledge in iOS App development. I have neither of them. Even if I have it will take some time. I know there are ways to build iOS app without Mac using some websites. But I was encountering a lot of issues and couldn't even build the app. So, if you have Mac and knowledge in app development. Feel free to open a PR. Thanks in advance :)

Now playing

Is your feature request related to a problem? Please describe.
Upcoming song's queue should be placed in music player screen (according to me :- in between download & favourite button)as it makes user to easily access from there other than from Library section.

Duplicates still occurs when songs under last session is played (I think issue #36 still exists)

Describe the bug
Hi @Sangwan5688 I think this problem #36 still exist when you play songs under "recently played" or "last session". I noticed it creates another duplicate of the particular song played.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Last Session'
  2. Click on ' any song under last session to play'
  3. Scroll down to '....'
  4. See error 'It creates another copy of the song under 'last session' even though it already existed'

Expected behavior

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

Smartphone (please complete the following information):

  • Device: [e.g. Pixel 4]
  • OS: [e.g. Android 11]
  • App Version [e.g. v1.5]

App Logs
If possible please provide app logs here.

An automatic app restart after changing language or country

Restarting the app manually after changing the language or country is a bit tiring.An automatic App restart after submitting language and country preference can be nice.And also a submit button which will enable us to select more than 1 language at a time.

Songs with "?" in title does not get downloaded

Songs with other special characters in their title (+,/) get downloaded but I think the only issue is with "?". I tried What Do I Know? by Ed Sheeran and got the loading circle to go on forever. The toast of the download starting also does not pop.

Search not working properly

I have my language set to English, and my country set to united States. The Spotify top charts for local correctly display English speaking artists(Justin Bieber, Lil nasX, Type, The creator, etc.) However when I press on them to play, it either says ''Sorry, results not found.'' Or it will display results from Hindi artists, for example when I tap on Bad Habits by Ed Sheeran, it comes up with Bad Habits by Navjeet, and Bad Habits by Dilraj.

I also dont get any results by searching for American artists such as Black Sabbath or Edward Sharpe and the magnetic zeroes.

Note: im using the precompiled arm64-v8a apk, v1.8

In Background app become inactive

Is your feature request related to a problem? Please describe.
In background after clearing recent apps Blackhole stopped working.

Describe the solution you'd like
Just create an option to enable or disable the recent apps to remain in working state.

Song restarts phone when wakes from sleep

Describe the bug
A clear and concise description of what the bug is.
When the song is played it plays fine but when screen is turned off and when picked to check on song it starts from beginning h
To Reproduce
Steps to reproduce the behavior:

  1. Go to 'blackhole'
  2. Click on 'any song'
  3. Let device turn off on same playlist open and then unlock device
  4. See song start from beginning

Expected behavior
A clear and concise description of what you expected to happen.
Song should resume
Screenshots
If applicable, add screenshots to help explain your problem.

Smartphone (please complete the following information):

  • Device: [e.g. Pixel 4]
  • OS: [e.g. Android 11]
  • App Version [e.g. v1.5]

App Logs
If possible please provide app logs here.

Recently played songs appears multiple times

Describe the bug
Recently played songs appears the exact number of times a particular song is played. For instance if SONG1 is played 3 times, SONG1 appears 3 times under recently played songs. Since its still same song, one would expect it to appear only once irrespective of how many times a user plays it.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...' Play a song, play it again and again
  2. Click on '....'
  3. Scroll down to '....'
  4. See error.. Check 'last session or recent' you'll see song appears number of times played.

Expected behavior
It is expected to appear just once since its the same song.

Spotify Top 200 Error

To prevent the Spotify Charts Page from DDoS, some changes have been made to the website resulting in Top 200 Songs not loading.

App fail to start sometimes

Sometimes the app fails to start and remains stuck on the Splash Screen. This issue is different from #6, in which the app doesn't start at all. This issue covers the case in which the app fails to start after a few launches. Clearing "app data" temporarily resolves this issue.

Cause of Problem:
The app uses a database to store info like user preferences, last played songs, favourites, etc. Due to some reason, the database gets corrupted and prevents the app from starting in the next launch. The exact cause is still unknown, but most likely, it is because of two or more processes writing to the database simultaneously.

Suggested Solution:
The most simple solution would be to check for a corrupted database during app launch and delete it if found corrupted. But it will cause loss of all the user data (including playlists and favourites, as almost everything is stored in a single database). Another way is to use more than one database and store user preferences, playlists, etc., separately. Only a small amount of data will be lost with this approach (Only settings or recently played will be lost as there's no corruption in any other part). It might also prevent database corruption as there will be fewer chances of clashing (as the exact reason for corruption is still unknown, so not sure).

add more sources

Is your feature request related to a problem? Please describe.
yeah i want more sources

Describe the solution you'd like
i want you to add soulseek,nhaccuatui,chiasenhac,vk

Describe alternatives you've considered
i don't have any alternatives

Additional context
Add any other context or screenshots about the feature request here.

Desktop Application for BlackHole

As this is on Flutter, if it is possible to get a Desktop Application made out of it?

Thank you for the great application. Appreciate your efforts.

Audio Focus

In Audio Focus Two or more Android apps can play audio to the same output stream simultaneously.
But Blackhole in this situation becomes mute.
So Please add an option for enable/disable the "Audio Focus"

Interface display problems

1, when the music playing, minimize the play after the panel, then open the panel, display problems
2, when the network is slow, has not been finished loading, then click on the panel, display also can appear problem

QQๅ›พ็‰‡20210601085050
QQๅ›พ็‰‡20210601085029

Artist profile from the now playing page

Any plans on having clickable artist names in the now playing screen? It could then take us to their profile where we could see all their songs. Like, i wanna see all of Wowkie Da's songs

Infinite search spinner when searching an unmatched song.

In the search section (songs,artists or podcasts), when an unmatched song (by name) is setted to search,
the searching doesn't stop and you are left with an infinite search spinner in the screen.
You can take a look on the screenshot below :
185108402_138920381554710_5213095648679638338_n

Video as mp3

Is your feature request related to a problem? Please describe.
As I want to play video as mp3 sometimes by not watching video.

Describe the solution you'd like
Please add option to view and play the video file as music.

Describe alternatives you've considered
This feature is available in Musicolet app.

Youtube as a library

I would like to have YouTube as a library for downloading and playing songs. Which would broaden the search accuracy and availability of wide variety songs and podcasts too.

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.