A simple, rational music player for android
Find a file
OxygenCobalt 1b791074ec
playback: replace headset focus with headset autoplay
Turn the headset focus setting into the headset autoplay setting.

The way auxio handles headsets is...odd. Sometimes the MediaSession
handles it and Auxio could not care less, and sometimes Auxio actually
needs to handle it. As a result, the idea of being able to disable
headset focus is more or less moot because it will only apply to some
devices and not others.

On the other end, the way Auxio automatically begins playback once a
headset is plugged in is also quite weird. It only works on wired
headsets, and when it does, it overrides all other apps that might
also be playing audio. It's not to say that it's a bad feature, but
it's also one that I don't want to make the defualt. Auxio should
still play along within the confines of Android's expectations, after
all.

Replacing the existing "Headset focus" setting with a new "Headset
autoplay" setting solves both of these issues, as it prevents a
mis-guided disabling of the setting that doesn't actually disable
the feature and it relegates the quirky autoplay behavior to an
setting not enabled by default.
2022-03-05 20:34:12 -07:00
.github docs: rework contribution info 2022-02-06 14:33:36 -07:00
app playback: replace headset focus with headset autoplay 2022-03-05 20:34:12 -07:00
fastlane/metadata/android Added F-Droid desc, changelog folder 2022-02-28 22:26:47 -03:00
gradle/wrapper deps: upgrade 2022-02-24 15:17:31 -07:00
info ui: remove memberBinding [#80] 2022-02-24 19:31:48 -07:00
.gitignore docs: add changelog 2022-02-06 14:01:03 -07:00
build.gradle home: rework fab adaptiveness 2022-02-23 16:13:59 -07:00
CHANGELOG.md playback: replace headset focus with headset autoplay 2022-03-05 20:34:12 -07:00
gradle.properties deps: upgrade deps 2022-02-19 10:13:26 -07:00
gradlew playback: use custom exoplayer 2022-01-09 12:27:18 -07:00
gradlew.bat ui: brighten dark theme 2021-09-01 18:48:02 -06:00
LICENSE Initial commit 2020-08-17 15:35:12 +00:00
prebuild.py playback: replace headset focus with headset autoplay 2022-03-05 20:34:12 -07:00
README.md Version 2.2.1 2022-02-18 19:06:00 -07:00
settings.gradle deps: use aar 2022-01-27 15:05:45 -07:00

Auxio

A simple, rational music player for android.

GitHub release Minimum SDK

Changelog | FAQ | Licenses | Contributing | Architecture

About

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.

I primarily built Auxio for myself, but you can use it too, I guess.

The default branch is the development version of the repository. For a stable version, see the master branch.

Screenshots

Features

  • ExoPlayer based playback
  • Customizable UI & Behavior
  • Advanced media indexer that prioritizes correct metadata
  • Reliable playback state persistence
  • ReplayGain support (On MP3, MP4, FLAC, OGG, and OPUS)
  • Material You (Android 12+ only)
  • Edge-to-edge
  • Embedded covers support
  • Search Functionality
  • Audio/Headset focus
  • Completely private and offline
  • No rounded album covers (Unless you want them. Then you can.)

To possibly come in the future:

  • Playlists
  • Liked songs
  • More notification actions
  • And other things, probably

Permissions

  • Storage (READ_EXTERNAL_STORAGE): to read and play your media files
  • Services (FOREGROUND_SERVICE, WAKE_LOCK): to keep the music playing even if the app itself is in background

Building

Auxio relies on a custom version of ExoPlayer that enables some extra features. So, the build process is as follows:

  1. cd into the project directory
  2. Run python3 prebuild.py, which installs ExoPlayer and it's extensions.
    • The pre-build process only works with *nix systems. On windows, this process must be done manually.
  3. Build the project normally in Android Studio.

Contributing

Auxio accepts most contributions as long as they follow the Contribution Guidelines.

However, feature additions and major UI changes are less likely to be accepted. See Accepted Additions for more information.

License

GNU GPLv3 Image

Auxio is Free Software: You can use, study share and improve it at your will. Specifically you can redistribute and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.