Giter Club home page Giter Club logo

vanilla's Introduction

Vanilla Music

Vanilla Music player is a GPLv3 licensed MP3/OGG/FLAC/PCM player for Android with the following features:

  • multiple playlist support
  • grouping by artist, album or genre
  • plain filesystem browsing
  • ReplayGain support
  • headset/Bluetooth controls
  • accelerometer/shake control
  • cover art support
  • Simple Last.fm Scrobbler support

Get it on F-Droid

Plugins

Vanilla Music also includes support for plugins, this is a list of some existing plugins:

Donations

You can donate to Vanilla Musics development via Bitcoin

Bitcoin: 1adrianERDJusC4c8whyT81zAuiENEqub

Community

Come over and join us on our subreddit /r/VanillaMusic to hangout with fellow Vanilla Music users, ask questions, or help others by answering their questions!

Contributing

Translating

You can help translate here. If your language isn't on the list, sign in to transifex and request the language to be added to the list of translations. (Feel free to open a bug if your request was not approved within a few days - i don't look into transifex that often.)

Contributing code

  • A list of open issues can be found at the issue tracker
  • Features we would like to see (but nobody started working on them yet) have the patches-welcome label attached to them. Please let us know if you start working on such an open issue (to avoid duplicate work)
  • We accept raw patches and github pull request - and we use tabs (if your editor understands .editorconfig, it will help you enforce this).

Building

To build you will need:

  • A Java compiler compatible with Java 1.8
  • The Android SDK with platform 26 installed

Building from command-line

Note: at the time of this writing, the current version of Gradle (4.5.1) is not compatible with the current version of JDK (9.0.4). To have the build succeed, use JDK version 1.8.0_162.

  • gradle build to build the APK
  • Optional: gradle installDebug to install the APK to a connected device

Building with Android Studio

You can also build with Android Studio by importing this project into it.

Building from Eclipse

You can also build from Eclipse. Create a new Android Project, choosing "Create project from exisiting source", then set the compiler compliance level to 1.6 in project settings.

Nightly Builds

Automatically created builds are available from http://android.eqmx.net/android/vanilla/VanillaMusic-nightly.apk

Documentation

Javadocs can be generated using gradle javadoc or ant doc

vanilla's People

Contributors

abika avatar abn-volk avatar adrian-bl avatar adrian-ulrich-ricardo avatar alex73 avatar beckjake avatar centic9 avatar comarch-technologies avatar dandv avatar ddv239 avatar dennisguse avatar dlbeswick avatar edontin avatar gsantner avatar jeanbaptistelab avatar jitnaught avatar jn-jones avatar kaipoethkow avatar kaned1as avatar kieranclancy avatar kreed avatar mathstuf avatar myself5 avatar netsuso avatar newhinton avatar reactorcoremeltdown avatar relan avatar stephenjsweeney avatar tobyhs avatar vertigoetrex 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

vanilla's Issues

Wishlist: ability to ignore folders or tracks

As of yet, Vanilla adds all the content of the SD card to its playlist, including ringtones and podcasts, which I wouldn't like to hear during a music session. The "Filebrowser home" has no effect on the library's behavior. Please allow the user to select which folders will be added to the library.

backgroundservice still active and power drain

With betterbatterystats in have monitored that vanilla music sometimes was still active after unplugging the headset while phone was locked like it was still playing but muted in background.

Audio scramble sounds when scrubbing

When scrubbing over a song, the audio is all jumbled and sounds awful. It seems as though Play Music doesn't seek within the stream until the scrub is finished and continues playing while the scrub is happening.

Miui V5 compatibility [lockscreen]

Hi, first off thank you for keeping this app alive it's a great app and you have done an awesome job!.

I have been using the latest Miui V5 for a while now and this app has been almost a complete replacement for the stock music app, the only problems I have found are to do with using the miui lockscreen and widgets. Vanilla works out of the box with the miui lockscreen music controls but there is no album cover art showing. Is there a way I can help you to fix this at all? I can't code or build/edit apps etc to save myself but I would really like to be able to fully replace the stock miui music app with this one.
Maybe even make the feature a part of your donate app as an added bonus would be cool.
Also Vanilla doesn't work with the stock miui music widget (but that I personally don't care about as I prefer the vanilla widgets)
screenshot_2013-05-13-16-42-59

once again thank you for your hard work! and if you can find a way to fix this minor thing it would be great and I'd love to help in any small way I can as I know Miui is not the easiest to work with.

Ray. {Samsung Galaxy S2 GT-I9100}

In WidgetD display default album art instead of transparent background when no album art is found.

