BreadPlayer icon indicating copy to clipboard operation
BreadPlayer copied to clipboard

All suggestions/requests here.

Open thecodrr opened this issue 9 years ago • 65 comments

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:

  • [x] 1. Display Up Next on shuffle. (Basic support added)
  • [x] 2. DLNA Support. (Basically casting).
  • [ ] 3. Xbox One & Android Support.
  • [ ] 4. FM Radio.
  • [x] 5. Live Tile
  • [x] 6. Equalizer/Effects
  • [x] 7. Folder Navigation
  • [x] 8. Last.fm Scrobbling.
  • [x] 10. Manual adding of Album arts
  • [x] 11. Most Played and Recently Added and Now Playing section
  • [x] 12. Database resetting support Fully supported
  • [x] 13. Favorites List
  • [ ] 14. Gapless Playback
  • [x] 15. Prevent screen from locking.
  • [x] 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.
  • [x] 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.
  • [x] 25. Private Playlists
  • [ ] 26. Party Mode (Probably with a nice UI)
  • [ ] 27. Remote Control support (Using Phone to control Bread on PC)
  • [x] 28. Continuum Support. (Basic support is of course already there but many things need to be changed.)
  • [x] 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
  • [x] 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.
  • [x] 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!

thecodrr avatar Oct 25 '16 22:10 thecodrr

