Most experimental features require you to enable it in the "Experimental Features" screen (Settings > Experimental Features).
See the dedicated Android Auto documentation for more information.
Enabled by default.
This fixes #138, an issue where high sample rate audio (352.8kHz & 384kHz) cannot be played due to Exoplayer limitations, by downsampling the audio to 192kHz. This will be removed in the future once we deem it to be stable as we're currently unsure if there's any side-effects.
We support the default 5-band equalizer with 10 provided presets and the option to set a custom preset.
- Frequencies: 60Hz, 230Hz, 910Hz, 3.6kHz, and 14kHz
- Band Range: ± 10dB
Note
Having this feature enabled may cause the app to feel slower (ie: slower navigation, slower opening of sheets).
See the dedicated Lyrics Provider documentation for more information.
No Toggle Required.
We support importing & exporting M3U files. They can be imported in the "Create Playlist" screen and exported from the "Current Playlist" screen.
For importing M3U files:
- We support absolute paths given they are for the current device.
- We support relative paths.
- We DO NOT support M3U files that link to other M3U files.
For exporting M3U files:
- We support absolute paths (ie:
/storage/emulated/0/...). - We support relative paths (relative to where we want to save the file).
This is an alternative method of extracting metadata for tracks, which is extremely fast since everything is already tracked in MediaStore's SQLite database. As such, this requires Android 11+ to enable due to most of the fields being introduced in this version.
Although the MediaStore scanner is extremely fast, it has some problems. I've noticed that:
- The
yearfield isn't returned for.flacfiles. - If a track has no embedded
albumfield, the name of the folder the track is in is returned instead (so all tracks will return a value in thealbumfield). - We've handled these issues internally:
- If a track has a disc & track number, the value returned for the track number will incorporate both values (ie:
1002for disc 1, track 2). - If a track has no embedded
artistfield,<unknown>is returned.
- If a track has a disc & track number, the value returned for the track number will incorporate both values (ie:
When using the "Play Next" feature, we attempt to add those track(s) after the previously "Play Next" tracks.
Note
This queue awareness is only for the given app session.
There are situations where the queue awareness will get reset:
- Toggling this experimental feature.
- Playing the previous track.
- Shuffling/unshuffling the list.
- Switching lists or resynchronizing the current one.
- A track getting removed from the queue via DB cleanup, error, or hiding the track.
- Moving a track outside of the "Play Next" range to inside the range.
- Playing a track outside of the "Play Next" range.
- Playing a track via the screen containing the original list.
See the dedicated ReplayGain documentation for more information.
No Toggle Required.
The Sleep Timer experimental features can be found on the "Now Playing" screen.
It enables you to automatically stop playback after the specified number of minutes. You can optionally delay the completion of the timer until the final track finishes.
This switches the seekbar on the "Now Playing" screen to a waveform of the current track. Since the waveform for a track gets cached after listening to it once while the feature is enabled, there is also the ability to clear all cached waveforms.
Note
This may not work for certain file types.
See the dedicated Widgets documentation for more information.