Hi, wouldn't it be more aesthetically pleasing if WidgetD would display a default album art rather than simply leaving the album art transparent when there is no album art found? Half my albums don't have art, so I end up with a strange looking widget.
Not a major problem, but....still ;)

I'm not java/android programmer, but I've looked at the code and it seems like a relatively easy fix. Line 113 in WidgetD.java is where the action is happening, if you'd like to take a look.

Playlists keep going blank

Hi, first of all, thanks for the great app. Specially the ability to populate playlists by pointing to a directory and it just recursively adds all songs in subdirectories.

However, ever since I've used it, the lists every so often goes blank so I have to readd them, which isn't much problem so I hadn't submitted a bug report until now (when I accidentally deleted all my songs when pressing "Add to playlist..." and slipping my finger to "Delete").

I have my songs in the External SD card, so that might have something to do with it. But the songs stay in the same place and I rarely remove the card. I don't know how the playlist works but I imagine that this behaviour could be easily avoided.

[ and ] in names

Adding a file with [ or/and ] in it's name to the favorites (only?) fails.

Vanilla stop playing music when he met a corrupted/missing file

Hi,

Thanks to all developers of this marvelous app, I'm using it every day. But I have a problem. Sometimes vanilla can't play files, mostly because they are corrupted. Here is a good example of what I see : http://image.noelshack.com/fichiers/2013/26/1372460992-screenshot-2013-06-29-01-07-09.png
My problem is when vanilla met a corrupted file, he stop to play music, instead of going on the next music of my playlists. Can you make something that force vanilla to go to the next music when he try to read a corrupted/missing file ? That would be great.

Have a nice day :)

KaitoKito.

"Play from here" action.

Please add "Play from here" action in long tap actions list and default actions in Library Screen.

Songs listed by filename

The TITLE tag of my OGG files is being ignored and the filename is shown instead (might be a scanner issue that appeared in JB since Play Music does the same; worked fine in ICS).

Playback controls in library view

Is there a possibility to have playback controls strip while in library view? If not, would it be possible to add it with some option to switch it on/off in the future?

Btw, the player is really great.

Show album art in lists

It'd be nice to see album art on albums at least. Songs would be nice as well. (Some albums are just more distinctive by the art).

Lockscreen widget does not display Artist

The "Now playing"/music control widget on the lockscreen does not display the Artist, only the TrackName and Album (one the same line, without scrolling).

It's apparently not a problem of space, as there seems to be sufficient space above the TrackName to display the Artist.

Expected behaviour :

  • first line of the widget displays the artist
  • second line displays the track name followed by the album
  • if any of these lines is to long to fit onscreen, scroll back and forth to display it

Phone :
Samsung Nexus S I9023
CyanogenMod 10.1.3-RC2 (Android 4.2.2)

Playback sputters randomly for fractions of a second

I have often seen the issue where playback randomly sputters for a fraction of a second.

I typically use Vanilla daily during my walk back home from work for ~45 minutes. During this session, I've noticed that playback often sputters randomly.

The sputtering happens for a very short duration (from a fraction of a second to upto maybe a second), and playback resumes immediately after. It is however very distracting when it does occur.

On rare days, I'll have no sputters. Most days, i'll notice it at least 2 times during my 45min walk. Both, the number of occurrences & the time when an occurrence hits during a session, seem random to me.

I noticed that you had faced a similar issue with the original codebase:
https://github.com/kreed/vanilla/issues/76

Looking at the current code in PlaybackService.java, I see that you haven't made 'THREAD_PRIORITY_AUDIO' the default; its now using 'THREAD_PRIORITY_DEFAULT' instead of the original 'THREAD_PRIORITY_BACKGROUND'.

I was thinking of making the change to 'THREAD_PRIORITY_AUDIO', and compiling it myself, but I was wondering why you didn't make the change yourself. Did you face any issues with 'THREAD_PRIORITY_AUDIO' ?

Since this might also be buffering related, would it be possible to provide options to select the buffer size?

FYI, I'm running Vanilla v0.9.20 installed via Google Play on a rooted Samsung Galaxy S3 (GT-I9300). Its running the stock Samsung ROM XXEMA2 with Android 4.1.2 & kernel 3.0.31-836582.

Do let me know if you need any more information.

Double song listings

With my music files, I see songs listed twice. That is to say, each artist is listed once, as it should be. But if I open an artist, either (1) each album is listed twice, and the contents of both are correct, or (2) each album is listed once, but the songs in it are listed twice. It appears to be the case that when I have the whole album, (1) applies, and when I only have one song, (2) applies, but sometimes the opposite.

One obvious question is whether I have two copies of the music on my phone, but given the size of my library, there isn't enough room for a duplicate copy of the library, so ... no.