What about lyrics (embedded/.lrc/ online database) support? :DDD I remember my symbian had it and Windows never delivered any support ever :(

DannyAcosta710 avatar Oct 26 '16 11:10 DannyAcosta710

@DannyTalent the only problem is that there aren't any .lrc databases available and the only ones that are available have websites in Chinese and no API :D Its a very beautiful idea, I myself wanted something like this.

thecodrr avatar Oct 26 '16 11:10 thecodrr

@theweavrs Hmmm what about viewlyrics.com ? There's a github project https://github.com/PedroHLC/ViewLyricsOpenSearcher that could perhaps be of use...

But also maybe it could read independent .lrc files or mrv embedded in the mp3? MusiXmatch also offers API support afaik...

DannyAcosta710 avatar Oct 26 '16 12:10 DannyAcosta710

MusiXmatch has an API, I will have to try it though. The site says they have synced lyrics, so this is a nice discovery.

thecodrr avatar Oct 26 '16 12:10 thecodrr

@DannyTalent Viewlyrics.com doesn't show lyrics at all. Gives a constant error "Failed to read lyrics content, please contact us to report this issue.". You try and tell.

thecodrr avatar Oct 26 '16 12:10 thecodrr

@theweavrs Yeah I just noticed, no luck... And I think musiXmatch charges money for that... LyricFind also offers API, and I found this article http://www.programmableweb.com/category/lyrics/api I'd love to help you but I'm just now getting familiarized with C#

DannyAcosta710 avatar Oct 26 '16 12:10 DannyAcosta710

What about being able to choose the background of the app?

Bond-009 avatar Oct 26 '16 15:10 Bond-009

@Bond-009 What do you mean?

thecodrr avatar Oct 26 '16 15:10 thecodrr

Now you see the cover under the list of songs but if you would be able to toggle it so it shows a costum image as background (also under the buttons) like this music player: example

Bond-009 avatar Oct 26 '16 16:10 Bond-009

@Bond-009 I have added this into the suggestion list, it's certainly a cool feature. More customizability never hurts. If you have any other suggestions, please feel free to share!

thecodrr avatar Oct 26 '16 17:10 thecodrr

opinion

@DannyTalent @Bond-009 Opinions? Is this better or was the previous one better?

thecodrr avatar Oct 27 '16 14:10 thecodrr

I think the previous one was better, I imagine that closing the hamburger would make it smaller though? If it does, then yeah this one might work better

DannyAcosta710 avatar Oct 27 '16 17:10 DannyAcosta710

I think that a play all button for your whole library would be nice.

Bond-009 avatar Oct 31 '16 10:10 Bond-009

@Bond-009 Can you explain a bit?

Side question: Do you have a windows phone?

thecodrr avatar Oct 31 '16 16:10 thecodrr

@theweavrs There is a play all button in the playlists but not for the whole music library

Yes I have a windows phone (8.1)

Bond-009 avatar Nov 01 '16 08:11 Bond-009

Maybe an option to resume a song when you plug in your headphones (if the song is paused, of course) like foobar's

DannyAcosta710 avatar Nov 16 '16 02:11 DannyAcosta710

@DannyTalent Can you explain a bit? I don't quite get what you mean.

thecodrr avatar Nov 16 '16 03:11 thecodrr

@theweavrs Let's say your phone is playing on loudspeaker, but then you pause for a second maybe because you're playing a game and want to hear the sounds of the game app.

And then, you plug in your headphones, and the app will continue the song by itself

DannyAcosta710 avatar Nov 16 '16 03:11 DannyAcosta710

@DannyTalent I will research and see if this is possible. If there is an event to know that something connected...then it is certainly possible.

thecodrr avatar Nov 16 '16 03:11 thecodrr

Yeah man I mean it has to be lol, foobar does it as an advanced option

I find this especially helpful for me because my headphone jack has been starting to fail (this phone is a bit old) and sometimes doesn't recognize my headphones or stops detecting them in certain positions... Which makes music stop on most players

DannyAcosta710 avatar Nov 16 '16 05:11 DannyAcosta710

@DannyTalent Would it be cool if it happened on PCs too?

thecodrr avatar Nov 16 '16 06:11 thecodrr

Probably, as an option.. I don't really listen to music on pc all that much so I don't really know :/

DannyAcosta710 avatar Nov 16 '16 10:11 DannyAcosta710

@DannyTalent It is certainly possible to implement this behaviour. Basically, when the headphones are plugged in the music will automatically start and when they are plugged out, it will stop.

thecodrr avatar Nov 16 '16 10:11 thecodrr

The music stopping is regular behavior I believe, but yeah it's an added plus

DannyAcosta710 avatar Nov 16 '16 10:11 DannyAcosta710

Excellent!

thecodrr avatar Nov 16 '16 10:11 thecodrr

Will you make it a setting, so you can disable it?

Bond-009 avatar Nov 16 '16 11:11 Bond-009

@Bond-009 You mean a setting for "auto play when headphone is connected"?

thecodrr avatar Nov 16 '16 11:11 thecodrr

@theweavrs Yes

Bond-009 avatar Nov 16 '16 13:11 Bond-009

@DannyTalent @Bond-009 How about a compact mode on PCs? Something like VLC when you reduced the height to minimum, perhaps.

thecodrr avatar Dec 02 '16 05:12 thecodrr

@theweavrs That would be a nice feature.

Bond-009 avatar Dec 02 '16 15:12 Bond-009

suggestion: Adding multiple songs to a playlist at once (and maybe an add the whole library to playlist button)

matjojo avatar Jan 17 '17 09:01 matjojo

suggestion: play queue, a short playlist that you can add songs to that will play before the regular next song (can be the same feature as play next)

EDIT: queue

matjojo avatar Jan 17 '17 11:01 matjojo

I want an option for different column items.

For example, I want to remove title and album from the columns, instead I want to show the file name and codec. Something like that. It would be awesome to have such an option to change the column information.

cdytoby avatar Feb 14 '17 14:02 cdytoby

And possible for generate Spectral Frequency diagram for music in UWP? like this: http://i.stack.imgur.com/pXIap.png

cdytoby avatar Feb 14 '17 14:02 cdytoby

@cdytoby I added your suggestions to the suggestions list, thank you so much. As for custom columns, they are planned in future releases so you can be sure that they are definitely coming. The spectral frequency diagram, on the other hand, is a bit complicated as UWP is devoid of any good in-built WPF-like drawing library. Of course, we have Win2D and I was able to draw a WaveForm with it. See the result here. Its pretty lousy but awesome for a start :)

thecodrr avatar Feb 16 '17 00:02 thecodrr

Please add support for the Opus codec (and the .opus file extension, which is actually the Ogg container). BASS already has a plugin for Opus.

valpackett avatar Apr 08 '17 11:04 valpackett

@myfreeweb Yes, you are quite right about that but it hasn't been ported to Windows Store yet but I will try the other one and see if it works. I am adding this to the suggestions list, thanks a lot. Keep tuned.

thecodrr avatar Apr 08 '17 11:04 thecodrr

