Vanilla Music player is a MP3/OGG/FLAC/PCM player for Android

Related tags

Video/Audio vanilla
Overview

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

Comments
  • Improve playlists import

    Improve playlists import

    • Vanilla Music Version : 1.0.53
    • Android Version: 4.4.4
    • Phone vendor / model: Samsung Galaxy S5 Plus SM-G901F
    • Application was downloaded from :
      • [x] Play Store
      • [x] F-Droid
      • [x] Other (Nightly Build)
    • Did this work in a previous version?
      • [ ] Yes
      • [x] No
      • [ ] NA / Don't know.

    Description

    I wrote an answer to the FAQ question "Why does my playlists keep disappearing ?" after some experimentations, which is the following :

    The deletion of entries inside playlists can happens when SD Card is unmounted while the device is turned on. Make sure to turn it off before removing your SD Card.

    Among your playlists, you can only restore system playlists by deleting your empty playlists and re-scan your library with "Flush media database" option activated.

    If you have too much playlists to delete and your device is rooted you can go to root/data/data/ch.blinkenlights.android.vanilla/databases/ with a file explorer and delete media-library.db file before flushing the database in Vanilla, every playlists will then reappear.

    It shows something that should IMO be improved : when playlists are deleted its hard to re-add their content since we have to delete each and every playlist with a long press, and then flush the media library. I felt that I had to provide the little root trick to not only give a hard solution.

    And an important other thing : even if its not about deletion, if I add some new songs to a system playlist (e.g in stock music player) and I want them to appear in Vanilla, I have to delete the concerned system playlist in Vanilla and re-add it by flushing library :/

    So why not add a new box under flush media library, named for example "refresh system playlists" or "re-import system playlists" or even "delete all playlists" or whatever but the idea is that it will delete the system playlists entries from the .db file (and ignore vanilla's internal playlists in preference) and re-import system playlists so that if they are deleted, we could quickly restore them, and if they are updated (by adding new songs into them with a stock player for example), we could refresh them.

    I've experience a lot of playlists deletion since I use Vanilla and I imagine I'm not alone, so it would be cool if it's not a big deal anymore. And update our playlists easily would be even better thanks to that option.

    Steps to reproduce the issue

    Delete the content of a (system) playlists in Vanilla without deleting the playlist itself (faster to test), and do a re-scan + flush media library : your playlists should still be empty. You can also add new songs to your system playlists and rescan : no new songs added...

    opened by andiandi13 63
  • Polish material design

    Polish material design

    We should improve the material design.

    Specs: https://www.google.com/design/spec/material-design/introduction.html

    Thing to look at

    • Font size + art padding
    • Library Row padding (see WhatsApp, etc)
    • ViewPager should inherit the color of the Action Bar (whatsapp)
    • flat icon for api v21
    • other stuff
    patches-welcome 
    opened by adrian-bl 62
  • [Suggestion] Various icons modifications

    [Suggestion] Various icons modifications

    Hi.

    First of all I think that it would be nicer and more relevant to change the Previous/Next icon (control bar) with only one "triangle" instead of two. The two triangles with a bar is mostly used when the button can fast forward/backward AND skip to next/previous song. Here, its only used to skip and could be confusing at first use.

    https://image.noelshack.com/fichiers/2017/18/1493688948-nextpreviousnewicon.png

    Then, in most of material designed music apps the play button is bigger than the rest. I thought about reducing others icon and it looks like that :

    https://image.noelshack.com/fichiers/2017/18/1493689112-beforeafter.png

    That is all for now...

    @adrian-bl : What do you think ?

    opened by andiandi13 47
  • Add ability to edit ID3/VorbisComment/FlacTags fields of file

    Add ability to edit ID3/VorbisComment/FlacTags fields of file

    Basically what's needed

    • A dedicated dialog or fragment with edit fields for standard tags
    • Support for viewing lyrics from ID3/Vorbis/Flac tags (resembles #348) in NowPlaying actions (e.g. add to action list on long press)
    • Rescan the file after edit (and probably refresh NowPlaying page) to reflect changes in MediaStore

    @adrian-bl , @aminb , what do you think?

    P.S. Pls add enhancement label.

    enhancement 
    opened by Kaned1as 46
  • Documentation + VanillaMusic.io

    Documentation + VanillaMusic.io

    Thanks to @xbao, we are the owners of vanillamusic.io. We are currently using the domain to display an ugly nginx-dirlisting of the latest nightly build.

    IMO, we should have some nice landing page with some basic end-user documentation + faq's. The hosting could be done on github itself, so users could send us pull requests (and some might get commit permission to the website repo)

    /cc @aminb

    enhancement patches-welcome 
    opened by adrian-bl 37
  • Wishlist: ability to ignore folders or tracks

    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.

    feature-request patches-welcome project-mediadb 
    opened by csolisr 34
  • Improve icon in top of screen

    Improve icon in top of screen

    Please improve the icon in the top of the screen. See attachment below. The square border gives it a hard user experience and is also in contrast to most of the icons to be expected there. Removing that square border gives the icon a more gently experience and complies more with other icons there. Also, the resulting round can be made a bit bigger so that the margin with the triangle that points to the right is bigger, making it a more robust icon.

    With the current icon, I have to look twice what it is because visually I have to filter the border away. The proposal will make the icon and the app more associated with each other and increase user experience.

    icon

    opened by PanderMusubi 33
  • F-Droid?

    F-Droid?

    Why not continue on with F-Droid and just ignore Google Play? (Just curious)

    If you still don't want to continue, would you allow this issue to be used to figure out what to do next (where to fork, etc.)?

    opened by mathstuf 30
  • Implement import/export of settings (#222)

    Implement import/export of settings (#222)

    File is hard-coded to ~~/sdcard/vanilla_preferences~~ /sdcard/vanilla_settings

    Known issue: if the user goes to a child preference screen (e.g. 'Audio') then imports saved preferences from there, the preferences still have the old values when returned to.

    Questions/comments/concerns?

    opened by xbao 26
  • "Clear queue" only clears up to the current song

    When eg 1500 songs are in the queue and currently song 762 is active (playing or paused), and you select clear queue then only songs 763 till 1500 are removed from the queue. This is also seems to make it impossible to completely clear the queue since you always keep at least 1 song (unless there is an option to "unselect" all songs I haven't found yet)

    Vaguely related remark: if you have >999 songs in the queue, the total number is not shown anymore (shows egg 672/... io 672/1500)

    enhancement 
    opened by beamer145 26
  • Marshmallow bugs

    Marshmallow bugs

    So I don't know if these are fixed or not on master, but in 1.0.33, scrolling the list of artists, albums, etc. just stutters at the top. Kinetic scrolling or slowly scrolling both do this. It also seems that Vanilla is refusing to play some songs that Apollo can. Maybe targeting SDK 23 will fix this? Will try a local build here to see if master is OK.

    opened by mathstuf 25
  • Notification bar doesn't update

    Notification bar doesn't update

    • Vanilla Music Version (Settings -> About): 1.2.2
    • Android Version: 12
    • Phone vendor / model: Pixel 4a 5G
    • Application was downloaded from (use [x]):
      • [ ] Play Store
      • [x] F-Droid
      • [ ] Other (Nightly Build)
    • Did this work in a previous version?
      • [ ] Yes
      • [ ] No
      • [x] NA / Don't know.

    Description

    In the notification bar or the lock screen the popup thingy doesn't display the correct song information (name, art, ect), it is one song behind, except the first song, It has been doing this for a while now. I tried even nuking all the data related to the app. If I pause the song it seems to update the information. Pretty sure it didn't use to do this before the nuking the app.

    opened by InstallGentoo11 0
  • Adjusted controls layout for taller displays

    Adjusted controls layout for taller displays

    As phone displays adopt taller aspect ratios & get rid of thick bezels/chins, it becomes much more challenging to operate playback one-handed on the go without a painful finger stretching.

    This was not a problem for a very long time on my trusty but rusty Motorola G3; now I have switched to Motorola G52, where my thumb naturally lands on a seekbar.

    Below are some pictures just for comparison.

    image Current version

    image Modified version. The playback controls bar is a little bit raised above navigation bar.

    You might reasonably ask how do I use navigation bar then, and the answer would be: I suffer. A lot. Or just use a capacitive stylus, but that requires both hands.

    Please feel free to close this pull request if it does not meet any requirements.

    opened by reactorcoremeltdown 0
  • Custom drawn playback icons

    Custom drawn playback icons

    These icons bring the Sony Walkman aesthetics to Vanilla Music, however these are made from 100% original vector assets that are also a part of this update.

    image

    Disclaimer: it has been reported that the icons might look inconsistent on some Android flavours. I have only tested this on stock versions of Android 11 and 12.

    Please feel free to close the pull request if it does not meet any of the requirements.

    opened by reactorcoremeltdown 1
  • Vanilla stops seeing audio files (Android 12)

    Vanilla stops seeing audio files (Android 12)

    • Vanilla Music Version (Settings -> About): 1.1.0
    • Android Version: 12
    • Application was downloaded from (use [x]):
      • [x] F-Droid
    • Did this work in a previous version?
      • [x] Yes. It even works in the current version when used on Android 10. The problem seems to have arisen in Android 12 (or 11, but I don't have such a device).

    Description

    Vanilla periodically updates its music library by scanning folders. But on Android 12, if there is a .nomedia or even just a nomedia file in a folder, Vanilla ignores it. This means that even if a folder was previously added to Vanilla's library, Vanilla will eventually try to scan it again and go "nope, no music files here".

    This behaviour is different from Android 10. There, Vanilla successfully scans the folder even with the presence of a nomedia file. Then, after the library has been built, renaming the file to .nomedia has absolutely no effect on Vanilla's library, no matter how much time passes. I can use that file to prevent gallery apps from picking up album covers from my music folders.

    Steps to reproduce the issue

    1. Put music in some folder. Let Vanilla scan it and expand its library.
    2. Place a .nomedia file in that folder so that gallery apps ignore it.
    3. At some point in the day, Vanilla will perform a scan on its own and then stop being able to see or scan files in that folder.
    opened by opusforlife2 2
  • Make left/right swipe to change track optional

    Make left/right swipe to change track optional

    The swipe is quite sensitive and often, I change song by accident, especially when using single tap action.

    It could be instead added as an option (enabled by default of course) alongside with other gestures.

    opened by andiandi13 0
  • What flag indicates a compilation?  COMPILATION=1 not respected

    What flag indicates a compilation? COMPILATION=1 not respected

    • Vanilla Music Version (Settings -> About): 1.1.0
    • Android Version: 12
    • Phone vendor / model: Samsung Galaxy Tab Active3
    • Application was downloaded from (use [x]):
      • [ ] Play Store
      • [x] F-Droid
      • [ ] Other (Nightly Build)
    • Did this work in a previous version?
      • [ ] Yes
      • [x] No
      • [ ] NA / Don't know.

    Description

    This has been an ongoing issue, but for compilations, despite all relevant (Ogg/Vorbis) files being tagged COMPILATION=1, the album gets created in the media database with a randomly selected artist instead of being grouped as a compilation.

    Steps to reproduce the issue

    Load some tracks with COMPILATION=1, differing ARTIST, but same ALBUM field. In my case the files are Ogg/Vorbis format, have an ALBUMARTIST=Various tag, have the same ALBUM and cover art.

    Screenshot / Video (If applicable)

    Screenshot_20220910-165040_Vanilla Music Screenshot_20220910-165101_Vanilla Music

    opened by sjlongland 1
Owner
Vanilla Music
Vanilla Music
SocyMusic is an open-source Android music player written in Java with the aim of creating an easy-to-use app for exchanging and listening to top-quality music. Help us create it!

SocyMusic SocyMusic is an open-source Android music player written entirely in Java. It's objectives are to provide top-quality music to everyone for

Benji 23 Dec 26, 2022
Blade is an open source music player for Android, allowing you to play music from multiple services : files on your phone, Spotify, and more.

Blade Player Blade is an open source music player for Android, allowing you to play music from multiple services : files on your phone, Spotify, and m

Valentin HAUDIQUET 72 Jan 5, 2023
TunePlayer is a basic music player app aimed at showing how MusicServiceCompat and MusicBrowerCompat can be used to build a music playback service

TunePlayer TunePlayer is a basic music player app aimed at showing how MusicServiceCompat and MusicBrowerCompat can be used to build a music playback

Abdulmalik 6 Nov 18, 2022
This is a local music player, imitates the UI of Netease Music client.

Introduce This is a local music player, imitates the UI of Netease Music client. The UI was built on Jetbrains Compose. Screenshot Features Parse and

Konyaco 4 Dec 10, 2022
This is a local music player, imitates the UI of Netease Music client.

Introduce This is a local music player, imitates the UI of Netease Music client. The UI was built on Jetbrains Compose. Screenshots Features Parse and

Konyaco 4 Dec 10, 2022
Auxio is a local music player with a fast, reliable UI/UX without the many useless features present in other music players

Auxio A simple, rational music player for android. FAQ | Licenses | Contributing | Architecture About Auxio is a local music player with a fast, relia

null 3 Mar 21, 2022
Silky - Android application to convert videos from applications such as YouTube, Facebook, Twitter into audio (.mp3)

Silky Español (actualmente la app se encuentra en desarrollo ) Descripcion Aplic

null 2 Aug 24, 2022
Autodownload MP3 API With Kotlin

Autodownload MP3 API Overview This project leverages Spring Boot, Google's YouTube API, and youtube-dl to provide an API to download videos and conver

Julien 1 Jul 1, 2022
Echo is a lightweight and minimal music player for Android, built with Android Studio and written in Kotlin

Echo - Echo, A light-weight, minimal music player for Android, with shuffle, favorites and audio visualization

Divins Mathew 0 Feb 7, 2022
Android music player example.

Android music player example.

Chien 21 Jul 29, 2022
A elegant and light weight music player for android

A elegant and light weight music player for android

Atul Patare 45 Dec 21, 2022
Best material design music player for Android

Metro Material Design music player for Android music lovers Table of contents Downloads Differences between Metro and RetroMusicPlayer Screenshots App

Muntashir Al-Islam 684 Jan 1, 2023
Shuttle is an open source, local music player for Android.

Shuttle Music Player Shuttle is an open source, local music player for Android. Shuttle comes in two flavours: Shuttle (free) Shuttle+ The free versio

Tim Malseed 2.2k Jan 4, 2023
A material designed music player for Android

Vinyl Music Player A material designed local music player for Android. Forked from Phonograph; makes all Pro features free, as they used to be. Additi

Adrien Poupa 581 Dec 30, 2022
Auxio - A simple, rational music player for android.

Auxio is a local music player with a fast, reliable UI/UX without the many useless features present in other music players. Built off of Exoplayer, Auxio has a much better listening experience compared to other apps that use the native MediaPlayer API. In short, It plays music.

OxygenCobalt 800 Jan 2, 2023
An offline music player android app, with modern UI and powerful features

Pulse Music An offline music player android app, with modern UI and powerful features If you liked this repo, fork it and leave a STAR. Your support m

Sharath 7 Apr 11, 2022
Android Offline Music Player

Howl Music Player A sleek and minimal offline music player made wit. Features Sleek and responsive UI , following material design Minimal layout with

LooKeR 145 Jan 8, 2023
A simple music player for Android

RSShool2021-Android-task6-Music-App Цель - реализовать простой музыкальный плеер на Android ?? Требования: Данные о треках считываются с JSON-файла. П

null 0 Dec 19, 2021
Another local music player for Android built with Compose. Way too "local" so you likely won't need it.

AnotherAndroidLocalMusicPlayer Another local music player for Android built with Compose and media3 (ExoPlayer). Warning The app behaves strangly as i

oO0oO0oO0o0o00 0 Mar 13, 2022