Is there some symlink somewhere that's making the program feel like the same file exists in two different places? I haven't created any, but I haven't checked to see if any were.

This problem came about when I upgraded cyanogenmod in mid November, or sometime around then. I don't clearly recall, unfortunately.

Same behavior happens every time (for example, even after a phone reset or an app defaults reset).

Version 0.9.15 on cyanogenmod 10-20121208-NIGHTLY-i9300.

Notification restyle

It would be nice to restyle the notification and make it like one in Play Music or Apollo.

apollo

Media button double click most of the time doesn't work when screen is locked

normally when i press the button on my headset the vanilla player pauses the song. when i press it two times the player switches to next song. When i lock the screen and press the button one time the song pauses. But when i press it two times, the player nearly never switches to next song. About 1 time out of 10. I think it's not a lockscreen problem as the double click works for other players as expected when the screen is locked

Library won't clear properly

My artists tab is showing a bunch of songs and albums that aren't on my phone. If I try to play any of them it says "Failed to load song. It may be corrupt or missing."

I want to clear the library so that it's only showing music that's actually on the phone. I've tried refreshing the library through the settings menu, clearing app data through my phone's settings, reinstalling the app, and none have worked.

Main status bar.

Please add ability to use main status bar at the top, because all the other controls are concentrated at the top.

Quit Player & Queued songs

Hi,

the player is really nice and works like a charm, but a menuoption to quit the player would be nice. By now its only possible to pause the song and then kill the player.

It would also be nice to have a queue button in the main player window to show the songs that are in the queue instead of pressing the menubutton and then select the queue menu entry. It would also be nice to have a possibility to rearrange the songs in the queue and to delete individual songs instead of deleting all songs after the current song.
Implementing the queue as a virtual playlist would be a good idea - this would provide the functionality.

No sort option suitable for compilation/various artists albums

Vanilla Player needs an option to sort first by album name, then by track number. Currently there is only album>track artist>track number, which is nonsensical for compilation albums with many different artists.

Other than that, I'm very happy with the app :-)

Please re-add the 'play when headset is plugged' feature

I really liked this feature in the previous versions. I set the notification to always show which kept the service running almost always, so whenever I wanted Vanilla Player to play I just plugged my headphones and it played.

Vanilla just stops playing

Hi,

I have CM10 (no taskkillers installed that i know off ;) ) and vanilla music. At least a couple of time during the day vanilla music just stops playing. No errors, no nothing. It's always half-way a song. I first thought the songs were corrupt but i can actually listen to the complete song if i forward to the next song and then backward to the then current song...

gr,S.

Suggestion/Wish Albumart

I really love the player interface and the perfect gapless playback. I only wish that the albumart that the music player uses is NOT from the thumbnails generated by the media scanner which are really low quality. When I delete the folder where they are stored, the player renders the album art correctly, until the media scanner generates new thumbnails at the next scan. A thumbnail view for the Albums view would be really nice too, but that will need to use thumbnails for faster load, and even then it will probably not be as snappy as it is right now. So if possible, maybe just force the player to NOT read the thumbnails from the media scanner. It seems to read folder.jpg directly from the files just fine.

Swipe Up/Down Action Ignores Toggle Controls Option

Possible bug. Under Settings -> Playback Screen -> Swipe Up Action (and Swipe Down Action) doesn't work when set to 'Toggle Controls'.
Just to be clear, the setting does get set, but when you swipe up or down on the playback screen, nothing happens.

start playing upon launching the app

Motivation: i would like to start vanilla Player from another app on certain events. Vanilla player then should start playing automatically. I know your app can run as a service to react on headphone connected to start playing but that is not that versatile. Thank you.

HiRes Covers

Android is stupid and seems to resize cover images.

Vanilla Music should have an option to read cover.jpg / album.jpg images from the parent directory.

Default Folder option in Settings

There should be a config option to set a default folder (-> file browsing).

Starting at /sdcard each time the user opens the filebrowser does not make much sense.

Album art improperly scaled

The art is taking maybe 60% of the height of the notification bar. Mimicking Play's notification would be superb (double height with large controls) since things are a little squished.

Album shuffle isn't random

