From b2073f2213dce453fbe54e1c0b3a1c50f069c2fe Mon Sep 17 00:00:00 2001 From: Alexander Capehart Date: Tue, 21 Jan 2025 16:14:24 -0700 Subject: [PATCH] musikr: use interpreter instead of taginterpreter --- musikr/src/main/java/org/oxycblt/musikr/Config.kt | 3 +-- .../main/java/org/oxycblt/musikr/pipeline/EvaluateStep.kt | 8 ++++---- .../tag/interpret/{TagInterpreter.kt => Interpreter.kt} | 6 +++--- 3 files changed, 8 insertions(+), 9 deletions(-) rename musikr/src/main/java/org/oxycblt/musikr/tag/interpret/{TagInterpreter.kt => Interpreter.kt} (96%) diff --git a/musikr/src/main/java/org/oxycblt/musikr/Config.kt b/musikr/src/main/java/org/oxycblt/musikr/Config.kt index 50d866190..6e1801111 100644 --- a/musikr/src/main/java/org/oxycblt/musikr/Config.kt +++ b/musikr/src/main/java/org/oxycblt/musikr/Config.kt @@ -28,13 +28,12 @@ import org.oxycblt.musikr.tag.interpret.Separators data class Storage( /** * A repository of cached metadata to read and write from over the course of music loading only. - * This will be used only during music loading. */ val cache: MutableSongCache, /** * A repository of cover images to for re-use during music loading. Should be kept in lock-step - * with the cache for best performance. This will be used during music loading and when + * with the [cache] for best performance. This will be used during music loading and when * retrieving cover information from the library. */ val covers: MutableCovers, diff --git a/musikr/src/main/java/org/oxycblt/musikr/pipeline/EvaluateStep.kt b/musikr/src/main/java/org/oxycblt/musikr/pipeline/EvaluateStep.kt index ef0599037..ddc15d0a7 100644 --- a/musikr/src/main/java/org/oxycblt/musikr/pipeline/EvaluateStep.kt +++ b/musikr/src/main/java/org/oxycblt/musikr/pipeline/EvaluateStep.kt @@ -33,7 +33,7 @@ import org.oxycblt.musikr.graph.MusicGraph import org.oxycblt.musikr.model.LibraryFactory import org.oxycblt.musikr.playlist.db.StoredPlaylists import org.oxycblt.musikr.playlist.interpret.PlaylistInterpreter -import org.oxycblt.musikr.tag.interpret.TagInterpreter +import org.oxycblt.musikr.tag.interpret.Interpreter internal interface EvaluateStep { suspend fun evaluate(complete: Flow): MutableLibrary @@ -41,7 +41,7 @@ internal interface EvaluateStep { companion object { fun new(storage: Storage, interpretation: Interpretation): EvaluateStep = EvaluateStepImpl( - TagInterpreter.new(interpretation), + Interpreter.new(interpretation), PlaylistInterpreter.new(interpretation), storage.storedPlaylists, LibraryFactory.new()) @@ -49,7 +49,7 @@ internal interface EvaluateStep { } private class EvaluateStepImpl( - private val tagInterpreter: TagInterpreter, + private val interpreter: Interpreter, private val playlistInterpreter: PlaylistInterpreter, private val storedPlaylists: StoredPlaylists, private val libraryFactory: LibraryFactory @@ -65,7 +65,7 @@ private class EvaluateStepImpl( val rawSongs = filterFlow.right val preSongs = rawSongs - .tryMap { tagInterpreter.interpret(it) } + .tryMap { interpreter.interpret(it) } .flowOn(Dispatchers.Default) .buffer(Channel.UNLIMITED) val prePlaylists = diff --git a/musikr/src/main/java/org/oxycblt/musikr/tag/interpret/TagInterpreter.kt b/musikr/src/main/java/org/oxycblt/musikr/tag/interpret/Interpreter.kt similarity index 96% rename from musikr/src/main/java/org/oxycblt/musikr/tag/interpret/TagInterpreter.kt rename to musikr/src/main/java/org/oxycblt/musikr/tag/interpret/Interpreter.kt index 1deb269aa..a4d24af4f 100644 --- a/musikr/src/main/java/org/oxycblt/musikr/tag/interpret/TagInterpreter.kt +++ b/musikr/src/main/java/org/oxycblt/musikr/tag/interpret/Interpreter.kt @@ -30,15 +30,15 @@ import org.oxycblt.musikr.tag.format.parseId3GenreNames import org.oxycblt.musikr.tag.parse.ParsedTags import org.oxycblt.musikr.util.toUuidOrNull -internal interface TagInterpreter { +internal interface Interpreter { fun interpret(song: RawSong): PreSong companion object { - fun new(interpretation: Interpretation): TagInterpreter = TagInterpreterImpl(interpretation) + fun new(interpretation: Interpretation): Interpreter = InterpreterImpl(interpretation) } } -private class TagInterpreterImpl(private val interpretation: Interpretation) : TagInterpreter { +private class InterpreterImpl(private val interpretation: Interpretation) : Interpreter { override fun interpret(song: RawSong): PreSong { val individualPreArtists = makePreArtists(