Merge branch 'dev' into gapless-playback

This commit is contained in:
Alexander Capehart 2024-01-14 12:12:49 -07:00
commit 68443dc337
No known key found for this signature in database
GPG key ID: 37DBE3621FE9AD47
10 changed files with 44 additions and 17 deletions

View file

@ -1,6 +1,16 @@
# Changelog
## dev
## 3.3.3
#### What's Fixed
- Fixed music folders not behaving correctly below Android 11
## 3.3.2
#### What's Fixed
- Fixed music loading failing with an SQL error with certain music folder configurations
## 3.3.1
#### What's Improved
- The OPUS base volume adjustment field is now parsed and used as a ReplayGain adjustment
@ -13,6 +23,7 @@
- Fixed a crash occuring if you navigated to the settings page from the playlist view
and then back
- Fixed music loading failing with an SQL error with certain music folder configurations
- Fixed issue where song title on playback screen would not scroll
## 3.3.0

View file

@ -2,8 +2,8 @@
<h1 align="center"><b>Auxio</b></h1>
<h4 align="center">A simple, rational music player for android.</h4>
<p align="center">
<a href="https://github.com/oxygencobalt/Auxio/releases/tag/v3.3.0">
<img alt="Latest Version" src="https://img.shields.io/static/v1?label=tag&message=v3.3.0&color=64B5F6&style=flat">
<a href="https://github.com/oxygencobalt/Auxio/releases/tag/v3.3.3">
<img alt="Latest Version" src="https://img.shields.io/static/v1?label=tag&message=v3.3.3&color=64B5F6&style=flat">
</a>
<a href="https://github.com/oxygencobalt/Auxio/releases/">
<img alt="Releases" src="https://img.shields.io/github/downloads/OxygenCobalt/Auxio/total.svg?color=4B95DE&style=flat">

View file

@ -21,8 +21,8 @@ android {
defaultConfig {
applicationId namespace
versionName "3.3.0"
versionCode 37
versionName "3.3.3"
versionCode 40
minSdk 24
targetSdk 34

View file

@ -32,7 +32,7 @@ import org.oxycblt.auxio.music.info.Date
import org.oxycblt.auxio.music.metadata.correctWhitespace
import org.oxycblt.auxio.music.metadata.splitEscaped
@Database(entities = [CachedSong::class], version = 36, exportSchema = false)
@Database(entities = [CachedSong::class], version = 38, exportSchema = false)
abstract class CacheDatabase : RoomDatabase() {
abstract fun cachedSongsDao(): CachedSongsDao
}

View file

@ -137,12 +137,12 @@ private constructor(private val cursor: Cursor, volumeManager: VolumeManager) :
val path = paths[i]
val volume = path.volume.components ?: continue
template +=
if (i == 0) {
if (args.isEmpty()) {
"${MediaStore.Audio.AudioColumns.DATA} LIKE ?"
} else {
" OR ${MediaStore.Audio.AudioColumns.DATA} LIKE ?"
}
args.add("${volume}${path.components}%")
args.add("/${volume}/${path.components}%")
}
if (template.isEmpty()) {
@ -216,8 +216,8 @@ private constructor(private val cursor: Cursor, volumeManager: VolumeManager) :
var template = ""
for (i in paths.indices) {
val path = paths[i]
template =
if (i == 0) {
template +=
if (args.isEmpty()) {
"(${MediaStore.Audio.AudioColumns.VOLUME_NAME} LIKE ? " +
"AND ${MediaStore.Audio.AudioColumns.RELATIVE_PATH} LIKE ?)"
} else {

View file

@ -105,12 +105,15 @@ private class TagWorkerImpl(
format.initializationData.isNotEmpty() &&
format.initializationData[0].size >= 18) {
val header = format.initializationData[0]
val gain = header[1].toInt() or ((header[0].toInt() shl 8) and 0xFF)
logD("Obtained opus base gain: ${gain / 256f} dB")
rawSong.replayGainTrackAdjustment =
rawSong.replayGainTrackAdjustment?.plus(gain / 256f)
rawSong.replayGainAlbumAdjustment =
rawSong.replayGainAlbumAdjustment?.plus(gain / 256f)
val gain = (((header[16]).toInt() and 0xFF) or ((header[17].toInt() shl 8))) / 256f
logD("Obtained opus base gain: $gain dB")
if (gain != 0f) {
logD("Applying opus base gain")
rawSong.replayGainTrackAdjustment =
(rawSong.replayGainTrackAdjustment ?: 0f) + gain
rawSong.replayGainAlbumAdjustment =
(rawSong.replayGainAlbumAdjustment ?: 0f) + gain
}
}
} else {
logD("No metadata could be extracted for ${rawSong.name}")

View file

@ -104,7 +104,10 @@ class PlaybackPanelFragment :
}
binding.playbackCover.onSwipeListener = this
binding.playbackSong.setOnClickListener { navigateToCurrentSong() }
binding.playbackSong.apply {
isSelected = true
setOnClickListener { navigateToCurrentSong() }
}
binding.playbackArtist.setOnClickListener { navigateToCurrentArtist() }
binding.playbackAlbum.setOnClickListener { navigateToCurrentAlbum() }
@ -130,6 +133,7 @@ class PlaybackPanelFragment :
override fun onDestroyBinding(binding: FragmentPlaybackPanelBinding) {
equalizerLauncher = null
coverAdapter = null
binding.playbackSong.isSelected = false
binding.playbackToolbar.setOnMenuItemClickListener(null)
}

View file

@ -0,0 +1,3 @@
Auxio 3.3.1 adds the ability to import and export playlists, skip gestures, and fixes/improvements to the music loader.
This release fixes a critical bug with the music loader, among other issues.
For more information, see https://github.com/OxygenCobalt/Auxio/releases/tag/v3.3.1

View file

@ -0,0 +1,3 @@
Auxio 3.3.2 adds the ability to import and export playlists, skip gestures, and fixes/improvements to the music loader.
This release fixes a critical bug with the music loader, among other issues.
For more information, see https://github.com/OxygenCobalt/Auxio/releases/tag/v3.3.2

View file

@ -0,0 +1,3 @@
Auxio 3.3.3 adds the ability to import and export playlists, skip gestures, and fixes/improvements to the music loader.
This release fixes a critical bug with the music loader, among other issues.
For more information, see https://github.com/OxygenCobalt/Auxio/releases/tag/v3.3.3