Git Product home page Git Product logo

thecodrr / breadplayer Goto Github PK

View Code? Open in Web Editor NEW
298.0 27.0 82.0 15.89 MB

Bread Player, a free and open source music player powered by UWP and C#/.NET with a sleek and polished design built for, and by, the people seeking a better alternative to Groove and Windows Media Player by Microsoft.

Home Page: https://theweavrs.github.io/BreadPlayer/

License: GNU General Public License v3.0

C# 98.55% Batchfile 0.30% Smalltalk 1.07% PowerShell 0.07%
beta uwp music-player under-dev bread-player groove csharp windows-10 windows-phone last-fm

breadplayer's Introduction

Get it from Windows Store!

Bread Player aka Macalifa

Bread Player, a free and open source music player powered by UWP and C#/.NET with a sleek and polished design built for, and by, the people seeking a better alternative to Groove and Windows Media Player by Microsoft.

Gitter Build Suggestions Social Help us translate!
Join the chat at https://gitter.im/BreadPlayer/Lobby beta suggestions here Facebook Guide here!
build-status ui related issues
Nightly-Builds

Current Status:

Beta version has been released and development on the second Beta has started! You can download the nightly build from here to check out the new features!

Found a bug? Report it here on github (recommended) or email me here.

Beta Preview (Video Coming Soon):

Main Features:

  1. Flawlessly plays all major formats (mp3, wav, flac, ogg, aiff etc.)!
  2. Full functional music library with sorting, filtering, search etc.
  3. Amazing performance i.e. ability to import 12000 songs in 120s with complete tags and album arts.
  4. Playlist import (.m3u, .pls etc). (Export coming very soon.)
  5. Other basic music player capabilities such as repeat, shuffle etc.
  6. Pickup where you left off.
  7. Loading songs from Windows Explorer
  8. Drag/Drop songs directly into library.
  9. Equalizer/Effects
  10. Most Played, Recently Added, Favorites and Now Playing section
  11. Prevent screen from locking.
  12. Stop playing after this song. (thanks to vsarunov)
  13. Private Playlists
  14. Ability to relocate (change location) of a song.
  15. Fade in/out when changing the song.
  16. Last.fm Scrobbling.
  17. Manual adding of Album arts
  18. A preview for previous song just like for next song. (thanks to vsarunov)
  19. A notification for upcoming song when the position reaches last 15-10 seconds.
  20. All songs

What Happens Next?

Development on Second Beta version has started.

Second-Beta Feature List (Coming Soon):

  • 1. ExploreView (will include recommendation, song streaming, SoundCloud, Spotify etc.)
  • 2. NowPlayingView (will show what's playing and the nowplaying queue
  • 3. Windows, Linux & Mac App (Alpha)

Note: All of these features might not reach the next Beta and some might be postponed due to obvious reasons. Any help regarding these features including testing, research, code contribution, will be highly appreciated.

Libraries used:

  1. C#/.NET
  2. UWP API (Windows Aniversary Edition 10.0; Build 14393)
  3. BASS & ManagedBass (for audio processing)
  4. LiteDB (for library managment)
  5. Taglib#
  6. DBreeze
  7. ColorThief
  8. IF.Last.fm

Contributors:

Thanks to these awesome people Project Bread has come this far:

  1. Danny @DannyTalent
  2. @Bond-009
  3. @MightyK1337
  4. Kai Hildebrandt @hildebrandt87
  5. Vladislav Sarunov @vsarunov

Note: I am not an expert developer and as a result the code-base isn't as professional as it could be. Hence, I will highly appreciate any contribution in any field regarding this project. All suggestions and issue reporting are welcome.

Build Notes:

  1. Make sure you have the necessary tools for building Windows Universal Apps.
  2. Clone this repo: git clone https://github.com/theweavrs/BreadPlayer/
  3. Run msbuild.cmd in scripts folder.
  4. Enjoy!

If you encounter any error during installation or building please follow this guide in the wiki.

Help us translate Bread Player

If you would like to translate Bread Player into your language, please follow the guide here

breadplayer's People

Contributors

ahmed-abdelrazek avatar bond-009 avatar joshgoolnik avatar rabtiw avatar skilb avatar stamlercas avatar ududsha avatar vsarunov avatar wangfu91 avatar wobbince 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

breadplayer's Issues

Next crashes the app

#51 isn't really fixed, it's better now but sometimes it crashes the app
ex: press +-5 times next and it crashes

Make breadplayer use the windows audio controls, especially on mobile

Using windows audio controls, we can change the song anywhere, especially on the lockscreen without opening the app. currently we need to go to bread player to change the song. Also, we get overlapping songs, when songs are played on a different player, when bread player is also running.

Seek bar not working properly

When playing a song and clicking on another area of the seek bar, the audio jumps a bit, but doesn't work as intended.

What it does: Small jump in audio, and then goes back to the same place
What it should do: Jump to a certain time in the song, where the mouse is clicking

PC, Mobile doesn't work either but there isn't a jump

Music stops when minimized

The music stops playing when the app is minimized.
(if this is a feature please make it an option ;) )

