diff --git a/CHANGELOG.md b/CHANGELOG.md index 91100cae8..a04afeb75 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 diff --git a/README.md b/README.md index cac2abd16..be40f6388 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,8 @@

Auxio

A simple, rational music player for android.

- - Latest Version + + Latest Version Releases diff --git a/app/build.gradle b/app/build.gradle index 999ea5e8c..915f58a3e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -21,8 +21,8 @@ android { defaultConfig { applicationId namespace - versionName "3.3.0" - versionCode 37 + versionName "3.3.3" + versionCode 40 minSdk 24 targetSdk 34 diff --git a/app/src/main/java/org/oxycblt/auxio/music/cache/CacheDatabase.kt b/app/src/main/java/org/oxycblt/auxio/music/cache/CacheDatabase.kt index 9eb52bbc6..f64345de2 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/cache/CacheDatabase.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/cache/CacheDatabase.kt @@ -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 } diff --git a/app/src/main/java/org/oxycblt/auxio/music/fs/MediaStorePathInterpreter.kt b/app/src/main/java/org/oxycblt/auxio/music/fs/MediaStorePathInterpreter.kt index 23e58c80d..f3a6f6aa4 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/fs/MediaStorePathInterpreter.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/fs/MediaStorePathInterpreter.kt @@ -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 { diff --git a/app/src/main/java/org/oxycblt/auxio/music/metadata/TagWorker.kt b/app/src/main/java/org/oxycblt/auxio/music/metadata/TagWorker.kt index 6a5880f7d..2167c195d 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/metadata/TagWorker.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/metadata/TagWorker.kt @@ -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}") diff --git a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackPanelFragment.kt b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackPanelFragment.kt index d03e0cb1c..08befa950 100644 --- a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackPanelFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackPanelFragment.kt @@ -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) } diff --git a/fastlane/metadata/android/en-US/changelogs/38.txt b/fastlane/metadata/android/en-US/changelogs/38.txt new file mode 100644 index 000000000..8c0701516 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/38.txt @@ -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 \ No newline at end of file diff --git a/fastlane/metadata/android/en-US/changelogs/39.txt b/fastlane/metadata/android/en-US/changelogs/39.txt new file mode 100644 index 000000000..722f36bdc --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/39.txt @@ -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 \ No newline at end of file diff --git a/fastlane/metadata/android/en-US/changelogs/40.txt b/fastlane/metadata/android/en-US/changelogs/40.txt new file mode 100644 index 000000000..190c31d23 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/40.txt @@ -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 \ No newline at end of file