Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/foedusprogramme/gramophone/llms.txt

Use this file to discover all available pages before exploring further.

Gramophone’s player is built on Media3 / ExoPlayer and wrapped in a Material Design 3 interface.

Interface and theming

The player uses Material Design 3 with dynamic Monet color theming. The player UI extracts a color palette from the current track’s album art and applies it to buttons, sliders, and backgrounds — giving each track a distinct visual identity. On Android 12 and later, the app icon itself is also Monet-themed to match your device’s system color palette.

Playback controls

The player bottom sheet provides standard controls:
  • Play / Pause
  • Skip to next / previous track
  • Seek bar — tap or drag to jump to any position
  • Shuffle — uses a custom shuffle order implementation so all tracks play before any repeats
  • Repeat modes — repeat off, repeat queue, repeat one

Queue management

The now-playing queue is accessible from the player. You can view the current queue and reorder or remove tracks during playback.

System integration

Lock screen controls

Playback controls appear on the lock screen and in the notification shade via a Media3 session.

Media buttons

Hardware media buttons — including wired headphone inline controls and Bluetooth remote buttons — are handled through the Media3 session.

Audio focus

Gramophone requests and responds to Android audio focus. Playback pauses when another app takes focus (e.g. a phone call) and can resume when focus is returned.

Bluetooth codec detection

Gramophone can detect the active Bluetooth audio codec to inform audio quality decisions.

Home screen lyric widget

A home screen widget can display the current lyric line while music is playing. Add it from your launcher’s widget picker.

Gapless playback

Gramophone uses ExoPlayer’s built-in gapless playback support. Consecutive tracks play without audible gaps, which is especially useful for live albums or classical recordings.

Android Auto

Android Auto support is currently in progress and is not yet available.

Intent support

Gramophone responds to the following Android intents for external control:
IntentBehavior
SHUFFLEStarts playback in shuffle mode
android.media.action.MEDIA_PLAY_FROM_SEARCHPlays music matching a voice search query

Build docs developers (and LLMs) love