I've always hated iTunes, but they had a couple of nice features: For every song, you could set a separate start and endpoint for when it is played in shuffle (e.g to get rid of the album intro/outro to next song), or disable shuffling entirely. I plan to fork the branch and get to work on this, but how should we store this data? Any ideas?

charliefoxtwo avatar Jul 25 '17 12:07 charliefoxtwo

@CharlieFoxTwo Storing this data is really really easy. In BreadPlayer.Core project, there is a Mediafile.cs model. Create the properties to hold data there. They will automatically get saved into the database. Next comes actually setting the values for StartPoint & EndPoint. Any ideas?

thecodrr avatar Jul 25 '17 12:07 thecodrr

@theweavrs I'm not familiar with any of the APIs, but I assume we have the ability to start a song from whatever time stamp we want, right? We can just present a slider on the properties dialog of the song that allows the user to select start and end point. In order to stop at the end, we would probably need a function like Song.Play(int start, int duration);

The ability to fade in and out at the start/end of songs via a checkbox would also be beneficial.

charliefoxtwo avatar Jul 25 '17 12:07 charliefoxtwo

@CharlieFoxTwo Fade in/out is already there and the Song.Play(int start, int duration) like function is also there.

thecodrr avatar Jul 25 '17 13:07 thecodrr

@theweavrs Running into issues implementing the skip on shuffle. Since you can't create playlists currently, the only way for me to test is to reset my library and import an album as my library. However, for a 12 track library, I noticed severe problems with the track selection and playback - it will play a few songs, before getting stuck on one. Trying to skip forward or backward only pauses the current song. In other cases when on shuffle, it will skip between the same few songs. I also observed this behavior when sorting by artist or genre. I wanted to see if anyone else could confirm before I filed it as a bug though, just in case I somehow really messed something up on my fork.

charliefoxtwo avatar Jul 26 '17 01:07 charliefoxtwo

@CharlieFoxTwo I am fixing the playlist feature, will push a commit today. The current library backend is really, really buggy and duct-taped. I plan on fixing all these issues, including #155. A much-needed clean-up of the code will also take place very soon. So, hopefully, these issues will be fixed.

thecodrr avatar Jul 26 '17 09:07 thecodrr

@CharlieFoxTwo Can you please send me your log file? I would like to see all the error details.

thecodrr avatar Jul 26 '17 09:07 thecodrr

@theweavrs I'll see if it has anything when I get home. Great to see so many issues closed today. Do you have an estimate as to when the new build might be out? I'd like to rebase onto it before continuing with the skip on shuffle implementation.

charliefoxtwo avatar Jul 26 '17 23:07 charliefoxtwo

@CharlieFoxTwo 1-2 days probably but could be more or less. Basically, this release will be focused on bug-fixes so I am not adding anything big, so yeah 1-2 days probably and the new release will be out and about.

thecodrr avatar Jul 27 '17 00:07 thecodrr

@theweavrs here is my log file

Log.txt

charliefoxtwo avatar Jul 27 '17 02:07 charliefoxtwo

@CharlieFoxTwo I fixed all the exceptions in the Log file already. Thanks anyway 😄

thecodrr avatar Jul 27 '17 03:07 thecodrr

@charliefoxtwo I have released the new version. You can continue with the skip on shuffle.

thecodrr avatar Jul 31 '17 05:07 thecodrr

@theweavrs sweet! Will do.

charliefoxtwo avatar Jul 31 '17 11:07 charliefoxtwo

@charliefoxtwo What news? Are you any closer to a basic implementation of the feature?

thecodrr avatar Aug 03 '17 13:08 thecodrr

@theweavrs Haven't been able to work on it much this week. Started on it last weekend. Logic is implemented, just need to handle the UI and property binding. Was working on it last weekend (and I swear I had it working before I rebased...), and I'll get back to work on it this weekend for sure.

charliefoxtwo avatar Aug 03 '17 20:08 charliefoxtwo

@charliefoxtwo Okay, no problem. If you are having any problem or if there are any other bugs you find, feel free to report.

Also, you should open a pull request for the feature, it will organize things more and you will find it easier to contribute further.

thanks

thecodrr avatar Aug 04 '17 05:08 thecodrr

@theweavrs got some time to work on the Skip on Shuffle today. The property seems to not be persisting between each run of the application. Am I missing something?

private bool _skipOnShuffle;
public bool SkipOnShuffle { get => _skipOnShuffle; set => Set(ref _skipOnShuffle, value); }