2 songs playing at the same time

On mobile, I double clicked a song to play, but then clicked another one and now there's the first song playing in the background, as well as the second one. I can pause/change the second one, but the first one just keeps on playing.

EDIT: Stopped playing after it finished

Database engine to be changed

The current database engine is excruciatingly slow. Maybe another Database engine would do better, must be a NOSQL though.

Possible replacements:

1- RaptorDB (very fast but not for UWP. Maybe it will be ported soon.)

All suggestions/requests here.

As this project is open source and for the people, let's make it by the people too! Any suggestions and requests are welcome. By any I mean any; you can request a berry on top of the bread! Anything.

Unique ideas that don't sound good in your head are especially welcome here. Let us fill this issue with suggestions and requests!

List of suggestions already given by the people:

  • 1. Display Up Next on shuffle. (Basic support added)
  • 2. DLNA Support. (Basically casting).
  • 3. Xbox One & Android Support.
  • 4. FM Radio.
  • 5. Live Tile
  • 6. Equalizer/Effects
  • 7. Folder Navigation
  • 8. Last.fm Scrobbling.
  • 10. Manual adding of Album arts
  • 11. Most Played and Recently Added and Now Playing section
  • 12. Database resetting support Fully supported
  • 13. Favorites List
  • 14. Gapless Playback
  • 15. Prevent screen from locking.
  • 16. Stop playing after this song.
  • 17. Syncing across devices (Pick up where you left off on the PC),
  • 18. Sub-sorting for albums and artists.
  • 19. Replay Gain
  • 20. Silence Skipping in a song.
  • 21. .lrc lyrics (Synchronized lyrics)
  • 22. Custom background (in all regions)
  • 23. Deep ID3 tag reading
  • 24. Ability to hide a specific folder and its songs.
  • 25. Private Playlists
  • 26. Party Mode (Probably with a nice UI)
  • 27. Remote Control support (Using Phone to control Bread on PC)
  • 28. Continuum Support. (Basic support is of course already there but many things need to be changed.)
  • 29. Ability to relocate (change location) of a song.
  • 30. Auto play on connecting headphones.
  • 31. Compact Player Mode (Only PCs).
  • 32. Reencode for target device (Your library is flac, but your player doesn't have that much room)
  • 33. Volume normalization
  • 34. Fade in/out when changing the song.
  • 35. Custom track formatting. (Prefix the file name with the track number like 001, etc) Bulk formatting would be amazing.
  • 36. Transparent Tiles.
  • 37. Customization for columns. (Show/Hide additional columns if so desired.)
  • 38. Spectral Frequency Diagram.
  • 39. Smart Playlists. (Calculate songs ratings and play count and according to that make a playlist based on genre.)
  • 40. Play queue. ( A list of songs to play before the next upcoming song.)
  • 41. OPUS Codec Support.
  • 42. Show artist and album sorting in grids (like in album view)
  • 43. Download Playlists to MP3 Players and other removable devices like USB etc.

Come on people! There are a thousand more to go!

Long live Bread!

Clean up code.

Macalifa.Tags.ID3 needs some thorough clean-up, there are many tags that are unnecessary. Aside from that the Extensions folder has more than needed extensions. Probably duplicates. Then the PlaySong method is duplicated many times. I need to address that too.
There are probably many other code blocks that need optimization.

  • Macalifa.Tags.ID3
  • ShellViewModel
  • Play method
  • Extensions

Sort settings not saving on player close

What happens now: Sort settings are not saved on close and player library is resetted every time.

What should happen: Sort settings should be saved and loaded.

Add version info

There is no version info currently. This seriously needs to be acknowledged very soon.

UI related issues and suggestions

Both PC (when the player window is small) and mobile, the transparent hamburger menu makes it so that it's hard to read the options
image

It's even more noticeable on mobile, however
wp_ss_20161027_0002

Songs not stopping automatically when they should

This is mobile only. There's 2 things that come with this bug:

  1. When playing a file on BP and then trying to play another one on, for example, Groove, or playing a game which normally stops music, the music doesn't stop. Consequently, the songs overlap.
  2. When this happens, SMTC only shows info for the new song (the one playing on Groove) or none at all (for example, after playing a video) and then the song must be paused or BP manually closed (which by the way stops playback, not sure if this is intended)

Album view not loading

After 1.6.0, albums aren't loading... Library load time is excellent, album cover load time is pretty slow however, and once it's done, it won't show up. Tried closing and reopening the app, to no success

Crash after creation of playlists

After about 5 (maybe 6, at most) playlists are very slow to create, for the seventh I used Japanese characters and the app crashed, now it crashes every time I load it... Not sure if it's the number of playlists or the characters (both in name and description)... When opened, the app shows 0 playlists, when you click on the (➕ ) it shows a blank menu (no options) after a few seconds, it becomes unresponsive or crashes

Tried using emoji as names, works fine.

Improve shuffling

Currently the shuffling isn't as efficient as it could be. A little improvement is needed here and there.

Music library not loading at all

I uninstalled 0.1.4 and installed 0.1.5 and well... Nothing's loading now, at first it showed 0 songs loaded 0 seconds or something like that, but now "Nothing baking".

I tried drag and drop but it crashed the app...
Tried to reproduce this on mobile and it seems it isn't loading anything there either.

Bug hunting/fixing!

Bread Player is now in freeze! Bug hunting has started!
Want to help hunt bugs? Feel free to pick the .appxbundle from here!

Looking forward to an awesome bug hunting session!

Not all songs being loaded.

What happens: If you load 1000 songs, some songs are not loaded.

What should happen: All songs should load into library.

Remarks: I think this is a problem with file access permissions but I could be wrong.

@DannyTalent @Bond-009 Can you please try and reproduce this?

Black window after minimize

If you minimize the app for a long time while there is no song playing and open it again BreadPlayer is just black.

AlphaList: Features-To-Be-Added

This is the list of all the features that are added and/or yet to be added before first Alpha release.

  • Improve shuffle
  • Implement History/Recent View
  • Playlist creation, import, export and adding songs to playlists.
  • Album View for Library.
  • Play song directly when passed as an argument (From Windows Explorer etc.).
  • Drag & Drop support.
  • Sorting, filtering, search etc.
  • Full library support and features.
  • Implement SettingsView for main features.
  • Show song's properties (ID3 Info).
  • Implement basic player functions.
  • Save CurrentlyPlayingSong and info before ApplicationExit.
  • Support for Windows 10 Mobile

Seperate BreadPlayer.Core and BreadPlayer.Views

Seperating BreadPlayer.Core as a PCL and BreadPlayer.Views.UWP would make more sense if we want to work with Xamarin and Mono later on.

This is relatively easy but time consuming, so any contribution regarding this is highly appreciated.

BreadPlayer installation failed

Reason:
"Either you need a new certificate installed for this app package, or you need a new app package with trusted certificates. Your system administrator or the app developer can help. A certificate chain processed, but terminated in a root certificate which isn't trusted (0x800B0109)"
error

An icon (was made) but all suggestions welcome!

Something with an M will suffice. Any person with any experience in designing is welcome to contribute.

The new Icon was made with the suggestion of the new name and so this issue no longer remains but please note that any new ideas or contribution is always welcome. This is not to discourage or disappoint but only to inform.

Note:
If you do not like the new icon or have any new suggestions or just want to share ideas, please do not hesitate to email me or open a new issue. Your contribution will always be met with appreciation and applause.

Audio cuts and jumps on Mobile

(Optimization?) Lumia 735, experiencing audio cuts and sometimes quick jumps, frequently. The phone doesn't have many apps opened, no more than normal.

Happens both with the app on screen (happens just as much) and background

Next button doesn't work

After you fixed #50 next doesn't work anymore.
Pressing the play button of a song doesn't work either. => line 397 of LibraryViewModel.cs
TracksCollection.Elements.FirstOrDefault(t => t.Path == Player.CurrentlyPlayingFile.Path).State = PlayerState.Playing;

Crash after deleting a song added via drag and drop

Add a file via drag and drop to the music libary. After that, play it for a few second and then delet it again. The player will break up instantly.
Tested on two systems (windows 10 Pro and Home) Latest updates installed..

"0 songs" album, also crashing the app

I have a song I ripped from YouTube, and did the ID3 myself. The player shows the album name, artist name, but shows 0 songs · 0.0 Minutes. When I try to play it, the application crashes.

It probably has to do with the handling of foreign characters, the filename is "∆$†ɌῗØ - CɌY$†∆Ɫ ШЄЄD (ØЯỊ₲ỊИ∆Ɫ MỊX).mp3"

*_What it does: *_Application crashes
*_What it should do: *_Throw error, or play the song

PC and Mobile

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.