Merge branch 'dev' into gapless-playback
This commit is contained in:
commit
68443dc337
10 changed files with 44 additions and 17 deletions
13
CHANGELOG.md
13
CHANGELOG.md
|
@ -1,6 +1,16 @@
|
||||||
# Changelog
|
# 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
|
#### What's Improved
|
||||||
- The OPUS base volume adjustment field is now parsed and used as a ReplayGain adjustment
|
- 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
|
- Fixed a crash occuring if you navigated to the settings page from the playlist view
|
||||||
and then back
|
and then back
|
||||||
- Fixed music loading failing with an SQL error with certain music folder configurations
|
- 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
|
## 3.3.0
|
||||||
|
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
<h1 align="center"><b>Auxio</b></h1>
|
<h1 align="center"><b>Auxio</b></h1>
|
||||||
<h4 align="center">A simple, rational music player for android.</h4>
|
<h4 align="center">A simple, rational music player for android.</h4>
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://github.com/oxygencobalt/Auxio/releases/tag/v3.3.0">
|
<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.0&color=64B5F6&style=flat">
|
<img alt="Latest Version" src="https://img.shields.io/static/v1?label=tag&message=v3.3.3&color=64B5F6&style=flat">
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/oxygencobalt/Auxio/releases/">
|
<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">
|
<img alt="Releases" src="https://img.shields.io/github/downloads/OxygenCobalt/Auxio/total.svg?color=4B95DE&style=flat">
|
||||||
|
|
|
@ -21,8 +21,8 @@ android {
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId namespace
|
applicationId namespace
|
||||||
versionName "3.3.0"
|
versionName "3.3.3"
|
||||||
versionCode 37
|
versionCode 40
|
||||||
|
|
||||||
minSdk 24
|
minSdk 24
|
||||||
targetSdk 34
|
targetSdk 34
|
||||||
|
|
|
@ -32,7 +32,7 @@ import org.oxycblt.auxio.music.info.Date
|
||||||
import org.oxycblt.auxio.music.metadata.correctWhitespace
|
import org.oxycblt.auxio.music.metadata.correctWhitespace
|
||||||
import org.oxycblt.auxio.music.metadata.splitEscaped
|
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 class CacheDatabase : RoomDatabase() {
|
||||||
abstract fun cachedSongsDao(): CachedSongsDao
|
abstract fun cachedSongsDao(): CachedSongsDao
|
||||||
}
|
}
|
||||||
|
|
|
@ -137,12 +137,12 @@ private constructor(private val cursor: Cursor, volumeManager: VolumeManager) :
|
||||||
val path = paths[i]
|
val path = paths[i]
|
||||||
val volume = path.volume.components ?: continue
|
val volume = path.volume.components ?: continue
|
||||||
template +=
|
template +=
|
||||||
if (i == 0) {
|
if (args.isEmpty()) {
|
||||||
"${MediaStore.Audio.AudioColumns.DATA} LIKE ?"
|
"${MediaStore.Audio.AudioColumns.DATA} LIKE ?"
|
||||||
} else {
|
} else {
|
||||||
" OR ${MediaStore.Audio.AudioColumns.DATA} LIKE ?"
|
" OR ${MediaStore.Audio.AudioColumns.DATA} LIKE ?"
|
||||||
}
|
}
|
||||||
args.add("${volume}${path.components}%")
|
args.add("/${volume}/${path.components}%")
|
||||||
}
|
}
|
||||||
|
|
||||||
if (template.isEmpty()) {
|
if (template.isEmpty()) {
|
||||||
|
@ -216,8 +216,8 @@ private constructor(private val cursor: Cursor, volumeManager: VolumeManager) :
|
||||||
var template = ""
|
var template = ""
|
||||||
for (i in paths.indices) {
|
for (i in paths.indices) {
|
||||||
val path = paths[i]
|
val path = paths[i]
|
||||||
template =
|
template +=
|
||||||
if (i == 0) {
|
if (args.isEmpty()) {
|
||||||
"(${MediaStore.Audio.AudioColumns.VOLUME_NAME} LIKE ? " +
|
"(${MediaStore.Audio.AudioColumns.VOLUME_NAME} LIKE ? " +
|
||||||
"AND ${MediaStore.Audio.AudioColumns.RELATIVE_PATH} LIKE ?)"
|
"AND ${MediaStore.Audio.AudioColumns.RELATIVE_PATH} LIKE ?)"
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -105,12 +105,15 @@ private class TagWorkerImpl(
|
||||||
format.initializationData.isNotEmpty() &&
|
format.initializationData.isNotEmpty() &&
|
||||||
format.initializationData[0].size >= 18) {
|
format.initializationData[0].size >= 18) {
|
||||||
val header = format.initializationData[0]
|
val header = format.initializationData[0]
|
||||||
val gain = header[1].toInt() or ((header[0].toInt() shl 8) and 0xFF)
|
val gain = (((header[16]).toInt() and 0xFF) or ((header[17].toInt() shl 8))) / 256f
|
||||||
logD("Obtained opus base gain: ${gain / 256f} dB")
|
logD("Obtained opus base gain: $gain dB")
|
||||||
|
if (gain != 0f) {
|
||||||
|
logD("Applying opus base gain")
|
||||||
rawSong.replayGainTrackAdjustment =
|
rawSong.replayGainTrackAdjustment =
|
||||||
rawSong.replayGainTrackAdjustment?.plus(gain / 256f)
|
(rawSong.replayGainTrackAdjustment ?: 0f) + gain
|
||||||
rawSong.replayGainAlbumAdjustment =
|
rawSong.replayGainAlbumAdjustment =
|
||||||
rawSong.replayGainAlbumAdjustment?.plus(gain / 256f)
|
(rawSong.replayGainAlbumAdjustment ?: 0f) + gain
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
logD("No metadata could be extracted for ${rawSong.name}")
|
logD("No metadata could be extracted for ${rawSong.name}")
|
||||||
|
|
|
@ -104,7 +104,10 @@ class PlaybackPanelFragment :
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.playbackCover.onSwipeListener = this
|
binding.playbackCover.onSwipeListener = this
|
||||||
binding.playbackSong.setOnClickListener { navigateToCurrentSong() }
|
binding.playbackSong.apply {
|
||||||
|
isSelected = true
|
||||||
|
setOnClickListener { navigateToCurrentSong() }
|
||||||
|
}
|
||||||
binding.playbackArtist.setOnClickListener { navigateToCurrentArtist() }
|
binding.playbackArtist.setOnClickListener { navigateToCurrentArtist() }
|
||||||
binding.playbackAlbum.setOnClickListener { navigateToCurrentAlbum() }
|
binding.playbackAlbum.setOnClickListener { navigateToCurrentAlbum() }
|
||||||
|
|
||||||
|
@ -130,6 +133,7 @@ class PlaybackPanelFragment :
|
||||||
override fun onDestroyBinding(binding: FragmentPlaybackPanelBinding) {
|
override fun onDestroyBinding(binding: FragmentPlaybackPanelBinding) {
|
||||||
equalizerLauncher = null
|
equalizerLauncher = null
|
||||||
coverAdapter = null
|
coverAdapter = null
|
||||||
|
binding.playbackSong.isSelected = false
|
||||||
binding.playbackToolbar.setOnMenuItemClickListener(null)
|
binding.playbackToolbar.setOnMenuItemClickListener(null)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
3
fastlane/metadata/android/en-US/changelogs/38.txt
Normal file
3
fastlane/metadata/android/en-US/changelogs/38.txt
Normal 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
|
3
fastlane/metadata/android/en-US/changelogs/39.txt
Normal file
3
fastlane/metadata/android/en-US/changelogs/39.txt
Normal 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
|
3
fastlane/metadata/android/en-US/changelogs/40.txt
Normal file
3
fastlane/metadata/android/en-US/changelogs/40.txt
Normal 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
|
Loading…
Reference in a new issue