diff --git a/lib/music_library.ex b/lib/music_library.ex index 6fe958e3..5d4d03bf 100644 --- a/lib/music_library.ex +++ b/lib/music_library.ex @@ -22,7 +22,6 @@ defmodule MusicLibrary do - `MusicLibrary.ScrobbleRules` - Rules system for normalizing scrobbled track metadata ### Content and Metadata Management - - `MusicLibrary.Colors` - Color extraction from album artwork using fast or slow algorithms - `MusicLibrary.OnlineStoreTemplates` - Configurable templates for generating online store URLs - `MusicLibrary.Secrets` - Encrypted storage for API keys and sensitive configuration """ diff --git a/lib/music_library/colors.ex b/lib/music_library/colors.ex deleted file mode 100644 index a6b5fd33..00000000 --- a/lib/music_library/colors.ex +++ /dev/null @@ -1,11 +0,0 @@ -defmodule MusicLibrary.Colors do - alias MusicLibrary.Colors.{ColorFrequencyExtractor, EdgeWeightedExtractor} - - def extract_colors(image_data, :fast) do - ColorFrequencyExtractor.extract_dominant_colors(image_data) - end - - def extract_colors(image_data, :slow) do - EdgeWeightedExtractor.extract_dominant_colors(image_data) - end -end diff --git a/lib/music_library/worker/extract_colors.ex b/lib/music_library/worker/extract_colors.ex index fcb82eeb..fb6aa4c6 100644 --- a/lib/music_library/worker/extract_colors.ex +++ b/lib/music_library/worker/extract_colors.ex @@ -1,7 +1,8 @@ defmodule MusicLibrary.Worker.ExtractColors do use Oban.Worker, queue: :heavy_writes, max_attempts: 3 - alias MusicLibrary.{Assets, Colors, Records} + alias MusicLibrary.{Assets, Records} + alias MusicLibrary.Colors.{ColorFrequencyExtractor, EdgeWeightedExtractor} @impl Oban.Worker def perform(%Oban.Job{args: %{"id" => record_id, "method" => method}}) do @@ -9,9 +10,15 @@ defmodule MusicLibrary.Worker.ExtractColors do asset = Assets.get!(record.cover_hash) method = String.to_existing_atom(method) - with {:ok, colors} <- Colors.extract_colors(asset.content, method), + with {:ok, colors} <- extract_colors(asset.content, method), {:ok, updated_record} <- Records.update_record(record, %{dominant_colors: colors}) do MusicLibrary.Records.notify_update(updated_record) end end + + defp extract_colors(image_data, :fast), + do: ColorFrequencyExtractor.extract_dominant_colors(image_data) + + defp extract_colors(image_data, :slow), + do: EdgeWeightedExtractor.extract_dominant_colors(image_data) end