I also reworked the shuffle method to check for the skip on shuffle option, which seems to be working. However, in line with my latest bug report, I think we should consider rebuilding the way the shuffle method works. I can try to tackle it, but I don't know how many little intricacies there are.

I also seem to be having an issue where songs aren't playing unless I manually click the play button in the bottom bar every time. Not sure what's going on there... I pulled a fresh version of the code from Github and it doesn't have that issue, but I'm not sure how I possibly could have messed that up.

charliefoxtwo avatar Aug 05 '17 18:08 charliefoxtwo

@charliefoxtwo Sorry for the late response. I was having some internet issues.

About the persistence issue, yes that is expected. Basically, you have to call Database.Update() like function so that it may know that the value has updated. Look at this example:

await BreadDispatcher.InvokeAsync(async () =>
            {
                if (TracksCollection.Elements.Any(t => t.Path == lastPlayingSong.Path))
                {
                    lastPlayingSong.PlayCount++;
                    lastPlayingSong.LastPlayed = DateTime.Now.ToString(CultureInfo.CurrentCulture);
                    TracksCollection.Elements.First(T => T.Path == lastPlayingSong.Path).PlayCount++;
                    TracksCollection.Elements.First(T => T.Path == lastPlayingSong.Path).LastPlayed = DateTime.Now.ToString();
                    await _service.UpdateMediafile(lastPlayingSong); //this needs to be called
                }
                await ScrobblePlayingSong(lastPlayingSong);                
            });

This example code is used in saving the PlayCount and LastPlayed properties of the song that is ending. Which are further used in Recently Played and MostPlayed Lists. You will need to do something similar so that the Database knows that which file has updated and update that file.

I will talk about the shuffle on the new issue.

That issue #163 has been resolved. 😄 It wasn't your fault but a mistake on my end.

thecodrr avatar Aug 06 '17 13:08 thecodrr

Hi, I don't really know what you use to show the user's library, but I think you use ListView to show all the user's music and ListView and SemanticZoom when grouping them based on artists. Can you please add the option so that the user's library when grouping them based on artists or albums would be displayed as grids instead of lists.

ErwinSuwito avatar Aug 26 '17 05:08 ErwinSuwito

@ErwinSuwito I will add your suggestion to the suggestion list. What you are asking is possible but will take quite a rework so there will be sometime before you actually see it in production. Thanks for the suggestion.

thecodrr avatar Aug 26 '17 05:08 thecodrr

Hi, how about streaming music from Media Servers. It seems a lot of touch screen friendly music player apps lack built in functionality to do so.

thewan056 avatar Sep 25 '17 14:09 thewan056

@thewan056 I think DLNA (# 2 suggestion) covers that or is Media Server Streaming different?

thecodrr avatar Sep 25 '17 16:09 thecodrr

@theweavrs not necessarily. Some media players have DLNA servers, but lack the ability to stream from them. Having both would be a huge plus, but as there are many capable DLNA servers, I suggest prioritizing DLNA streaming over serving. That's just me though, as I want a touch-friendly music player with streaming from DLNA but I can't seem to find a nice player to do so.

thewan056 avatar Sep 25 '17 17:09 thewan056

@thewan056 DLNA and other devices is my first priority after I release v2.7.0. I already have done a basic device implementation but its not anything big. What I really want is Bread Player to detect Mobile and Media devices and then Sync and stream music from them. It will be a challenging task but I am looking forward to it.

thecodrr avatar Sep 26 '17 13:09 thecodrr

What about an ability to download playlists to an MP3 player or USB thumbdrive?

MilkmanDan avatar Oct 14 '17 05:10 MilkmanDan

Ability to use this player on Chrome via Chromebook would be nice.

MilkmanDan avatar Oct 14 '17 05:10 MilkmanDan

@MilkmanDan Chrome Apps are JavaScript based and I don't think they can handle C# or any other such language officially.

As for your first request, Internet Capabilities are being implemented gradually. You will see a lot of improvements in the next versions. In the meantime, I will add your suggestion to the list.

thecodrr avatar Oct 14 '17 05:10 thecodrr

Does this support AIFF-C (.aifc) files?

JunielKatarn avatar Aug 07 '18 22:08 JunielKatarn