diff --git a/app/src/main/java/org/oxycblt/auxio/detail/DetailGenerator.kt b/app/src/main/java/org/oxycblt/auxio/detail/DetailGenerator.kt
index 98dff1eb5..604f9f0e8 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/DetailGenerator.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/DetailGenerator.kt
@@ -32,8 +32,8 @@ import org.oxycblt.auxio.music.MusicRepository
import org.oxycblt.auxio.music.MusicType
import org.oxycblt.auxio.music.Playlist
import org.oxycblt.auxio.music.Song
-import org.oxycblt.auxio.music.info.Disc
-import org.oxycblt.auxio.music.info.ReleaseType
+import org.oxycblt.auxio.musikr.model.Disc
+import org.oxycblt.auxio.musikr.model.ReleaseType
import timber.log.Timber as L
interface DetailGenerator {
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/SongDetailDialog.kt b/app/src/main/java/org/oxycblt/auxio/detail/SongDetailDialog.kt
index f789b042a..5b881c708 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/SongDetailDialog.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/SongDetailDialog.kt
@@ -34,7 +34,7 @@ import org.oxycblt.auxio.detail.list.SongPropertyAdapter
import org.oxycblt.auxio.list.adapter.UpdateInstructions
import org.oxycblt.auxio.music.Music
import org.oxycblt.auxio.music.Song
-import org.oxycblt.auxio.music.info.Name
+import org.oxycblt.auxio.musikr.model.Name
import org.oxycblt.auxio.music.metadata.AudioProperties
import org.oxycblt.auxio.music.resolveNames
import org.oxycblt.auxio.playback.formatDurationMs
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/list/AlbumDetailListAdapter.kt b/app/src/main/java/org/oxycblt/auxio/detail/list/AlbumDetailListAdapter.kt
index 1af1a595c..15fe99c4a 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/list/AlbumDetailListAdapter.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/list/AlbumDetailListAdapter.kt
@@ -37,8 +37,8 @@ import org.oxycblt.auxio.list.adapter.SelectionIndicatorAdapter
import org.oxycblt.auxio.list.adapter.SimpleDiffCallback
import org.oxycblt.auxio.music.Album
import org.oxycblt.auxio.music.Song
-import org.oxycblt.auxio.music.info.Disc
-import org.oxycblt.auxio.music.info.resolveNumber
+import org.oxycblt.auxio.musikr.model.Disc
+import org.oxycblt.auxio.musikr.model.resolveNumber
import org.oxycblt.auxio.playback.formatDurationMs
import org.oxycblt.auxio.util.context
import org.oxycblt.auxio.util.getAttrColorCompat
diff --git a/app/src/main/java/org/oxycblt/auxio/music/Music.kt b/app/src/main/java/org/oxycblt/auxio/music/Music.kt
index 0a4b54acd..f28b4afd4 100644
--- a/app/src/main/java/org/oxycblt/auxio/music/Music.kt
+++ b/app/src/main/java/org/oxycblt/auxio/music/Music.kt
@@ -29,10 +29,10 @@ import kotlinx.parcelize.IgnoredOnParcel
import kotlinx.parcelize.Parcelize
import org.oxycblt.auxio.image.Cover
import org.oxycblt.auxio.list.Item
-import org.oxycblt.auxio.music.info.Date
-import org.oxycblt.auxio.music.info.Disc
-import org.oxycblt.auxio.music.info.Name
-import org.oxycblt.auxio.music.info.ReleaseType
+import org.oxycblt.auxio.musikr.model.Date
+import org.oxycblt.auxio.musikr.model.Disc
+import org.oxycblt.auxio.musikr.model.Name
+import org.oxycblt.auxio.musikr.model.ReleaseType
import org.oxycblt.auxio.musikr.fs.MimeType
import org.oxycblt.auxio.musikr.fs.Path
import org.oxycblt.auxio.playback.replaygain.ReplayGainAdjustment
diff --git a/app/src/main/java/org/oxycblt/auxio/music/MusicRepository.kt b/app/src/main/java/org/oxycblt/auxio/music/MusicRepository.kt
index aa63af107..48909a11f 100644
--- a/app/src/main/java/org/oxycblt/auxio/music/MusicRepository.kt
+++ b/app/src/main/java/org/oxycblt/auxio/music/MusicRepository.kt
@@ -25,12 +25,12 @@ import kotlinx.coroutines.Job
import kotlinx.coroutines.withContext
import kotlinx.coroutines.yield
import org.oxycblt.auxio.music.MusicRepository.IndexingWorker
-import org.oxycblt.auxio.music.info.Name
+import org.oxycblt.auxio.musikr.model.Name
import org.oxycblt.auxio.music.metadata.Separators
import org.oxycblt.auxio.musikr.Indexer
import org.oxycblt.auxio.musikr.IndexingProgress
-import org.oxycblt.auxio.musikr.model.Interpretation
-import org.oxycblt.auxio.musikr.model.impl.MutableLibrary
+import org.oxycblt.auxio.musikr.interpret.Interpretation
+import org.oxycblt.auxio.musikr.model.MutableLibrary
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/music/service/MusicBrowser.kt b/app/src/main/java/org/oxycblt/auxio/music/service/MusicBrowser.kt
index 3013752c4..d5eb9ff43 100644
--- a/app/src/main/java/org/oxycblt/auxio/music/service/MusicBrowser.kt
+++ b/app/src/main/java/org/oxycblt/auxio/music/service/MusicBrowser.kt
@@ -35,7 +35,7 @@ import org.oxycblt.auxio.music.MusicRepository
import org.oxycblt.auxio.music.MusicType
import org.oxycblt.auxio.music.Playlist
import org.oxycblt.auxio.music.Song
-import org.oxycblt.auxio.music.info.resolveNumber
+import org.oxycblt.auxio.musikr.model.resolveNumber
import org.oxycblt.auxio.search.SearchEngine
class MusicBrowser
diff --git a/app/src/main/java/org/oxycblt/auxio/musikr/Indexer.kt b/app/src/main/java/org/oxycblt/auxio/musikr/Indexer.kt
index 9944021d7..edd4884b4 100644
--- a/app/src/main/java/org/oxycblt/auxio/musikr/Indexer.kt
+++ b/app/src/main/java/org/oxycblt/auxio/musikr/Indexer.kt
@@ -28,9 +28,9 @@ import kotlinx.coroutines.flow.buffer
import kotlinx.coroutines.flow.flow
import kotlinx.coroutines.flow.flowOn
import org.oxycblt.auxio.musikr.explore.Explorer
-import org.oxycblt.auxio.musikr.model.Interpretation
-import org.oxycblt.auxio.musikr.model.Modeler
-import org.oxycblt.auxio.musikr.model.impl.MutableLibrary
+import org.oxycblt.auxio.musikr.interpret.Interpretation
+import org.oxycblt.auxio.musikr.interpret.Modeler
+import org.oxycblt.auxio.musikr.model.MutableLibrary
interface Indexer {
suspend fun run(
diff --git a/app/src/main/java/org/oxycblt/auxio/musikr/model/interpret/InterpretModule.kt b/app/src/main/java/org/oxycblt/auxio/musikr/interpret/InterpretModule.kt
similarity index 82%
rename from app/src/main/java/org/oxycblt/auxio/musikr/model/interpret/InterpretModule.kt
rename to app/src/main/java/org/oxycblt/auxio/musikr/interpret/InterpretModule.kt
index 4928d7529..1cefa900c 100644
--- a/app/src/main/java/org/oxycblt/auxio/musikr/model/interpret/InterpretModule.kt
+++ b/app/src/main/java/org/oxycblt/auxio/musikr/interpret/InterpretModule.kt
@@ -1,6 +1,6 @@
/*
- * Copyright (c) 2024 Auxio Project
- * PrepareModule.kt is part of Auxio.
+ * Copyright (c) 2023 Auxio Project
+ * InterpretModule.kt is part of Auxio.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.musikr.model.interpret
+package org.oxycblt.auxio.musikr.interpret
import dagger.Binds
import dagger.Module
@@ -26,5 +26,5 @@ import dagger.hilt.components.SingletonComponent
@Module
@InstallIn(SingletonComponent::class)
interface InterpretModule {
- @Binds fun prepare(factory: InterpreterImpl): Interpreter
+ @Binds fun interpreter(interpreter: ModelerImpl): Modeler
}
diff --git a/app/src/main/java/org/oxycblt/auxio/musikr/model/Interpretation.kt b/app/src/main/java/org/oxycblt/auxio/musikr/interpret/Interpretation.kt
similarity index 91%
rename from app/src/main/java/org/oxycblt/auxio/musikr/model/Interpretation.kt
rename to app/src/main/java/org/oxycblt/auxio/musikr/interpret/Interpretation.kt
index 1d7347bec..afe066ccc 100644
--- a/app/src/main/java/org/oxycblt/auxio/musikr/model/Interpretation.kt
+++ b/app/src/main/java/org/oxycblt/auxio/musikr/interpret/Interpretation.kt
@@ -16,9 +16,9 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.musikr.model
+package org.oxycblt.auxio.musikr.interpret
-import org.oxycblt.auxio.music.info.Name
+import org.oxycblt.auxio.musikr.model.Name
import org.oxycblt.auxio.music.metadata.Separators
data class Interpretation(val nameFactory: Name.Known.Factory, val separators: Separators)
diff --git a/app/src/main/java/org/oxycblt/auxio/musikr/model/Modeler.kt b/app/src/main/java/org/oxycblt/auxio/musikr/interpret/Interpreter.kt
similarity index 81%
rename from app/src/main/java/org/oxycblt/auxio/musikr/model/Modeler.kt
rename to app/src/main/java/org/oxycblt/auxio/musikr/interpret/Interpreter.kt
index 838b65914..e0ff6d91e 100644
--- a/app/src/main/java/org/oxycblt/auxio/musikr/model/Modeler.kt
+++ b/app/src/main/java/org/oxycblt/auxio/musikr/interpret/Interpreter.kt
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2024 Auxio Project
- * Modeler.kt is part of Auxio.
+ * Interpreter.kt is part of Auxio.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.musikr.model
+package org.oxycblt.auxio.musikr.interpret
import javax.inject.Inject
import kotlinx.coroutines.Dispatchers
@@ -30,19 +30,19 @@ import kotlinx.coroutines.flow.toList
import org.oxycblt.auxio.music.Music
import org.oxycblt.auxio.musikr.tag.AudioFile
import org.oxycblt.auxio.musikr.playlist.PlaylistFile
-import org.oxycblt.auxio.musikr.model.link.AlbumLinker
-import org.oxycblt.auxio.musikr.model.link.ArtistLinker
-import org.oxycblt.auxio.musikr.model.link.GenreLinker
-import org.oxycblt.auxio.musikr.model.link.Linked
-import org.oxycblt.auxio.musikr.model.link.LinkedSong
-import org.oxycblt.auxio.musikr.model.impl.AlbumImpl
-import org.oxycblt.auxio.musikr.model.impl.ArtistImpl
-import org.oxycblt.auxio.musikr.model.impl.GenreImpl
-import org.oxycblt.auxio.musikr.model.impl.LibraryImpl
-import org.oxycblt.auxio.musikr.model.impl.MutableLibrary
-import org.oxycblt.auxio.musikr.model.impl.SongImpl
-import org.oxycblt.auxio.musikr.model.interpret.PreSong
-import org.oxycblt.auxio.musikr.model.interpret.Interpreter
+import org.oxycblt.auxio.musikr.interpret.link.AlbumLinker
+import org.oxycblt.auxio.musikr.interpret.link.ArtistLinker
+import org.oxycblt.auxio.musikr.interpret.link.GenreLinker
+import org.oxycblt.auxio.musikr.interpret.link.Linked
+import org.oxycblt.auxio.musikr.interpret.link.LinkedSong
+import org.oxycblt.auxio.musikr.model.AlbumImpl
+import org.oxycblt.auxio.musikr.model.ArtistImpl
+import org.oxycblt.auxio.musikr.model.GenreImpl
+import org.oxycblt.auxio.musikr.model.LibraryImpl
+import org.oxycblt.auxio.musikr.model.MutableLibrary
+import org.oxycblt.auxio.musikr.model.SongImpl
+import org.oxycblt.auxio.musikr.interpret.prepare.PreSong
+import org.oxycblt.auxio.musikr.interpret.prepare.Preparer
import timber.log.Timber as L
interface Modeler {
@@ -53,14 +53,14 @@ interface Modeler {
): MutableLibrary
}
-class ModelerImpl @Inject constructor(private val interpreter: Interpreter) : Modeler {
+class ModelerImpl @Inject constructor(private val preparer: Preparer) : Modeler {
override suspend fun model(
audioFiles: Flow,
playlistFiles: Flow,
interpretation: Interpretation
): MutableLibrary {
val preSongs =
- interpreter
+ preparer
.interpret(audioFiles, interpretation)
.flowOn(Dispatchers.Main)
.buffer(Channel.UNLIMITED)
diff --git a/app/src/main/java/org/oxycblt/auxio/musikr/model/link/AlbumLinker.kt b/app/src/main/java/org/oxycblt/auxio/musikr/interpret/link/AlbumLinker.kt
similarity index 95%
rename from app/src/main/java/org/oxycblt/auxio/musikr/model/link/AlbumLinker.kt
rename to app/src/main/java/org/oxycblt/auxio/musikr/interpret/link/AlbumLinker.kt
index eed825e99..f8c7da6a7 100644
--- a/app/src/main/java/org/oxycblt/auxio/musikr/model/link/AlbumLinker.kt
+++ b/app/src/main/java/org/oxycblt/auxio/musikr/interpret/link/AlbumLinker.kt
@@ -16,13 +16,13 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.musikr.model.link
+package org.oxycblt.auxio.musikr.interpret.link
import java.util.UUID
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
-import org.oxycblt.auxio.musikr.model.impl.AlbumImpl
-import org.oxycblt.auxio.musikr.model.impl.SongImpl
+import org.oxycblt.auxio.musikr.model.AlbumImpl
+import org.oxycblt.auxio.musikr.model.SongImpl
class AlbumLinker {
private val tree = mutableMapOf>()
diff --git a/app/src/main/java/org/oxycblt/auxio/musikr/model/link/ArtistLinker.kt b/app/src/main/java/org/oxycblt/auxio/musikr/interpret/link/ArtistLinker.kt
similarity index 93%
rename from app/src/main/java/org/oxycblt/auxio/musikr/model/link/ArtistLinker.kt
rename to app/src/main/java/org/oxycblt/auxio/musikr/interpret/link/ArtistLinker.kt
index ca37b1cff..a09737ca3 100644
--- a/app/src/main/java/org/oxycblt/auxio/musikr/model/link/ArtistLinker.kt
+++ b/app/src/main/java/org/oxycblt/auxio/musikr/interpret/link/ArtistLinker.kt
@@ -16,17 +16,17 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.musikr.model.link
+package org.oxycblt.auxio.musikr.interpret.link
import java.util.UUID
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
import org.oxycblt.auxio.music.Music
-import org.oxycblt.auxio.musikr.model.impl.AlbumImpl
-import org.oxycblt.auxio.musikr.model.impl.ArtistImpl
-import org.oxycblt.auxio.musikr.model.impl.SongImpl
-import org.oxycblt.auxio.musikr.model.interpret.PreAlbum
-import org.oxycblt.auxio.musikr.model.interpret.PreArtist
+import org.oxycblt.auxio.musikr.model.AlbumImpl
+import org.oxycblt.auxio.musikr.model.ArtistImpl
+import org.oxycblt.auxio.musikr.model.SongImpl
+import org.oxycblt.auxio.musikr.interpret.prepare.PreAlbum
+import org.oxycblt.auxio.musikr.interpret.prepare.PreArtist
class ArtistLinker {
private val tree = mutableMapOf>()
diff --git a/app/src/main/java/org/oxycblt/auxio/musikr/model/link/Contribution.kt b/app/src/main/java/org/oxycblt/auxio/musikr/interpret/link/Contribution.kt
similarity index 95%
rename from app/src/main/java/org/oxycblt/auxio/musikr/model/link/Contribution.kt
rename to app/src/main/java/org/oxycblt/auxio/musikr/interpret/link/Contribution.kt
index 0ffdf88b9..541785b87 100644
--- a/app/src/main/java/org/oxycblt/auxio/musikr/model/link/Contribution.kt
+++ b/app/src/main/java/org/oxycblt/auxio/musikr/interpret/link/Contribution.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.musikr.model.link
+package org.oxycblt.auxio.musikr.interpret.link
class Contribution {
private val map = mutableMapOf()
diff --git a/app/src/main/java/org/oxycblt/auxio/musikr/model/link/GenreLinker.kt b/app/src/main/java/org/oxycblt/auxio/musikr/interpret/link/GenreLinker.kt
similarity index 90%
rename from app/src/main/java/org/oxycblt/auxio/musikr/model/link/GenreLinker.kt
rename to app/src/main/java/org/oxycblt/auxio/musikr/interpret/link/GenreLinker.kt
index e84cfd95f..04939302f 100644
--- a/app/src/main/java/org/oxycblt/auxio/musikr/model/link/GenreLinker.kt
+++ b/app/src/main/java/org/oxycblt/auxio/musikr/interpret/link/GenreLinker.kt
@@ -16,14 +16,14 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.musikr.model.link
+package org.oxycblt.auxio.musikr.interpret.link
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
-import org.oxycblt.auxio.musikr.model.impl.GenreImpl
-import org.oxycblt.auxio.musikr.model.impl.SongImpl
-import org.oxycblt.auxio.musikr.model.interpret.PreGenre
-import org.oxycblt.auxio.musikr.model.interpret.PreSong
+import org.oxycblt.auxio.musikr.model.GenreImpl
+import org.oxycblt.auxio.musikr.model.SongImpl
+import org.oxycblt.auxio.musikr.interpret.prepare.PreGenre
+import org.oxycblt.auxio.musikr.interpret.prepare.PreSong
class GenreLinker {
private val tree = mutableMapOf()
diff --git a/app/src/main/java/org/oxycblt/auxio/musikr/model/link/LinkedMusic.kt b/app/src/main/java/org/oxycblt/auxio/musikr/interpret/link/LinkedMusic.kt
similarity index 71%
rename from app/src/main/java/org/oxycblt/auxio/musikr/model/link/LinkedMusic.kt
rename to app/src/main/java/org/oxycblt/auxio/musikr/interpret/link/LinkedMusic.kt
index 71a2bdd8b..4e16984e2 100644
--- a/app/src/main/java/org/oxycblt/auxio/musikr/model/link/LinkedMusic.kt
+++ b/app/src/main/java/org/oxycblt/auxio/musikr/interpret/link/LinkedMusic.kt
@@ -16,16 +16,16 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.musikr.model.link
+package org.oxycblt.auxio.musikr.interpret.link
-import org.oxycblt.auxio.musikr.model.impl.AlbumImpl
-import org.oxycblt.auxio.musikr.model.impl.ArtistImpl
-import org.oxycblt.auxio.musikr.model.impl.GenreImpl
-import org.oxycblt.auxio.musikr.model.impl.PlaylistImpl
-import org.oxycblt.auxio.musikr.model.impl.SongImpl
-import org.oxycblt.auxio.musikr.model.interpret.PreAlbum
-import org.oxycblt.auxio.musikr.model.interpret.PrePlaylist
-import org.oxycblt.auxio.musikr.model.interpret.PreSong
+import org.oxycblt.auxio.musikr.model.AlbumImpl
+import org.oxycblt.auxio.musikr.model.ArtistImpl
+import org.oxycblt.auxio.musikr.model.GenreImpl
+import org.oxycblt.auxio.musikr.model.PlaylistImpl
+import org.oxycblt.auxio.musikr.model.SongImpl
+import org.oxycblt.auxio.musikr.interpret.prepare.PreAlbum
+import org.oxycblt.auxio.musikr.interpret.prepare.PrePlaylist
+import org.oxycblt.auxio.musikr.interpret.prepare.PreSong
interface LinkedSong {
val preSong: PreSong
diff --git a/app/src/main/java/org/oxycblt/auxio/musikr/model/link/PlaylistLinker.kt b/app/src/main/java/org/oxycblt/auxio/musikr/interpret/link/PlaylistLinker.kt
similarity index 91%
rename from app/src/main/java/org/oxycblt/auxio/musikr/model/link/PlaylistLinker.kt
rename to app/src/main/java/org/oxycblt/auxio/musikr/interpret/link/PlaylistLinker.kt
index 85b3b13b9..23d94c46c 100644
--- a/app/src/main/java/org/oxycblt/auxio/musikr/model/link/PlaylistLinker.kt
+++ b/app/src/main/java/org/oxycblt/auxio/musikr/interpret/link/PlaylistLinker.kt
@@ -16,12 +16,12 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.musikr.model.link
+package org.oxycblt.auxio.musikr.interpret.link
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.emptyFlow
import org.oxycblt.auxio.musikr.playlist.PlaylistFile
-import org.oxycblt.auxio.musikr.model.impl.PlaylistImpl
+import org.oxycblt.auxio.musikr.model.PlaylistImpl
class PlaylistLinker {
fun register(
diff --git a/app/src/main/java/org/oxycblt/auxio/musikr/model/interpret/ID3Genre.kt b/app/src/main/java/org/oxycblt/auxio/musikr/interpret/prepare/ID3Genre.kt
similarity index 99%
rename from app/src/main/java/org/oxycblt/auxio/musikr/model/interpret/ID3Genre.kt
rename to app/src/main/java/org/oxycblt/auxio/musikr/interpret/prepare/ID3Genre.kt
index 8a74a1349..d456f6838 100644
--- a/app/src/main/java/org/oxycblt/auxio/musikr/model/interpret/ID3Genre.kt
+++ b/app/src/main/java/org/oxycblt/auxio/musikr/interpret/prepare/ID3Genre.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.musikr.model.interpret
+package org.oxycblt.auxio.musikr.interpret.prepare
/// --- ID3v2 PARSING ---
diff --git a/app/src/main/java/org/oxycblt/auxio/musikr/model/interpret/PreMusic.kt b/app/src/main/java/org/oxycblt/auxio/musikr/interpret/prepare/PreMusic.kt
similarity index 92%
rename from app/src/main/java/org/oxycblt/auxio/musikr/model/interpret/PreMusic.kt
rename to app/src/main/java/org/oxycblt/auxio/musikr/interpret/prepare/PreMusic.kt
index a9640ab75..86e602324 100644
--- a/app/src/main/java/org/oxycblt/auxio/musikr/model/interpret/PreMusic.kt
+++ b/app/src/main/java/org/oxycblt/auxio/musikr/interpret/prepare/PreMusic.kt
@@ -16,16 +16,16 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.musikr.model.interpret
+package org.oxycblt.auxio.musikr.interpret.prepare
import android.net.Uri
import java.util.UUID
import org.oxycblt.auxio.music.Music
import org.oxycblt.auxio.music.MusicType
-import org.oxycblt.auxio.music.info.Date
-import org.oxycblt.auxio.music.info.Disc
-import org.oxycblt.auxio.music.info.Name
-import org.oxycblt.auxio.music.info.ReleaseType
+import org.oxycblt.auxio.musikr.model.Date
+import org.oxycblt.auxio.musikr.model.Disc
+import org.oxycblt.auxio.musikr.model.Name
+import org.oxycblt.auxio.musikr.model.ReleaseType
import org.oxycblt.auxio.musikr.playlist.PlaylistHandle
import org.oxycblt.auxio.musikr.fs.MimeType
import org.oxycblt.auxio.musikr.fs.Path
diff --git a/app/src/main/java/org/oxycblt/auxio/musikr/model/ModelModule.kt b/app/src/main/java/org/oxycblt/auxio/musikr/interpret/prepare/PrepareModule.kt
similarity index 80%
rename from app/src/main/java/org/oxycblt/auxio/musikr/model/ModelModule.kt
rename to app/src/main/java/org/oxycblt/auxio/musikr/interpret/prepare/PrepareModule.kt
index d27f5d552..85447d9a2 100644
--- a/app/src/main/java/org/oxycblt/auxio/musikr/model/ModelModule.kt
+++ b/app/src/main/java/org/oxycblt/auxio/musikr/interpret/prepare/PrepareModule.kt
@@ -1,6 +1,6 @@
/*
- * Copyright (c) 2023 Auxio Project
- * InterpretModule.kt is part of Auxio.
+ * Copyright (c) 2024 Auxio Project
+ * PrepareModule.kt is part of Auxio.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.musikr.model
+package org.oxycblt.auxio.musikr.interpret.prepare
import dagger.Binds
import dagger.Module
@@ -25,6 +25,6 @@ import dagger.hilt.components.SingletonComponent
@Module
@InstallIn(SingletonComponent::class)
-interface ModelModule {
- @Binds fun interpreter(interpreter: ModelerImpl): Modeler
+interface PrepareModule {
+ @Binds fun prepare(factory: PreparerImpl): Preparer
}
diff --git a/app/src/main/java/org/oxycblt/auxio/musikr/model/interpret/Interpreter.kt b/app/src/main/java/org/oxycblt/auxio/musikr/interpret/prepare/Preparer.kt
similarity index 95%
rename from app/src/main/java/org/oxycblt/auxio/musikr/model/interpret/Interpreter.kt
rename to app/src/main/java/org/oxycblt/auxio/musikr/interpret/prepare/Preparer.kt
index cd99ff5e1..e4b52711b 100644
--- a/app/src/main/java/org/oxycblt/auxio/musikr/model/interpret/Interpreter.kt
+++ b/app/src/main/java/org/oxycblt/auxio/musikr/interpret/prepare/Preparer.kt
@@ -16,26 +16,26 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.musikr.model.interpret
+package org.oxycblt.auxio.musikr.interpret.prepare
import javax.inject.Inject
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
import org.oxycblt.auxio.R
-import org.oxycblt.auxio.music.info.Disc
-import org.oxycblt.auxio.music.info.Name
-import org.oxycblt.auxio.music.info.ReleaseType
+import org.oxycblt.auxio.musikr.model.Disc
+import org.oxycblt.auxio.musikr.model.Name
+import org.oxycblt.auxio.musikr.model.ReleaseType
import org.oxycblt.auxio.musikr.tag.AudioFile
import org.oxycblt.auxio.musikr.fs.MimeType
-import org.oxycblt.auxio.musikr.model.Interpretation
+import org.oxycblt.auxio.musikr.interpret.Interpretation
import org.oxycblt.auxio.playback.replaygain.ReplayGainAdjustment
import org.oxycblt.auxio.util.toUuidOrNull
-interface Interpreter {
+interface Preparer {
fun interpret(audioFiles: Flow, interpretation: Interpretation): Flow
}
-class InterpreterImpl @Inject constructor() : Interpreter {
+class PreparerImpl @Inject constructor() : Preparer {
override fun interpret(audioFiles: Flow, interpretation: Interpretation) =
audioFiles.map { audioFile ->
val individualPreArtists =
diff --git a/app/src/main/java/org/oxycblt/auxio/music/info/Date.kt b/app/src/main/java/org/oxycblt/auxio/musikr/model/Date.kt
similarity index 99%
rename from app/src/main/java/org/oxycblt/auxio/music/info/Date.kt
rename to app/src/main/java/org/oxycblt/auxio/musikr/model/Date.kt
index a42ebc16b..bfb107b0d 100644
--- a/app/src/main/java/org/oxycblt/auxio/music/info/Date.kt
+++ b/app/src/main/java/org/oxycblt/auxio/musikr/model/Date.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.music.info
+package org.oxycblt.auxio.musikr.model
import android.content.Context
import java.text.ParseException
diff --git a/app/src/main/java/org/oxycblt/auxio/musikr/model/impl/DeviceMusicImpl.kt b/app/src/main/java/org/oxycblt/auxio/musikr/model/DeviceMusicImpl.kt
similarity index 96%
rename from app/src/main/java/org/oxycblt/auxio/musikr/model/impl/DeviceMusicImpl.kt
rename to app/src/main/java/org/oxycblt/auxio/musikr/model/DeviceMusicImpl.kt
index 8d41a80f9..3b0f18bf6 100644
--- a/app/src/main/java/org/oxycblt/auxio/musikr/model/impl/DeviceMusicImpl.kt
+++ b/app/src/main/java/org/oxycblt/auxio/musikr/model/DeviceMusicImpl.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.musikr.model.impl
+package org.oxycblt.auxio.musikr.model
import kotlin.math.min
import org.oxycblt.auxio.image.Cover
@@ -27,11 +27,10 @@ import org.oxycblt.auxio.music.Genre
import org.oxycblt.auxio.music.Music
import org.oxycblt.auxio.music.MusicType
import org.oxycblt.auxio.music.Song
-import org.oxycblt.auxio.music.info.Date
-import org.oxycblt.auxio.musikr.model.link.LinkedAlbum
-import org.oxycblt.auxio.musikr.model.link.LinkedSong
-import org.oxycblt.auxio.musikr.model.interpret.PreArtist
-import org.oxycblt.auxio.musikr.model.interpret.PreGenre
+import org.oxycblt.auxio.musikr.interpret.link.LinkedAlbum
+import org.oxycblt.auxio.musikr.interpret.link.LinkedSong
+import org.oxycblt.auxio.musikr.interpret.prepare.PreArtist
+import org.oxycblt.auxio.musikr.interpret.prepare.PreGenre
import org.oxycblt.auxio.util.update
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/music/info/Disc.kt b/app/src/main/java/org/oxycblt/auxio/musikr/model/Disc.kt
similarity index 97%
rename from app/src/main/java/org/oxycblt/auxio/music/info/Disc.kt
rename to app/src/main/java/org/oxycblt/auxio/musikr/model/Disc.kt
index 5f2b52bd6..be137e994 100644
--- a/app/src/main/java/org/oxycblt/auxio/music/info/Disc.kt
+++ b/app/src/main/java/org/oxycblt/auxio/musikr/model/Disc.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.music.info
+package org.oxycblt.auxio.musikr.model
import android.content.Context
import org.oxycblt.auxio.R
diff --git a/app/src/main/java/org/oxycblt/auxio/musikr/model/impl/Library.kt b/app/src/main/java/org/oxycblt/auxio/musikr/model/Library.kt
similarity index 98%
rename from app/src/main/java/org/oxycblt/auxio/musikr/model/impl/Library.kt
rename to app/src/main/java/org/oxycblt/auxio/musikr/model/Library.kt
index 37ca090f2..de6f7a7ef 100644
--- a/app/src/main/java/org/oxycblt/auxio/musikr/model/impl/Library.kt
+++ b/app/src/main/java/org/oxycblt/auxio/musikr/model/Library.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.musikr.model.impl
+package org.oxycblt.auxio.musikr.model
import org.oxycblt.auxio.music.Library
import org.oxycblt.auxio.music.Music
diff --git a/app/src/main/java/org/oxycblt/auxio/music/info/Name.kt b/app/src/main/java/org/oxycblt/auxio/musikr/model/Name.kt
similarity index 99%
rename from app/src/main/java/org/oxycblt/auxio/music/info/Name.kt
rename to app/src/main/java/org/oxycblt/auxio/musikr/model/Name.kt
index 289e4e59f..f8087af0e 100644
--- a/app/src/main/java/org/oxycblt/auxio/music/info/Name.kt
+++ b/app/src/main/java/org/oxycblt/auxio/musikr/model/Name.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.music.info
+package org.oxycblt.auxio.musikr.model
import android.content.Context
import androidx.annotation.StringRes
diff --git a/app/src/main/java/org/oxycblt/auxio/musikr/model/impl/PlaylistImpl.kt b/app/src/main/java/org/oxycblt/auxio/musikr/model/PlaylistImpl.kt
similarity index 91%
rename from app/src/main/java/org/oxycblt/auxio/musikr/model/impl/PlaylistImpl.kt
rename to app/src/main/java/org/oxycblt/auxio/musikr/model/PlaylistImpl.kt
index 9e230e51a..5be72aa05 100644
--- a/app/src/main/java/org/oxycblt/auxio/musikr/model/impl/PlaylistImpl.kt
+++ b/app/src/main/java/org/oxycblt/auxio/musikr/model/PlaylistImpl.kt
@@ -16,12 +16,11 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.musikr.model.impl
+package org.oxycblt.auxio.musikr.model
import org.oxycblt.auxio.image.Cover
import org.oxycblt.auxio.music.Playlist
-import org.oxycblt.auxio.music.info.Name
-import org.oxycblt.auxio.musikr.model.link.LinkedPlaylist
+import org.oxycblt.auxio.musikr.interpret.link.LinkedPlaylist
class PlaylistImpl(linkedPlaylist: LinkedPlaylist) : Playlist {
private val prePlaylist = linkedPlaylist.prePlaylist
diff --git a/app/src/main/java/org/oxycblt/auxio/music/info/ReleaseType.kt b/app/src/main/java/org/oxycblt/auxio/musikr/model/ReleaseType.kt
similarity index 98%
rename from app/src/main/java/org/oxycblt/auxio/music/info/ReleaseType.kt
rename to app/src/main/java/org/oxycblt/auxio/musikr/model/ReleaseType.kt
index 3fe45b202..f40ae966b 100644
--- a/app/src/main/java/org/oxycblt/auxio/music/info/ReleaseType.kt
+++ b/app/src/main/java/org/oxycblt/auxio/musikr/model/ReleaseType.kt
@@ -16,10 +16,10 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.music.info
+package org.oxycblt.auxio.musikr.model
import org.oxycblt.auxio.R
-import org.oxycblt.auxio.music.info.ReleaseType.Album
+import org.oxycblt.auxio.musikr.model.ReleaseType.Album
/**
* The type of release an [Album] is considered. This includes EPs, Singles, Compilations, etc.
diff --git a/app/src/main/java/org/oxycblt/auxio/musikr/tag/AudioFile.kt b/app/src/main/java/org/oxycblt/auxio/musikr/tag/AudioFile.kt
index 6f43fb478..6fc38c0ac 100644
--- a/app/src/main/java/org/oxycblt/auxio/musikr/tag/AudioFile.kt
+++ b/app/src/main/java/org/oxycblt/auxio/musikr/tag/AudioFile.kt
@@ -1,6 +1,6 @@
package org.oxycblt.auxio.musikr.tag
-import org.oxycblt.auxio.music.info.Date
+import org.oxycblt.auxio.musikr.model.Date
import org.oxycblt.auxio.musikr.fs.DeviceFile
data class AudioFile(
diff --git a/app/src/main/java/org/oxycblt/auxio/musikr/tag/cache/TagDatabase.kt b/app/src/main/java/org/oxycblt/auxio/musikr/tag/cache/TagDatabase.kt
index 05db90e45..54d7d848e 100644
--- a/app/src/main/java/org/oxycblt/auxio/musikr/tag/cache/TagDatabase.kt
+++ b/app/src/main/java/org/oxycblt/auxio/musikr/tag/cache/TagDatabase.kt
@@ -28,7 +28,7 @@ import androidx.room.Query
import androidx.room.RoomDatabase
import androidx.room.TypeConverter
import androidx.room.TypeConverters
-import org.oxycblt.auxio.music.info.Date
+import org.oxycblt.auxio.musikr.model.Date
import org.oxycblt.auxio.musikr.tag.AudioFile
import org.oxycblt.auxio.musikr.fs.DeviceFile
import org.oxycblt.auxio.musikr.tag.extractor.correctWhitespace
diff --git a/app/src/main/java/org/oxycblt/auxio/musikr/tag/extractor/TagFields.kt b/app/src/main/java/org/oxycblt/auxio/musikr/tag/extractor/TagFields.kt
index c1012e119..55960bc26 100644
--- a/app/src/main/java/org/oxycblt/auxio/musikr/tag/extractor/TagFields.kt
+++ b/app/src/main/java/org/oxycblt/auxio/musikr/tag/extractor/TagFields.kt
@@ -19,7 +19,7 @@
package org.oxycblt.auxio.musikr.tag.extractor
import androidx.core.text.isDigitsOnly
-import org.oxycblt.auxio.music.info.Date
+import org.oxycblt.auxio.musikr.model.Date
import org.oxycblt.auxio.util.nonZeroOrNull
// Song
diff --git a/app/src/main/java/org/oxycblt/auxio/playback/service/MediaSessionInterface.kt b/app/src/main/java/org/oxycblt/auxio/playback/service/MediaSessionInterface.kt
index 03afc4363..9f91a213e 100644
--- a/app/src/main/java/org/oxycblt/auxio/playback/service/MediaSessionInterface.kt
+++ b/app/src/main/java/org/oxycblt/auxio/playback/service/MediaSessionInterface.kt
@@ -38,7 +38,7 @@ import org.oxycblt.auxio.music.MusicParent
import org.oxycblt.auxio.music.MusicRepository
import org.oxycblt.auxio.music.Playlist
import org.oxycblt.auxio.music.Song
-import org.oxycblt.auxio.music.info.Name
+import org.oxycblt.auxio.musikr.model.Name
import org.oxycblt.auxio.music.service.MediaSessionUID
import org.oxycblt.auxio.music.service.MusicBrowser
import org.oxycblt.auxio.playback.state.PlaybackCommand
diff --git a/app/src/main/java/org/oxycblt/auxio/search/SearchEngine.kt b/app/src/main/java/org/oxycblt/auxio/search/SearchEngine.kt
index 8af33ebbc..9a5a67e03 100644
--- a/app/src/main/java/org/oxycblt/auxio/search/SearchEngine.kt
+++ b/app/src/main/java/org/oxycblt/auxio/search/SearchEngine.kt
@@ -28,7 +28,7 @@ import org.oxycblt.auxio.music.Genre
import org.oxycblt.auxio.music.Music
import org.oxycblt.auxio.music.Playlist
import org.oxycblt.auxio.music.Song
-import org.oxycblt.auxio.music.info.Name
+import org.oxycblt.auxio.musikr.model.Name
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/util/LangUtil.kt b/app/src/main/java/org/oxycblt/auxio/util/LangUtil.kt
index 8b8d8c6a1..9f87531fc 100644
--- a/app/src/main/java/org/oxycblt/auxio/util/LangUtil.kt
+++ b/app/src/main/java/org/oxycblt/auxio/util/LangUtil.kt
@@ -22,7 +22,7 @@ import java.security.MessageDigest
import java.util.UUID
import kotlin.reflect.KClass
import org.oxycblt.auxio.BuildConfig
-import org.oxycblt.auxio.music.info.Date
+import org.oxycblt.auxio.musikr.model.Date
/**
* Sanitizes a value that is unlikely to be null. On debug builds, this aliases to [requireNotNull],
diff --git a/app/src/test/java/org/oxycblt/auxio/music/info/DateTest.kt b/app/src/test/java/org/oxycblt/auxio/music/info/DateTest.kt
index b63639e27..43848e598 100644
--- a/app/src/test/java/org/oxycblt/auxio/music/info/DateTest.kt
+++ b/app/src/test/java/org/oxycblt/auxio/music/info/DateTest.kt
@@ -21,6 +21,7 @@ package org.oxycblt.auxio.music.info
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Test
+import org.oxycblt.auxio.musikr.model.Date
class DateTest {
@Test
diff --git a/app/src/test/java/org/oxycblt/auxio/music/info/DiscTest.kt b/app/src/test/java/org/oxycblt/auxio/music/info/DiscTest.kt
index 9b428acac..3c80b9022 100644
--- a/app/src/test/java/org/oxycblt/auxio/music/info/DiscTest.kt
+++ b/app/src/test/java/org/oxycblt/auxio/music/info/DiscTest.kt
@@ -20,6 +20,7 @@ package org.oxycblt.auxio.music.info
import org.junit.Assert.assertEquals
import org.junit.Test
+import org.oxycblt.auxio.musikr.model.Disc
class DiscTest {
@Test
diff --git a/app/src/test/java/org/oxycblt/auxio/music/info/NameTest.kt b/app/src/test/java/org/oxycblt/auxio/music/info/NameTest.kt
index 078a1f154..59c07c36f 100644
--- a/app/src/test/java/org/oxycblt/auxio/music/info/NameTest.kt
+++ b/app/src/test/java/org/oxycblt/auxio/music/info/NameTest.kt
@@ -21,6 +21,8 @@ package org.oxycblt.auxio.music.info
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotEquals
import org.junit.Test
+import org.oxycblt.auxio.musikr.model.Name
+import org.oxycblt.auxio.musikr.model.SortToken
class NameTest {
@Test
diff --git a/app/src/test/java/org/oxycblt/auxio/music/info/ReleaseTypeTest.kt b/app/src/test/java/org/oxycblt/auxio/music/info/ReleaseTypeTest.kt
index 1294e3daf..1cc3a3769 100644
--- a/app/src/test/java/org/oxycblt/auxio/music/info/ReleaseTypeTest.kt
+++ b/app/src/test/java/org/oxycblt/auxio/music/info/ReleaseTypeTest.kt
@@ -20,6 +20,7 @@ package org.oxycblt.auxio.music.info
import org.junit.Assert.assertEquals
import org.junit.Test
+import org.oxycblt.auxio.musikr.model.ReleaseType
class ReleaseTypeTest {
@Test
diff --git a/app/src/test/java/org/oxycblt/auxio/music/metadata/TagUtilTest.kt b/app/src/test/java/org/oxycblt/auxio/music/metadata/TagUtilTest.kt
index b018f18ec..a8291ab8c 100644
--- a/app/src/test/java/org/oxycblt/auxio/music/metadata/TagUtilTest.kt
+++ b/app/src/test/java/org/oxycblt/auxio/music/metadata/TagUtilTest.kt
@@ -24,7 +24,7 @@ import org.oxycblt.auxio.musikr.tag.extractor.correctWhitespace
import org.oxycblt.auxio.musikr.tag.extractor.parseId3v2PositionField
import org.oxycblt.auxio.musikr.tag.extractor.parseVorbisPositionField
import org.oxycblt.auxio.musikr.tag.extractor.splitEscaped
-import org.oxycblt.auxio.musikr.model.interpret.parseId3GenreNames
+import org.oxycblt.auxio.musikr.interpret.prepare.parseId3GenreNames
class TagUtilTest {
@Test