gateship-one / odyssey

Odyssey music player
GNU General Public License v3.0
235 stars 40 forks source link

More feature requests #4

Closed ghost closed 8 years ago

ghost commented 8 years ago

Hello there,

there are many music players on FDroid, but this is one of the few which fit my needs. I have a LOT of music on my device (50G+) and want to have quick access to all the albums without VLC scanning the whole internal storage every time I open the app. I have a few feature requests:

1) Dark / bright color theme selection

Self-explaning I think

2) Manual media scan

I copy my music via SSH as a 7z archive and unpack them with Termux (a terminal emulator). Unfortunately the android media database does not recognize the music files, because the media scanner is not run. This leaves me no other option than using VLC, which has an own media database. It would be great to have a button to rescan a specified directory (you'd have to go through the directory and subdirectiories and submit the files for scan) Like this: http://stackoverflow.com/questions/31685587/trigger-the-rescan-of-mediastore-programatically

3) Nice to have: Display album cover in the notification

Other music players use the album cover as notification Like this: http://stackoverflow.com/questions/9252364/album-cover-as-notification

4) Nice to have: mpd integration

Edit: I just saw that you have an mpd client. Disclaimer: I know this would require big changes to the app and probably is not what you want. Mpd is a very well-engineered software which works with a astronomically large library. Max Kellermann has already ported the daemon to android. It would be an interesting approach to integrate the mpd server into the app so that you can remote control the music, and change the UI to be an mpd client usable with other servers. https://github.com/MaxKellermann/MPD https://play.google.com/store/apps/details?id=org.musicpd

Greetings from Cologne

djselbeck commented 8 years ago

Hi, thanks for your time.

Bright theme: We'll think about this.

Rescan: I don't know if this is a feasible solution because we work with large libraries as well (20000+ files). We will evaluate this with our 200gb microsd. If the scan triggering for the files is done in reasonable time we'll add this :).

Album covers are shown in the notification? There is even a screenshot of it in google play. For now it only use the ones provided by android but we have an artwork branch (currently in testing on our devices) that fetches artwork (artist/album) images from last.fm,musicbrainz,fanart.tv.

Good that you saw MALP ;) So this is actually more of an MALP issue. I don't know if I would include MPD in MALP itself because I do not want to maintain the MPD binary myself to be honest. One thing that should be possible is to maybe talk to the authors of MPD for android and ask them about a public interface to start MPD.

ghost commented 8 years ago

The bright theme thing goes for MALP as well of course. I think the indigo theme highlight color is not very visible on the dark bg.

Rescan: I didn't ask for a rescan on every start, but for an option in the settings menu. It might take a long time but that's better than music not showing up at all (in my opinion).

Album covers: The album has a cover (and VLC displays it without querying an online database), but I had to play the file from the "Files" tab, so android didn't provide the album cover.

I don't know how large the code base for odyssey music backend is, but I think it would save time to just use mpd as backend.

djselbeck commented 8 years ago

Yes I mean a manually triggered scan but we'll test it.

If covers are missing this could be because Androids medialibraryprovider did not scan it yet or it has problems reading the tags correctly (happens for us sometime).

The code base size is quite reasonable but if we would use MPD as the backend it would just (de)grade to MALP in the long run because we would have to query MPDs database, control its volume and its playback. It is all that which MALP currently does.

If i'm not completely mistaken (so correct me if I'm wrong) you ask for an local player with MPD as a backend. So basically MPD connected to localhost and MPD running on android this should already be possible with MALP and MPD for android, but not as comfortably perhaps because you would have to start MPD manually.

ghost commented 8 years ago

Yeah, so if you would integrate MPD into MALP, that would provide the same functionality as Odyssey with less code to maintain.

djselbeck commented 8 years ago

issue #10 and #11 are the splitted issue.

Issue 3) should be irrelevant now as it is implemented.