I added ~100 songs to my phone last night and hit "All Songs" in the "Songs" tab and the queue order looks /awfully/ familiar to what it was before I added the songs (the popup said that 1200+ songs were added to the queue and there are only 1200+ songs in the queue, so it doesn't look like only the new ones were tacked onto the end of the playlist).

Easy playlist management

Multi select to add and remove albums, tracks, and artists to and from playlists would be nice. As an added bonus, listing the playlists the songs of some grouping are a part of would be nice (including a "songs not on a playlist" listing). Dedupe and sorting would be great as well.

(Feel free to split this bug; phone tapping sucks :/ ).

multitasking issue

first, amazing app, by far the best, beats every other app on simplicity, style and no lag.

only I noticed, whenever listening music, and browsing at the same time, (like clicking on report issue link in playstore) the music stops playing.

and on my htc one v, lockscreen widget doesn't show up.

device: htc one v

and. once again, amazing app.

and beware of my grammar and typos,

a happy dutchman on his phone

Use relative path in filebrowser.

I think it makes more sense to use the path in filebrowser`s status bar like this:

Classical |X Bach |X

Instead of:

storage |X emulated |X 0 |X Music |X Classical |X Bach |X

when home at /storage/emulated/0/Music

Music playback stops during notification sound

Hi there, and thanks for this awesome music player that does everything I'm looking for so far (ReplayGain, FLAC, stops when headphones are plug off, etc.) ! ;-)

However, I've noticed that if I receive a notification (text message, e-mail, etc.) during playback, the music will stop, notification sound will play, the music will resume again.

Example :
1- music plays
2- music stops
3- notification sound plays
4- music resumes where it stopped

I'm not sure if that's a desired behaviour (it makes notification sounds more audible) or a bug, but it really breaks the music enjoyment for me. What's more, when using my road navigation app (OsmAnd, of course :-) ), music playback will NOT resume after direction is spoken up.

Example :
1- music plays
2- music stops
3- "After 200m, turn right"
4- ... nothing ! I have to manually press play again.

Wishlist :

  • Keep playing during notifications
    OR
  • Lower music volume during notification. I believe the default Android 2.3 music player had such an option, and I found it pretty nifty (called "volume ducking", IIRC). :-)

Phone :
Samsung Nexus S I9023
CyanogenMod 10.1 (Android 4.2.2)

Custom tabs (with custom tag support)

I'd like to add the ability to create custom tabs. For example, a user can add a tab for the mood tag by creating an entry for the MOOD field. The user can then customize that tab's "structure", such as Mood>Songs or Mood>Artists>Songs, etc. The problem is that Android's built-in tag reader is lackluster, to say the least. Thus, I would need to integrate a third-party ID3v2 library, but I'm worried that this might create problems for the project. I'm new to GitHub, so I don't know how this all works. Forgive me if I come across as being pushy or something. I'm just enthusiastic. :-)

Small gap between songs

Between songs, there seems to be a hard break. An option to fade songs together would be nice.

Stop/Pause After Current option

Currently if you want to stop playing after the current song, you have two options: Clear the queue or be ready to hit pause when it finishes.

A "stop after current" option would be very useful here. Obviously it should also be available as a gesture.

Navigating with filtering is weird

When selecting the arrow on an album or artist, back needs to be hit twice to return to an unfiltered list again. Maybe an "X" or something to clear the filter can be done?

Add audiobook features

There is no open source player dedicated for audiobook as of yet.
Vanilla player could easily double up as a audiobook player.
Audiobook players are essentially no different from music players except they have the following features, which can be provided and enabled via the settings menu.

1] Button in the playback interface to enable a 15 second quick-rewind
2] Checkbox to remember last folder/playlist , playlist position and playback position on app close.
3] Checkbox for automatic start play
4] Checkbox to auto quick-rewind 15 seconds on automatic start play.
5] With availability of NFC tags and phones that support NFC tags, one feels the need to toggle the state of an audiobook player via a widget, NFC tag or via a smart action based on other profile or proximity detection.
6] Usually audiobooks are stored as sound files for book chapters under a single folder, recognizing the playing order from filename, tracknumber is nice, and can save time over listening to several books. However, books once listened to are usually not listened-to again and would be deleted, and so a means to not commit permanently into media index. A good playlist editor can allow a user to sequence the chapters in the right listening order.
7] fetching book information is nice but not essential.
8] A book listening history is also nice but not essential

Currently Vanilla music player 0.9.23

  • opens the last file played.
  • Files in a folder can be enqueued
  • only files later than current position in queue can be cleared
  • current queue cannot be edited.
  • does not automatically start playing
  • when play is pressed a file (current position in queue) is played from its start

An open-source app called mort player is advertised. Its source however seems to be not available.

Some player apps come in both a audiobook version and music version. Though they are basically the same player, they can be installed as separate apps. The apps have different default settings set conveniently to listen to music or books.

persistent service

It would be nice to have a persistent service (= seperate app) to launch vanilla if the headphones are plugged in.

After this we could remove the 'shaky' headphone-detection feature in vanillamusic itself.

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.