diff --git a/musikr/src/main/java/org/oxycblt/musikr/Music.kt b/musikr/src/main/java/org/oxycblt/musikr/Music.kt index c723a794b..2985f0bf8 100644 --- a/musikr/src/main/java/org/oxycblt/musikr/Music.kt +++ b/musikr/src/main/java/org/oxycblt/musikr/Music.kt @@ -265,6 +265,10 @@ interface Song : Music { val size: Long /** The duration of the audio file, in milliseconds. */ val durationMs: Long + /** The bitrate of the audio file, in kbps. */ + val bitrateKbps: Int + /** The sample rate of the audio file, in Hz. */ + val sampleRateHz: Int /** The ReplayGain adjustment to apply during playback. */ val replayGainAdjustment: ReplayGainAdjustment /** The date last modified the audio file was last modified, as a unix epoch timestamp. */ diff --git a/musikr/src/main/java/org/oxycblt/musikr/cache/CacheDatabase.kt b/musikr/src/main/java/org/oxycblt/musikr/cache/CacheDatabase.kt index bdd804241..da8721f64 100644 --- a/musikr/src/main/java/org/oxycblt/musikr/cache/CacheDatabase.kt +++ b/musikr/src/main/java/org/oxycblt/musikr/cache/CacheDatabase.kt @@ -67,8 +67,8 @@ internal data class CachedSong( val dateModified: Long, val mimeType: String, val durationMs: Long, - val bitrate: Int, - val sampleRate: Int, + val bitrateHz: Int, + val sampleRateHz: Int, val musicBrainzId: String?, val name: String, val sortName: String?, @@ -94,7 +94,7 @@ internal data class CachedSong( fun intoRawSong(file: DeviceFile) = RawSong( file, - Properties(mimeType, durationMs, bitrate, sampleRate), + Properties(mimeType, durationMs, bitrateHz, sampleRateHz), ParsedTags( musicBrainzId = musicBrainzId, name = name, @@ -164,7 +164,7 @@ internal data class CachedSong( replayGainAlbumAdjustment = rawSong.tags.replayGainAlbumAdjustment, cover = rawSong.cover, mimeType = rawSong.properties.mimeType, - bitrate = rawSong.properties.bitrate, - sampleRate = rawSong.properties.sampleRate) + bitrateHz = rawSong.properties.bitrateKbps, + sampleRateHz = rawSong.properties.sampleRateHz) } } diff --git a/musikr/src/main/java/org/oxycblt/musikr/metadata/Metadata.kt b/musikr/src/main/java/org/oxycblt/musikr/metadata/Metadata.kt index c375a6694..f73745c95 100644 --- a/musikr/src/main/java/org/oxycblt/musikr/metadata/Metadata.kt +++ b/musikr/src/main/java/org/oxycblt/musikr/metadata/Metadata.kt @@ -56,6 +56,6 @@ internal data class Metadata( data class Properties( val mimeType: String, val durationMs: Long, - val bitrate: Int, - val sampleRate: Int, + val bitrateKbps: Int, + val sampleRateHz: Int, ) diff --git a/musikr/src/main/java/org/oxycblt/musikr/model/SongImpl.kt b/musikr/src/main/java/org/oxycblt/musikr/model/SongImpl.kt index cc9aac807..bb59121da 100644 --- a/musikr/src/main/java/org/oxycblt/musikr/model/SongImpl.kt +++ b/musikr/src/main/java/org/oxycblt/musikr/model/SongImpl.kt @@ -52,6 +52,8 @@ internal class SongImpl(private val handle: SongCore) : Song { override val format = preSong.format override val size = preSong.size override val durationMs = preSong.durationMs + override val bitrateKbps = preSong.bitrateKbps + override val sampleRateHz = preSong.sampleRateHz override val replayGainAdjustment = preSong.replayGainAdjustment override val lastModified = preSong.lastModified override val dateAdded = preSong.dateAdded diff --git a/musikr/src/main/java/org/oxycblt/musikr/tag/interpret/PreMusic.kt b/musikr/src/main/java/org/oxycblt/musikr/tag/interpret/PreMusic.kt index 75cf31920..6049b3d68 100644 --- a/musikr/src/main/java/org/oxycblt/musikr/tag/interpret/PreMusic.kt +++ b/musikr/src/main/java/org/oxycblt/musikr/tag/interpret/PreMusic.kt @@ -43,6 +43,8 @@ internal data class PreSong( val format: Format, val size: Long, val durationMs: Long, + val bitrateKbps: Int, + val sampleRateHz: Int, val replayGainAdjustment: ReplayGainAdjustment, val lastModified: Long, val dateAdded: Long, diff --git a/musikr/src/main/java/org/oxycblt/musikr/tag/interpret/TagInterpreter.kt b/musikr/src/main/java/org/oxycblt/musikr/tag/interpret/TagInterpreter.kt index 551a31611..6a1d340cf 100644 --- a/musikr/src/main/java/org/oxycblt/musikr/tag/interpret/TagInterpreter.kt +++ b/musikr/src/main/java/org/oxycblt/musikr/tag/interpret/TagInterpreter.kt @@ -74,6 +74,8 @@ private data object TagInterpreterImpl : TagInterpreter { disc = song.tags.disc?.let { Disc(it, song.tags.subtitle) }, date = song.tags.date, durationMs = song.tags.durationMs, + bitrateKbps = song.properties.bitrateKbps, + sampleRateHz = song.properties.sampleRateHz, replayGainAdjustment = ReplayGainAdjustment( song.tags.replayGainTrackAdjustment,