From 189329cd20707ade14e9ddd44883fd72ae80c3d0 Mon Sep 17 00:00:00 2001 From: Marcel van der Veldt Date: Thu, 20 Jul 2023 01:11:36 +0200 Subject: [PATCH] Switch to SVG for all provider icons (#782) --- .../common/models/config_entries.py | 4 -- music_assistant/common/models/provider.py | 17 +++--- music_assistant/constants.py | 9 +++ music_assistant/server/controllers/cache.py | 2 +- music_assistant/server/controllers/config.py | 33 +++-------- .../server/controllers/metadata.py | 2 +- music_assistant/server/controllers/music.py | 2 +- .../server/controllers/player_queues.py | 2 +- music_assistant/server/controllers/players.py | 2 +- music_assistant/server/controllers/streams.py | 2 +- .../server/controllers/webserver.py | 2 +- music_assistant/server/helpers/images.py | 15 ++--- .../server/models/core_controller.py | 2 +- .../server/providers/airplay/manifest.json | 2 +- .../server/providers/chromecast/manifest.json | 2 +- .../server/providers/deezer/icon.svg | 54 +----------------- .../server/providers/dlna/icon.png | Bin 20428 -> 0 bytes .../server/providers/dlna/icon.svg | 3 + .../server/providers/dlna/manifest.json | 3 +- .../server/providers/fanarttv/manifest.json | 2 +- .../providers/filesystem_local/manifest.json | 2 +- .../providers/filesystem_smb/manifest.json | 2 +- .../server/providers/musicbrainz/icon.svg | 1 + .../providers/musicbrainz/icon_dark.svg | 16 ++++++ .../server/providers/plex/icon.png | Bin 40346 -> 0 bytes .../server/providers/plex/icon.svg | 4 ++ .../server/providers/qobuz/icon.png | Bin 11363 -> 0 bytes .../server/providers/qobuz/icon.svg | 4 ++ .../server/providers/qobuz/icon_dark.svg | 4 ++ .../server/providers/radiobrowser/icon.png | Bin 36674 -> 0 bytes .../providers/radiobrowser/manifest.json | 3 +- .../server/providers/slimproto/cli.py | 2 +- .../server/providers/slimproto/icon.png | Bin 20186 -> 0 bytes .../server/providers/slimproto/icon.svg | 5 ++ .../server/providers/sonos/icon.png | Bin 40528 -> 0 bytes .../server/providers/sonos/icon.svg | 11 ++++ .../server/providers/soundcloud/icon.png | Bin 15151 -> 0 bytes .../server/providers/soundcloud/icon.svg | 1 + .../server/providers/spotify/icon.png | Bin 20017 -> 0 bytes .../server/providers/spotify/icon.svg | 1 + .../server/providers/theaudiodb/manifest.json | 2 +- .../server/providers/tidal/icon.png | Bin 1070 -> 0 bytes .../server/providers/tidal/icon.svg | 6 ++ .../server/providers/tidal/icon_dark.svg | 6 ++ .../server/providers/tunein/icon.png | Bin 23800 -> 0 bytes .../server/providers/tunein/icon.svg | 4 ++ .../server/providers/ugp/manifest.json | 2 +- .../server/providers/url/manifest.json | 2 +- .../server/providers/ytmusic/icon.png | Bin 5602 -> 0 bytes .../server/providers/ytmusic/icon.svg | 4 ++ music_assistant/server/server.py | 49 ++++++++-------- 51 files changed, 150 insertions(+), 141 deletions(-) delete mode 100644 music_assistant/server/providers/dlna/icon.png create mode 100755 music_assistant/server/providers/dlna/icon.svg create mode 100644 music_assistant/server/providers/musicbrainz/icon.svg create mode 100644 music_assistant/server/providers/musicbrainz/icon_dark.svg delete mode 100644 music_assistant/server/providers/plex/icon.png create mode 100644 music_assistant/server/providers/plex/icon.svg delete mode 100644 music_assistant/server/providers/qobuz/icon.png create mode 100755 music_assistant/server/providers/qobuz/icon.svg create mode 100755 music_assistant/server/providers/qobuz/icon_dark.svg delete mode 100644 music_assistant/server/providers/radiobrowser/icon.png delete mode 100644 music_assistant/server/providers/slimproto/icon.png create mode 100755 music_assistant/server/providers/slimproto/icon.svg delete mode 100644 music_assistant/server/providers/sonos/icon.png create mode 100644 music_assistant/server/providers/sonos/icon.svg delete mode 100644 music_assistant/server/providers/soundcloud/icon.png create mode 100644 music_assistant/server/providers/soundcloud/icon.svg delete mode 100644 music_assistant/server/providers/spotify/icon.png create mode 100644 music_assistant/server/providers/spotify/icon.svg delete mode 100644 music_assistant/server/providers/tidal/icon.png create mode 100755 music_assistant/server/providers/tidal/icon.svg create mode 100755 music_assistant/server/providers/tidal/icon_dark.svg delete mode 100644 music_assistant/server/providers/tunein/icon.png create mode 100644 music_assistant/server/providers/tunein/icon.svg delete mode 100644 music_assistant/server/providers/ytmusic/icon.png create mode 100755 music_assistant/server/providers/ytmusic/icon.svg diff --git a/music_assistant/common/models/config_entries.py b/music_assistant/common/models/config_entries.py index 4e9974dc..ae2c673a 100644 --- a/music_assistant/common/models/config_entries.py +++ b/music_assistant/common/models/config_entries.py @@ -10,7 +10,6 @@ from typing import Any from mashumaro import DataClassDictMixin from music_assistant.common.models.enums import ProviderType -from music_assistant.common.models.provider import ProviderManifest from music_assistant.constants import ( CONF_AUTO_PLAY, CONF_CROSSFADE_DURATION, @@ -183,7 +182,6 @@ class Config(DataClassDictMixin): return value.value res = self.to_dict() - res.pop("manifest", None) # filter out from storage res["values"] = { x.key: _handle_value(x) for x in self.values.values() @@ -244,7 +242,6 @@ class ProviderConfig(Config): type: ProviderType domain: str instance_id: str - manifest: ProviderManifest | None = None # copied here for UI convenience only # enabled: boolean to indicate if the provider is enabled enabled: bool = True # name: an (optional) custom name for this provider instance/config @@ -274,7 +271,6 @@ class CoreConfig(Config): """CoreController Configuration.""" domain: str # domain/name of the core module - manifest: ProviderManifest | None = None # copied here for UI convenience only # last_error: an optional error message if the module could not be setup with this config last_error: str | None = None diff --git a/music_assistant/common/models/provider.py b/music_assistant/common/models/provider.py index 5e6a66f7..b953ee3e 100644 --- a/music_assistant/common/models/provider.py +++ b/music_assistant/common/models/provider.py @@ -37,15 +37,16 @@ class ProviderManifest(DataClassORJSONMixin): load_by_default: bool = False # depends_on: depends on another provider to function depends_on: str | None = None - # icon: icon url (svg or transparent png) max 256 pixels - # may also be a direct base64 encoded image string - # if this attribute is omitted and an icon.svg or icon.png is found in the provider - # folder, it will be read instead. + # icon: name of the material design icon (https://pictogrammers.com/library/mdi) icon: str | None = None - # icon_dark: optional separate dark icon - # if this attribute is omitted and an icon_dark.svg or icon_dark.png is found in the provider - # folder, it will be read instead. - icon_dark: str | None = None + # icon_svg: svg icon (full xml string) + # if this attribute is omitted and an icon.svg is found in the provider + # folder, the file contents will be read instead. + icon_svg: str | None = None + # icon_svg_dark: optional separate dark svg icon (full xml string) + # if this attribute is omitted and an icon_dark.svg is found in the provider + # folder, the file contents will be read instead. + icon_svg_dark: str | None = None @classmethod async def parse(cls: "ProviderManifest", manifest_file: str) -> "ProviderManifest": diff --git a/music_assistant/constants.py b/music_assistant/constants.py index 8ed067ac..38c06e89 100755 --- a/music_assistant/constants.py +++ b/music_assistant/constants.py @@ -76,3 +76,12 @@ MASS_LOGO_ONLINE: Final[ ] = "https://github.com/home-assistant/brands/raw/master/custom_integrations/mass/icon%402x.png" ENCRYPT_SUFFIX = "_encrypted_" SECURE_STRING_SUBSTITUTE = "this_value_is_encrypted" +CONFIGURABLE_CORE_CONTROLLERS = ( + "streams", + "webserver", + "players", + "metadata", + "cache", + "music", + "player_queues", +) diff --git a/music_assistant/server/controllers/cache.py b/music_assistant/server/controllers/cache.py index 7e84dce2..fdb2cddc 100644 --- a/music_assistant/server/controllers/cache.py +++ b/music_assistant/server/controllers/cache.py @@ -43,7 +43,7 @@ class CacheController(CoreController): self.manifest.description = ( "Music Assistant's core controller for caching data throughout the application." ) - self.manifest.icon = "mdi-memory" + self.manifest.icon = "memory" async def get_config_entries( self, diff --git a/music_assistant/server/controllers/config.py b/music_assistant/server/controllers/config.py index 08a2ec8e..a08784ef 100644 --- a/music_assistant/server/controllers/config.py +++ b/music_assistant/server/controllers/config.py @@ -32,6 +32,7 @@ from music_assistant.constants import ( CONF_PLAYERS, CONF_PROVIDERS, CONF_SERVER_ID, + CONFIGURABLE_CORE_CONTROLLERS, ENCRYPT_SUFFIX, ) from music_assistant.server.helpers.api import api_command @@ -50,16 +51,6 @@ isfile = wrap(os.path.isfile) remove = wrap(os.remove) rename = wrap(os.rename) -CONFIGURABLE_CORE_CONTROLLERS = ( - "streams", - "webserver", - "players", - "metadata", - "cache", - "music", - "player_queues", -) - class ConfigController: """Controller that handles storage of persistent configuration settings.""" @@ -172,7 +163,7 @@ class ConfigController: ) -> list[ProviderConfig]: """Return all known provider configurations, optionally filtered by ProviderType.""" raw_values: dict[str, dict] = self.get(CONF_PROVIDERS, {}) - prov_entries = {x.domain for x in self.mass.get_available_providers()} + prov_entries = {x.domain for x in self.mass.get_provider_manifests()} return [ await self.get_provider_config(prov_conf["instance_id"]) for prov_conf in raw_values.values() @@ -189,16 +180,12 @@ class ConfigController: config_entries = await self.get_provider_config_entries( raw_conf["domain"], instance_id=instance_id, values=raw_conf.get("values") ) - for prov in self.mass.get_available_providers(): + for prov in self.mass.get_provider_manifests(): if prov.domain == raw_conf["domain"]: - manifest = prov break else: raise KeyError(f'Unknown provider domain: {raw_conf["domain"]}') - conf: ProviderConfig = ProviderConfig.parse(config_entries, raw_conf) - # always copy the manifest to help the UI a bit - conf.manifest = manifest - return conf + return ProviderConfig.parse(config_entries, raw_conf) raise KeyError(f"No config found for provider id {instance_id}") @api_command("config/providers/get_value") @@ -234,7 +221,7 @@ class ConfigController: values: the (intermediate) raw values for config entries sent with the action. """ # lookup provider manifest and module - for prov in self.mass.get_available_providers(): + for prov in self.mass.get_provider_manifests(): if prov.domain == provider_domain: prov_mod = await get_provider_module(provider_domain) break @@ -446,7 +433,7 @@ class ConfigController: for conf in await self.get_provider_configs(provider_domain=provider_domain): # return if there is already a config return - for prov in self.mass.get_available_providers(): + for prov in self.mass.get_provider_manifests(): if prov.domain == provider_domain: manifest = prov break @@ -482,13 +469,9 @@ class ConfigController: @api_command("config/core/get") async def get_core_config(self, domain: str) -> CoreConfig: """Return configuration for a single core controller.""" - core_controller: CoreController = getattr(self.mass, domain) raw_conf = self.get(f"{CONF_CORE}/{domain}", {"domain": domain}) config_entries = await self.get_core_config_entries(domain) - conf: CoreConfig = CoreConfig.parse(config_entries, raw_conf) - # always copy the manifest to help the UI a bit - conf.manifest = core_controller.manifest - return conf + return CoreConfig.parse(config_entries, raw_conf) @api_command("config/core/get_value") async def get_core_config_value(self, domain: str, key: str) -> ConfigValueType: @@ -662,7 +645,7 @@ class ConfigController: Returns: newly created ProviderConfig. """ # lookup provider manifest and module - for prov in self.mass.get_available_providers(): + for prov in self.mass.get_provider_manifests(): if prov.domain == provider_domain: manifest = prov break diff --git a/music_assistant/server/controllers/metadata.py b/music_assistant/server/controllers/metadata.py index 4ab8ce52..2c46a618 100755 --- a/music_assistant/server/controllers/metadata.py +++ b/music_assistant/server/controllers/metadata.py @@ -53,7 +53,7 @@ class MetaDataController(CoreController): self.manifest.description = ( "Music Assistant's core controller which handles all metadata for music." ) - self.manifest.icon = "mdi-book-information-variant" + self.manifest.icon = "book-information-variant" async def setup(self, config: CoreConfig) -> None: # noqa: ARG002 """Async initialize of module.""" diff --git a/music_assistant/server/controllers/music.py b/music_assistant/server/controllers/music.py index c61c12c2..664553cd 100755 --- a/music_assistant/server/controllers/music.py +++ b/music_assistant/server/controllers/music.py @@ -75,7 +75,7 @@ class MusicController(CoreController): self.manifest.description = ( "Music Assistant's core controller which manages all music from all providers." ) - self.manifest.icon = "mdi-archive-music" + self.manifest.icon = "archive-music" self._sync_task: asyncio.Task | None = None async def get_config_entries( diff --git a/music_assistant/server/controllers/player_queues.py b/music_assistant/server/controllers/player_queues.py index 592f76f3..5e9e59fe 100755 --- a/music_assistant/server/controllers/player_queues.py +++ b/music_assistant/server/controllers/player_queues.py @@ -49,7 +49,7 @@ class PlayerQueuesController(CoreController): self.manifest.description = ( "Music Assistant's core controller which manages the queues for all players." ) - self.manifest.icon = "mdi-playlist-music" + self.manifest.icon = "playlist-music" async def close(self) -> None: """Cleanup on exit.""" diff --git a/music_assistant/server/controllers/players.py b/music_assistant/server/controllers/players.py index 86e7203d..977c8967 100755 --- a/music_assistant/server/controllers/players.py +++ b/music_assistant/server/controllers/players.py @@ -51,7 +51,7 @@ class PlayerController(CoreController): self.manifest.description = ( "Music Assistant's core controller which manages all players from all providers." ) - self.manifest.icon = "mdi-speaker-multiple" + self.manifest.icon = "speaker-multiple" self._poll_task: asyncio.Task | None = None async def setup(self, config: CoreConfig) -> None: # noqa: ARG002 diff --git a/music_assistant/server/controllers/streams.py b/music_assistant/server/controllers/streams.py index cd461da4..85f48103 100644 --- a/music_assistant/server/controllers/streams.py +++ b/music_assistant/server/controllers/streams.py @@ -271,7 +271,7 @@ class StreamsController(CoreController): "streaming audio to players on the local network as well as " "some player specific local control callbacks." ) - self.manifest.icon = "mdi-cast-audio" + self.manifest.icon = "cast-audio" @property def base_url(self) -> str: diff --git a/music_assistant/server/controllers/webserver.py b/music_assistant/server/controllers/webserver.py index 28317193..2c802102 100644 --- a/music_assistant/server/controllers/webserver.py +++ b/music_assistant/server/controllers/webserver.py @@ -64,7 +64,7 @@ class WebserverController(CoreController): self.manifest.description = ( "The built-in webserver that hosts the Music Assistant Websockets API and frontend" ) - self.manifest.icon = "mdi-web-box" + self.manifest.icon = "web-box" @property def base_url(self) -> str: diff --git a/music_assistant/server/helpers/images.py b/music_assistant/server/helpers/images.py index fa153627..66880ee5 100644 --- a/music_assistant/server/helpers/images.py +++ b/music_assistant/server/helpers/images.py @@ -3,7 +3,6 @@ from __future__ import annotations import asyncio import random -from base64 import b64encode from io import BytesIO from typing import TYPE_CHECKING @@ -79,12 +78,10 @@ async def create_collage(mass: MusicAssistant, images: list[MediaItemImage]) -> async def get_icon_string(icon_path: str) -> str: - """Get icon as (base64 encoded) string.""" + """Get svg icon as string.""" ext = icon_path.rsplit(".")[-1] - assert ext in ("png", "svg", "ico", "jpg") - async with aiofiles.open(icon_path, "rb") as _file: - img_data = await _file.read() - enc_image = b64encode(img_data).decode() - if ext == "svg": - return f"data:image/svg+xml;base64,{enc_image}" - return f"data:image/{ext};base64,{enc_image}" + assert ext == "svg" + async with aiofiles.open(icon_path, "r") as _file: + xml_data = await _file.read() + xml_data = xml_data.replace("\n", "").strip() + return xml_data diff --git a/music_assistant/server/models/core_controller.py b/music_assistant/server/models/core_controller.py index 782299ca..6018c095 100644 --- a/music_assistant/server/models/core_controller.py +++ b/music_assistant/server/models/core_controller.py @@ -38,7 +38,7 @@ class CoreController: name=f"{self.domain.title()} Core controller", description=f"{self.domain.title()} Core controller", codeowners=["@music-assistant"], - icon="mdi:puzzle-outline", + icon="puzzle-outline", ) async def get_config_entries( diff --git a/music_assistant/server/providers/airplay/manifest.json b/music_assistant/server/providers/airplay/manifest.json index 4e26fb48..38598a2f 100644 --- a/music_assistant/server/providers/airplay/manifest.json +++ b/music_assistant/server/providers/airplay/manifest.json @@ -10,5 +10,5 @@ "builtin": false, "load_by_default": true, "depends_on": "slimproto", - "icon": "md:airplay" + "icon":"cast-variant" } diff --git a/music_assistant/server/providers/chromecast/manifest.json b/music_assistant/server/providers/chromecast/manifest.json index 8dd1f46f..dcb77c89 100644 --- a/music_assistant/server/providers/chromecast/manifest.json +++ b/music_assistant/server/providers/chromecast/manifest.json @@ -9,5 +9,5 @@ "multi_instance": false, "builtin": false, "load_by_default": true, - "icon": "md:cast" + "icon": "cast" } diff --git a/music_assistant/server/providers/deezer/icon.svg b/music_assistant/server/providers/deezer/icon.svg index 0704de6c..04948c25 100644 --- a/music_assistant/server/providers/deezer/icon.svg +++ b/music_assistant/server/providers/deezer/icon.svg @@ -1,53 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/music_assistant/server/providers/dlna/icon.png b/music_assistant/server/providers/dlna/icon.png deleted file mode 100644 index 14c34a41a4706c1d74ed8c375b8d0362fa8743a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20428 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

}rx0%9+zwIAtLY!sHY;T$mrcs-sY{4P5H*q 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 DBQKLG diff --git a/music_assistant/server/providers/dlna/icon.svg b/music_assistant/server/providers/dlna/icon.svg new file mode 100755 index 00000000..10e19efa --- /dev/null +++ b/music_assistant/server/providers/dlna/icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/music_assistant/server/providers/dlna/manifest.json b/music_assistant/server/providers/dlna/manifest.json index a5eea0be..b637e980 100644 --- a/music_assistant/server/providers/dlna/manifest.json +++ b/music_assistant/server/providers/dlna/manifest.json @@ -8,5 +8,6 @@ "documentation": "https://github.com/music-assistant/hass-music-assistant/discussions/1139", "multi_instance": false, "builtin": false, - "load_by_default": true + "load_by_default": true, + "icon": "dlna" } diff --git a/music_assistant/server/providers/fanarttv/manifest.json b/music_assistant/server/providers/fanarttv/manifest.json index 092c1227..fcac306e 100644 --- a/music_assistant/server/providers/fanarttv/manifest.json +++ b/music_assistant/server/providers/fanarttv/manifest.json @@ -9,5 +9,5 @@ "multi_instance": false, "builtin": true, "load_by_default": true, - "icon": "mdi-folder-information" + "icon": "folder-information" } diff --git a/music_assistant/server/providers/filesystem_local/manifest.json b/music_assistant/server/providers/filesystem_local/manifest.json index 16ad423a..5f8a6a29 100644 --- a/music_assistant/server/providers/filesystem_local/manifest.json +++ b/music_assistant/server/providers/filesystem_local/manifest.json @@ -7,5 +7,5 @@ "requirements": [], "documentation": "https://github.com/music-assistant/hass-music-assistant/discussions/820", "multi_instance": true, - "icon": "mdi:mdi-harddisk" + "icon": "harddisk" } diff --git a/music_assistant/server/providers/filesystem_smb/manifest.json b/music_assistant/server/providers/filesystem_smb/manifest.json index 4566279e..88981a6d 100644 --- a/music_assistant/server/providers/filesystem_smb/manifest.json +++ b/music_assistant/server/providers/filesystem_smb/manifest.json @@ -7,5 +7,5 @@ "requirements": [], "documentation": "https://github.com/music-assistant/hass-music-assistant/discussions/820", "multi_instance": true, - "icon": "mdi:mdi-network" + "icon": "network" } diff --git a/music_assistant/server/providers/musicbrainz/icon.svg b/music_assistant/server/providers/musicbrainz/icon.svg new file mode 100644 index 00000000..fde0f687 --- /dev/null +++ b/music_assistant/server/providers/musicbrainz/icon.svg @@ -0,0 +1 @@ +MusicBrainz diff --git a/music_assistant/server/providers/musicbrainz/icon_dark.svg b/music_assistant/server/providers/musicbrainz/icon_dark.svg new file mode 100644 index 00000000..249e9ada --- /dev/null +++ b/music_assistant/server/providers/musicbrainz/icon_dark.svg @@ -0,0 +1,16 @@ + + + + + + + + + +MusicBrainz icon + + + + + + diff --git a/music_assistant/server/providers/plex/icon.png b/music_assistant/server/providers/plex/icon.png deleted file mode 100644 index 85bf53fe869b841942209533c906c41d6e8cc634..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40346 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 diff --git a/music_assistant/server/providers/plex/icon.svg b/music_assistant/server/providers/plex/icon.svg new file mode 100644 index 00000000..7c994b84 --- /dev/null +++ b/music_assistant/server/providers/plex/icon.svg @@ -0,0 +1,4 @@ + diff --git a/music_assistant/server/providers/qobuz/icon.png b/music_assistant/server/providers/qobuz/icon.png deleted file mode 100644 index 9d7b726cac2450e4662346df950675be7949cf79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11363 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 F{||p8c8~x7 diff --git a/music_assistant/server/providers/qobuz/icon.svg b/music_assistant/server/providers/qobuz/icon.svg new file mode 100755 index 00000000..38d3349f --- /dev/null +++ b/music_assistant/server/providers/qobuz/icon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/music_assistant/server/providers/qobuz/icon_dark.svg b/music_assistant/server/providers/qobuz/icon_dark.svg new file mode 100755 index 00000000..2fc68c88 --- /dev/null +++ b/music_assistant/server/providers/qobuz/icon_dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/music_assistant/server/providers/radiobrowser/icon.png b/music_assistant/server/providers/radiobrowser/icon.png deleted file mode 100644 index 20672a23557e27a4b8ecd283cfec7539d13a7399..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36674 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 l>s|-{zvF-85{=QxT}xwORfqR + + + + diff --git a/music_assistant/server/providers/sonos/icon.png b/music_assistant/server/providers/sonos/icon.png deleted file mode 100644 index d00f12ac4780e2e70c33e978203e6933b87c9543..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40528 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 diff --git a/music_assistant/server/providers/sonos/icon.svg b/music_assistant/server/providers/sonos/icon.svg new file mode 100644 index 00000000..60d9e677 --- /dev/null +++ b/music_assistant/server/providers/sonos/icon.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/music_assistant/server/providers/soundcloud/icon.png b/music_assistant/server/providers/soundcloud/icon.png deleted file mode 100644 index e9dde20b384cf0b2e0fe768cb1b0d69d9bdac0c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15151 zcmeIZWmHsO{4cy`Xrv4T2?0e=kPrzSY7m2=Q9{YF=#XwW7MOsvAfXK1(hZ`3k`5>x zN;z~lGk5b_>v{3Kc%F6Fy8oAVv4%Nw&e`?d-~N8~OI__7%#2)&003s3+SQu?py4HI zpPm+e*?;(&48N$YRJ2q8C=5Nccb5kK=D)9YQwsneApnqP0PMh9$UgwwB>|Yh1AvJI zfaB4JN<9VmfcBoojjMoi@RwYZ9s!?T$6Zy?_ZpZV_Wr!gkkPWv45z*FRilgQ>9R& zLwxKPhyo{WOIY-_c8C7Ttm1N5z?#tkir{>@K*BkaAZ~ms4-I}y9L6ad76r`ho0?H0 zwr)G&>1QySwH?uJIk$h%gNzU6IOUk)p4px{dJr|U#bH;d;IBtK=|_hG2GVDBjBIqL zeS2s0(AWwLg@spwq!GR`B~J%31gOFT(mr);<`E;PksJ&;qPQx^?IR&&D+C2>`-HZ4 z9viQFFTN6!KXwG%blVfQ&U&?zrBGvG-$Mm5_(UgXDc0`;jAyfHZNt6yoqk0AG z5&*3K6UU|hTDjT~#{kIR<8oEZa`2YQ@V?_yKYx|{p64UpT&KV@cQP+Vg%~QRHMxrh z){a`@cZ(vFt$0&`rO#R`YvzkwX8n&) z_*PBI>>1wg(@dcLtm=w;WtpaO-o)!@cNQeDx+z;ru6vsbuyu3zR`xA+^)nv~&?8Rj z4IinuIs}k+I$jCJ#$~AbMcvl~*iEAq13S+JOH?4k}JSFXO?}#4g>7_ zM>d5F?s`I@=jw4;pT#a-Uw^Rw^}X9~^2<13iPS{{wBl#KP3PnU*_j;X}GCH>yY$sE^*9?t+-JoF#+&!^O__c(b#Pj=X*oXi@8=?Phu8IfZWPRreTz96J z?b85YzvcE=imf?zRlYI=dn{U!od>+3|NXqoEV@^?kPp4IE`uww2?QW(%B@b7PX9dE z;x#_2!$%lKfsCvt1g9!{wg)Dta^0Ip=UD*u7cYUOMsdEO>3f4kj$CWERoKY5F^xn8|HmG*AUSO=*%?z}&kh0$wIkE*Y^(sV?NE2<=@`)(2(zKVxBjAd z7efY?v57WzH=cs;y$pGmZ}GDhfSw#HnLF}6kl8HR!8Rt?g9dizkT34u$HT@A_9BYQ z2#wZ8u)h&usY7rFf^Br5X8jTn5Ntlq1DE+WB0a+T;8qjekSM6tj+TC0N)3`7Kg`uN z<}8M=fW#3Uc{I>9YO;;!e^B2A#*%U>!dX7?!ZpiZZ`}ODj;JJ@50+;_0VK;iBJhbN z;SeC+8(;-UrM|wN@NGI!r#gu9k(q}ql(6FV!JnqS_mm!)4kRbmd|%Y9G6P{DX~U4! z?dDh3G2^iR^d}0u+Epl^JI#n8R->1~Ho~Nz8&ZMfj(&YGF^e~50!UCne&C0uSQ_wt z^eVIrJ;jzK*Yan$PXGm8tS<_5@%!<{a)Q0hEG?pV@o^}t_d6#T>wV@0GGCUWL9&Y1 zfaqoLl|T)EZj8sO&Mj9zuyl?>1-kIYJ*nQysQPZd0VoMUMf^(O1snj|__DlS7+!R> z1l>a;d_((Aw7HN!8x4Tvbt9ntQ?QVl4ItO0Wgy41Pz2z5e7iqU0Z#ylsi*bw5STA! zh11AX6bHp!kd37Y#}AC-b~hIW`WQ6jp*TjHuwRk|CtN^ zgT4-i{U5l%!fxQ=AZh;3FOY*S4i@`Aaq)jfDZviFF+08PlspfKiNqP$M_bOHYVS9TD~gx4GqPDZZ?j@=^TXa| zZo;i|uugy;ZD*t=p&(SVv{g#+-w?>OVs>DK+p2%{?`)hx6%y*)KG|3HozA%EyJFC}x& zot&E1_HHEL@meE0@rHOzsYS~s6=XPO>lsth6J=bHg^Ed}A&ogjoD|Qh&Q}-2f3O?0 zu08Kba#P=_^4XY}{Z>^-Day=QXP^LKhvSRn9q?S#=9}6!q(-8Ra-@)Ex|S|SEH(Xv ziiWRl>Bua-P1{%e>!GTA7TGT^rM!>NTc-30@&?4M#htl1?cMOKp#e2O1E*jhZ!S;rm)GI^>K?|UTLAp%GLZ34 zT;mH2i}q049KGV3e2NndZ2L2nUzj)74R;XlD7U8F7Y6zkgO^C%b@Zi2Xz2kqMC<)& z-r`H-3srSW0V#Y_peH8nIB714Zu1ya9$4-9wJf}Fg`hm&zkr9MS80+x0z^5U{^(pz z`XmNvJ9QFpqBF!2g=S?!9VolK~MA`jU5=G zq?KM9-5kwH`@sBxBN7*Ht}KK}A+NT36X) z$O5yzTTBH>Kw#)j?Hm?q5BOGEXJ-?mP5$iml{D2k?oC|VZpicPo;Fz6Gn)p|hXL2` z+0k!~kNE*VU7Rr?!CVX~B5#}tW3=|$&_2QGXPt41&5rp|;-=#Mn+&8q`P4HzGU4GWper8;4RmM}^w^bK4q%1;AH-O9$fRgqyq6188a>Jr+d~&OhY%s_0jB z4Iy;z>)cjh#Be~s--?^Fu}euMZ!hMbsvgplqq$h&FjCh#&WX16yXYA{QWWU{1)SM3 zDW$P_Xwxf2+OBtE+~kPmURiN7Wsg1hE5)y@H?Ag>v`Wx9A0fUN6+q-=I?dy5xg+Y^ z-Q1ruZ$+ORP(z}!KSGTLTx~4AX}j-j=#q*BADLcxj<0TL_YvxhuJtQ(8yhS&d#IBn z>_1jTJZI4^1f(xehxuCVovrvp!v=Ka{x-=rpV<3s=aB;h%~XVWC2;AcY|ju$r)@XM zr25kPa?Fg>$X=|1eC#oLHqgcP7jrv;**_ffuUr7#sZooTkZsOaKPyXTM1GgA7iM1c zwFVvbO$u9z&I`;BG?G-Hg@as-Gf90Ote%e<$+34NK8`o_uhIva@}uR`u~NdZ=Q)KP z&!Aet-PwH(ng}gaMBs)r>WA%)0?D-uSLDG!t}Zm%`Td<}5okaLVbTne;{37Zhvmv> z7SFYDKApUCU%20ME=}dJ0J8UfSDo}PRIP63xC2TAWPH9T-v4`Bqk(<-j!~@E?N_t) zMV#oCQ{Zb&(0A9bicMbh$=~<05<%A`Oh<%J2Z0w0u@v+ zc_vSuL}%OvEy?IH_BIRF5{I^{Hp?8=bZ~9goG%Vd&n<8Q9;+>3Lry07&hlx=3UuhK zo9Ja~JlAbqJ{Dz}aw;L%wZYeU9}c;VeHXgp-4&&8aDn#UL;!8);a*&oHo7>Wub0^5 zS*mv|KDEq0L_H+ub#QLi^y;uR`?L=fh#MJfM5U`?4r#lB2Ti zNK;KmcX_c~z7toec;FV;W}v$;P4iy8{^XnT^=pwZ4lmMdXNc*5N!s4qP`+3LTCyt+r%K-S;-rA>~oYdep zW=@~$6g-ywzQG0=or(LtGA~exPjDrs(KM5sBH1VRI7#x zG$$pYF=-vV`e|(5N!Ia4(1Cd%4xJY7Bi(z62=Vi4+J zqU?SzVv@fR%!sUF0(x^1(PBpa8Rt9tz}{)GRRr<#S~sz#Vgq5xGJiw-?+Y0wLqZMG zXfzBHKVeAf+UWDWJYW`wP$Q;&i?;^=H4uC;pzPNs*a-gIL`n9G^f@2F54q}Bp}Qil z0Xz%1(l%farx1TIyfX@KzZP}x=F8#Lq0(8IfmY?GpzALuuuVmGeH8(>`}W<7QS?Af z4;2<3jEWl!?=6g3b$py=H;|HeI5k?uaq9W(0bk7brZGBqv;6@z&ZoyE<8lUBY>8NK-!PU@1_R^F4S~Y`xEW)CVc(}~!J?^w`;YI!ow2QgmP)W*YMu&@K}jySn~DP2 z=H4G{(Dh%jT0Ctxt^iGF2qO`ZO)@srTx9TJu$}T!w0WBBu`FXbmNdBXFLkni+0%XP-f4?Qp7)Gq! z`vqF-Tc{TwsQ;BSCjUht3E(H*xLNJS2LZEkQ_TJiVoyae11edY*Xv%G<)(56x$m^H zp#PFD@lz2&Vo#R*L!mX$&-o&$=83fBl@p>MBpZm_L0O+urAg*e1?CM(USQJDKAdGY z+3n|P;&+P$gM4lYwG_*kx*354^p6ILr%3j6OjeTb7 z5{)%$xbD7oM-!d1!2@~?fQ|5)9t}3v)-gg`!N_JNfy!^5GQv|GJ$;G=6`ka zTZ9RgymmZ2KIc9SmXS|HvNp;o-j{}d?lR-Iu{xhDaO`3hDBu7yxm-)BqZ+{p>LzT! zwrAoFi3+>>?59z8#Cdf6M85#9yy6|S1x4) zO!NN6^I9z%Rie9eRl(lMRbF}P!nN062Z zxh9U^cYJAVzA!b;G-wvp9byKzi2H5jXvyz2Xf|1+dKplzjm~+_h%GThEomHmi%&{P zWu-j3jG{)~v<=w|Qj#nS&pgzx7%6_kcbq?Nuq{ZSNnRhA1_6am2m0i1%ZwuxXngnj}jin754ZHVaW2!kS4-`P%-yF|G^(JXb7xgHXy3fA+ zoz4SL&^OcV&VnuUUJF+q)Gjz~geoTRP(3`s&-FdNlOf1K1w1+gWG6qRLx;tF2A-;d=U7BWKZoGj$GR7DKg?Pj3{bdAA)@tO_se9`!) zrX8*3W#JArKK{RG?By8Lfa&8hj6L-+c7A&+5R>R6cAo0|XC}6mtFG~G8&Q^Z-SmKS zSpAw!)020Ba=#vNLY9H%_qr;$)%~2Rml4roP|jH`&f>qsf_kPH>>%8CGe`govQ$ey zBAi6?gJe|uz%`%gKq3n@a_qqNAL^F|SEHAhsj&JqcR!7@VTB@q-ADA;C58e^Q4n25 z8goRj)u%g|7I*;~iTZOC1P4EHv1kZ(pxRqmt<*-h@dN3yAkWg=5O&b}*3VuPq#D({ zKTlQsPpxr55%0^AB8$E!ipNuTMkp=u?jky%#TWFQ69k-wz*Gp;x1KcHT=C>Z}Bn5p!$&|Nc?tXO7!@FlTP1{^yt3hpqY9vx+$Xt-b{Y{3s> z&8|Kc6E9)Stlzs&l04yF+fYdZlaIoQHWskFJqV?GI^eP~uw{qFNnVa3{@drF_d zgR0-)QKzDU*^@RJq8Dii?)|n;*)>vRK5kGV@_69SxmeubbDbBW$A&SFBC@?=7{6S4 z3SERF#?7%#liV1Fu6y*!19DW1%-~#Jq6tq@qx+HM>9-1L?*#z=?{|Eklk8MM#{FAU z_Op*H>%Ppz7OYSVagey8Ac6<|4CgI6b3s<#GU`4%wrJe2zMb8i2D%v7xVta@7*Lg> zY5yJsH;e7m$Pnkqd!6_9f9pNh0)Cf)y~Pxe6!oXUe<@yL2N8+@vbNnBPc#$BOQW|Z zW_L#MwaAs@Cfkm@v}ccXTl5z&v3alTcpi9FTeoYcaoy8KW#}=?RkqDNAyuHq4&niu zEJN42C05pGDK%8<;!Cjz0Ysz|#ToFX)j)wAOneV$zCPOh3?{EF=Qw%kHLpB%r>Xx) z74xYKCCk7z&h)$D`txU{K3r()(7HICRi5>7M*Nm5^sB)5QXR#a8u8Ny9@5U4j7c_2ql0?DPWY z2CF-f;-#r2JzVyp-#N2`e15Ii#9DNiK3Rtm2$`7u{vv{ORiTXCuB7Jw8iLH7Nri=8 zKV%8>xACXiM}tAv5}%7r`fZGG{nU)bt5GKFFU1oU6S?=F+^loBB$X za_Mz@%3#++(J@K6u2kOdHUzegELiqn5KD!a(jrt0fLSbOXmp56 zIb!rd6t?FkHsVNtsj$+|v90oXL@NkXU-`;j{f!N~yY-W|)E#g})KW<_iy&zjJ~Z_6 z@m9_I44@(#s1e(E=R;2%2B*+pC+he0h^4kV>NAS_?h%E~W1|ByC=RdSMJZ1pS34TO2tm%PO#sAf89JdPcoJnhK`4Yqk z8xnrrO-T($B{M~UY(=^Q1^qeB_`1#!VIX}I^!-!<<@!K~iv^|m;r;%yY*__UJiYZr zYW}z8jMjrMS@SvjPMTm|h8e&t5Xj5|Rj~fN+4#0RE|hE9iTAz-J73AMN8#gaNGscu z?~I6xArQGttvf(6a$rB$JF|1yH@%;g>h^L>^N*D@H9S+@FT>INXKoDTVO zltHnREK>dJ?h$-DHE3q6U&7C%?vKOZbq*j27jY>Q%`VlLTXKc^2nvZ z=6H*1Ixb9L9OfosFMYmPGTc=9?JhlDA5r_c{p$-4@@Lwt{VhTal1v_XZ|-&&&SJ== zHe;BqDFoDi#-l1CmmJjf?xMa}((}(UA`aVi#j80@Y}nt~a1T6uPegj`Kz*IZdnq0z z5IWE_wIDWq8m4;MgK4Ot6VPXg{bsqEy@b1X!}Iu2F?Br{Tl|xv<2RriIyrn|&|~b5 zJ@o{JK~js(STq}azH~C<#^oHp!{AeZqcJM%IxCgthr0nZx9v~*&zeJ_$1ps~+Ft$` z0eFLe@lAbT%o_|oXYe!el|IS^`l7&Iv16SvkrCz`sgWiIaBgF7)KPeKS|Wk|(oYvD zoDF2Yd*?;w3ZYIni$+y?jODd%5%t*=oF>|~(?s+^9Ir*-)-1*dvM|)|T-S)d{A{q+ zwl5QhtY9q4O9^EJvaY~*;D$t_>p>_qC|GaU%!rklVvD2=mTvuL%mY<@4*INR0aF+w zSjozd2VIY|k)6AdceC`77CR3PdWEy65blCl?yz0crUT z6sJ3lMY=0^)rJB@I^-l8J5B?1L9Xl?Qp^o4UqIDT}+m z6ayad5BqWk3@uG-xcZ6I4$f+XD;H0i%2p-3TJ=TEbX|x2oZyNyRAi^ba-8Jep8lmX zSaY2;US&AIJ6dvYBFXo+{=ycqc_V-H_q$l*-JycOt2G-*dYiUoqg730uRygK zvso{eMsrVm#QrjO<*<3+7Q1FAS6Sf2#=)b>Xe_K)rt);YGUdZ!t59_a=)D-&|YTjGx;2!)xyOs>5!-@}1Feo`9eh;3UV{ z_~~|-~0@RyxMN_$1KXhO3jSO{4!bh5zV5@`arx2_~*`p{@2P69_XR|P0sK^ znG1zXLR^L6J_`!}s0dbyQsh(JCG@8l1BQRh7=fU=;I}m!N4I@=pkiu;5r#gHHT;N{ ztZs)PiYdnV2c;z?kNrGV+e4bhWxo}Z0hox} ze)q>JVv^^{pK1K=Kze-PW)|c+B@HqA^bL z$|(MsENKy*SVQpXq!orWxwY`wqK{vnS7AGQ#$sqdzHG$5Ale(zOAf+gQHgDdGLrqfYX{#grE0(Ux>_`yDub($)p8o2LHG6)eo&EMS8?X;J zoS(ZQRbQ}LM#5^0PLCnQ-uHJ_H~nq=V+IZKXRl*zL_li34fhrGP#tcN0r;IxR>+rW zSY(2$^M?z(Q|?^$o-dl>Ez;7J6dPwvLdpzCZCiaTUb!Z8Cq2le&{^ekl4pX`;=b8N zEAG!S7zI*!%jYjg23XqUPrRpoQN6uOnb^pkJ_{5aIhX{Cyg{BT2y#lX+kNeI-)V~& zMJ!n^H1Z2^1z((9|1hUKr`TQ^K+(%aXQ)Op3?s8IpA4BdMnS94Bfk{Jf)MH1)F$o zpf0@MPmAcOf^+iF?FbWQ9X(gGMGb`lh5vPH`DjzP2-xTT6nHmoj+V3ZP;$G(-}1Y( z5#zqUpLMzxkPuav2;kki-VE-VkUh+3*fvhuqp_5rpQEaSY*%PNfoHFd>;A^-QDE-l zye9FTAoe5zjqTa0dr-=aAG)d%p?%(dZ**!aY%;6aLf%phe-4n%rv;n)!Zi_$rM zn0xyN&7w1^(T%=-?Ui)#k3Ydi0;bJN(AljCY2}x*yg-fDL(%)z{fecwE<&;EcGAje z$oZe%Y!Ax^OHUrcf*x9J$2&$9NRqx*@&vQN1drY-kLd=g;Bo-m)R8XE##LpE&htF865mni(hog`0rn036Y^cg1Vwy)OIwzK<{ zHHsh^kZD_B6v4;XM3*1}*iWK4W$5^yioJV$U0V9={@>Z+rz;B7W4qs5m1*hz%9CU| zoA{EX>G(a4BsCasxM-oJ=lwpJkEX3M4wiJTZDp)_)^LBC_sw{TLuxiglcYy4Cy(qe z9I=@^U96fX3T6}Ks{W`C8Ia>#I$-Ygd6zSbioV)Ex$}>2B-D|%+$}t}qCVTuoSND5 z4lAp zAmuY((rUM)+$cL+Cvsp0(0?@NXefsAHsp+7H#qEG-Tt67WBO4-OL@QZk>ptsFvuS{ zwT!LV?zhTtWA2X3_MBzKQLF-OHXMmZ17+leY||(^?%(SOW+K2Ozs0zj;JaWR3<^q) zIwpm|!d~;z+tARAa3)8VFF#{n{yGE$EKF%KZq*Q@y{(hR)mO}aJTQlsncZK zLAYC?5B}!$XgMA~*8B4PkmIF=ErL8Pw1Yvk?F;$y7?i|o=r!JK$=If)iXTQ}4OL<3 z6*{xh$)jdRa(3xZ^|ff2GES6{SISB;w_*b@MUkiz_*{%8A#g}i?Izv7U82T?O^js! zy>52~^PvYP#|1#M>kFTR0_Inz1~G(zf=mhWbpxT!yYkfa6KAF4()l9A6<>Ss147UK zy)6k>7>JdJj7%^p{h9?|TPgs>BVN)aB~b17s1wVg2Ac}ccf(CiV@;QkRH#U{&y$I$U- zrO0N2ukMe`LR9JVQ2eAlElhp}Y$Z919Y=?+N~tvqfLqq5G1xHqYE(m%g&R&-5nAO>##h1+W_!PgR2R4`Qv7XANzc+)!6x=M;vub6JwJ3 zNqr8D*lZt6NB4`|35pIAup7cGX-=;KJUMQ#RQ_U?-kbTTPz5n!&U(~%F;eH z)!(;jiXYxHRGTi4h5R`#RWA-TbpE*D*F+{XmRQ5~W}wfRo`1ogiw=3wyj{E9r^F6= zxJP3gYt?r4?AkXUqEPh%5E-*rqvNxtLv#u}=0~!RjGoid*wU-3?>#~L;$-kc7hHl) z4Ae1+QgjG;{d@fK+5?!sGo$4+B0Wl=!gm)Q1-d%F^A8E_n)#FtKjOZQXF)PYEe`L+ zTqpg4S`9xNwes~u|3TKX-hUL&j@+k9?Ad-FnNww?ajQ&clZTtv$vX1CoMy6Ca|gsE ze6w&2C-0`@EDM94m&ELc-DjS`>1c`4bNfCO{WUGpP_o<)p6#&O=27?t$U0ur*u-&q4Q=YE_W zDG2%8y0Uf7wM||;g5}b}Ng$L!{N2%?`UEdkn$WZTO)*&cm|Ok)cnaT9nH#E7bsShz z`S=AYwqC=Nwya zMNIcqU#M2(s|gOQ%BY65AfrUlgv&aWJBQrJ)CjHG=Op>tJ0#)MPQH7dF=fi8GA;_+ zp}l>>wi_ed*D1qEPLlGnw(?pL4zg8-YMlzl$QJ|Ee3s-G^8Jn0Gl!EEV z!c$gdXJX11t1ghI1IgFcI{lQla{e;0sBM~Z@2_$sg^~T8_FSu%yb4$_KSmw3Pij{z zHZ8?740~4$i@khYyyHWFd(;savG#|CxXuwf@4<-1n%&-h;npoT|AS&8N=sSKOOB+B zIi)6jxbL~Am_S^mjBHFN{vtXBJn)!v5^91MwhQgf`<|J5D#@jvpZW~||s=Q;b&S*%~i)iy9}saX5`awhhD zAIz%^TyZAp^q%2UD!)@nF|ug2!+c`?7nmedbVsZ^!| zC#}X8t@vqFNU#uC!xCfM?6|wjEP+$Tm{sn^O>8dzQ*5v*8?;OPTVSJ{ofuh5{=Ieg z#iXaYmKf17_-paG?i+I9lRWOrrS9L5R$ zA<=1_tU`}R0<-(Cw)}x*!3`xT>tJ>YV@IP~<0n|estE~e()u$>^=aLmPW1!SE}sK7 zUpLg97(B%BAh&t82ZD4Ckf&4df7lI(#)AnE01){3pSXb7wf_sZg(N@@=~4$iSA<%@GPi|0b2u_yAVSiCVLIqK0XL*tnAe}7>u#L0O)qn4$wiUTn~p44D0`U z?e|q^+?M`(uMC3$L&-6MhH&#?mMNAI;mA4c_YVF{ZeV)8x!CB5_Ivf;uVZTuZUV3H zgX=#Ehxvft0lP3a>%gky8vOxgTb0y1u_QotK;d;+yR_lVA}2?_{mI@dr9qf|ZWDn6 z4a9YONzTwo&;f|l*I=T8jFt@wzSR`7!=Ao$C$*uG^eP)Mc%tEpqhW9qL1-23dW zl+i&NKsrw2Ne9_^owOm=y4y~L^kz)2L{G;FTH#_IX9S>0lwm?VN5EyRHXD zd8YV$KqH&Ca%0@sa~U8umKxE}_?i(JF}3#HpiniIFw|5luX26(PKF66Fogp!Z<5c%D6~oA93yYTX%(>4T z$0?6pM1kZSTKz8hYSA9EqbO{+wBfXx?D`^-J>o#RO-0MOpi?{YRzC!6JQoP9ukb7-9b*SpdWW4#}UUyb4{ zE-*!WpmmuL5Ns@HCQQ1mbOV64DqUQ+)ji4VnV{N~AxuH+C&%RMYrhdla*bN;wP*vY z+7Ct~j*ry-et$>K}i(;w#-<$ST=R(bQL^icFWURE#13!=BKfuO8#-3AIjGvWRfLX zdu{Gjz&dk)f~Zc?M&8e;l7LU$k84hfPH7-{FizpG$Z1 zPihk_KHZ;yN$ibjd0Kew?h|Ue z@=9&(gjsg;>@u_0x)%|i<`E@b3=hfe-8`Uf&C2>H7xCsIM$w?tiI69+Q>VJy())hJ z?K5H7PXYxVem1QY|A~k%!^2M3y;PZ<*XKN~KPZU3%iq+%#KQgNry35=i*S3{n@Mpf zmg{}Qn;Q6e%2t;*JX#HdNCHsMb=sm%U!~XjjpMR-chhzM6z1W}J5Ift%rn-w8?C*E z!_!uVX+flyE>X;cylatvD}H4u&DGU?P9t$7?YYPdo|(kvjlmMd@1+QUmIy~2YfJa= z$~v74$#GFVx8uI*M5V%l#La9WYu4?7TeTkV(zjP+EQn}a_ZgX0CmMKW(g)Y6?sN0M zGn0hi$yq)qN6GM{<#*H{-ne9xR&SUPj!RglJ^U3Hk=mFJWDWQ-w+wzBPt0HEBKoiw zU%y|H_O2PK3h-esP! diff --git a/music_assistant/server/providers/spotify/icon.png b/music_assistant/server/providers/spotify/icon.png deleted file mode 100644 index 1ed404913820493f5bb22663415827a1a44d174f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20017 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

2{&B1&;a7_3EjVnU?SvqReTw* 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 diff --git a/music_assistant/server/providers/theaudiodb/manifest.json b/music_assistant/server/providers/theaudiodb/manifest.json index 832c4a5b..43e7cf22 100644 --- a/music_assistant/server/providers/theaudiodb/manifest.json +++ b/music_assistant/server/providers/theaudiodb/manifest.json @@ -9,5 +9,5 @@ "multi_instance": false, "builtin": true, "load_by_default": true, - "icon": "mdi-folder-information" + "icon": "folder-information" } diff --git a/music_assistant/server/providers/tidal/icon.png b/music_assistant/server/providers/tidal/icon.png deleted file mode 100644 index 917bb964cf71b9cba3e0802b75ca45aaa38d3ebf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1070 zcmeAS@N?(olHy`uVBq!ia0vp^4?&oN8Ax*GDtQ2@%mAMdS0MfW|Nl#uEESl{g;BZlLLx=9sO^-r5-&%b8U!TH|dmu+P^oYatz2{@~{7j84x(!_j z0h8NyM<(CafBEF}qc!e3eOmvj&bf1I>X-I)Z@!&5{`0@+HLlL?svr-Y*B4g`NH5rW zpLKF~S&)m)?TeWLwlCQ$Klf0i4a4OlZwrlf9{pr7YkmdOvX1U^DNPY& zZpFg84_Fl5p4}sK`d-Gp%{SPOb#xz0d7`t9eX-^CitP5*j_c=ACRngMQ{gk0P~$Vd zAyN_OeLiEI_|>}!9WU|>cDR-||J?S1{a436UN#{8Oz~G-p#8=Dj_<{s9kSQEC(Y$z zZa;E?Z8lpp5A*T+Njx{y+stoVxt+vgVP;su7Mmn9|dI z=7Yu=Y;xOYu=Tl5VJLUuEU3Th(U2^ddZ0~%d0X@p#^Z|r1ns)F&VO|Bs+Y~Ls>+Aw zs~>I_dFJ=)##J|~%F@aOhWtiJf&E;aQw^`SG&m()?Ca_XHP%$>V_DN_?zEsI;;mY| zI*W)v_v05+1vG9vdR%ef*RD?C?sFMQ-B&Y>HXaoO`qQ?1``(Kh8(;akbt*G2*3UAO z=oK*kd-8;Pa!Eo;w{t>E1h0B?^ce<|XJ_}jic9RtGkcek(7ia$X!#!fRs0ePRSk{O zrotDzzcBB0(ZAq*hV4s@iIW5WMa$-PnIyLbn~xe?P-JW5Gt@3{=wW0(azJ}mwy|PD z?c#gfjkZZ5HH*t8hCBI%N(aii zjS{>?7;o$Pu|?F2zdy3L-znj*^{bYK|CfG6zf<3lfDm?w{--R=G+^J>$A~e1I z{f@At=l9i0gr;9xrDpfFfveMbf!!kJ5VsQZ6+JK5wUpW#vN{qM2qp2XXp&&pQm9jH z*sQ*+(O7+1+{K&1s?u{zKRR-3`DXlm@w~`K`;ALxy}Z9l^7B6(=6@&tE_nW3@7AN9 z#$$UpwpnB^FwFOSbf)p;W{c{Ct`!Ut_T5?y$NumMO=UP79m32bD9ZTvdau@k{uMkg zgsw8aw%4)KX8*Qcdg_69VpEy?qeHlD{**12h!CEBs?qeLo8^QKoWR4ep7B(<;?=9c Rn?VHtgQu&X%Q~loCIBaS;-LTl diff --git a/music_assistant/server/providers/tidal/icon.svg b/music_assistant/server/providers/tidal/icon.svg new file mode 100755 index 00000000..8bf8e023 --- /dev/null +++ b/music_assistant/server/providers/tidal/icon.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/music_assistant/server/providers/tidal/icon_dark.svg b/music_assistant/server/providers/tidal/icon_dark.svg new file mode 100755 index 00000000..889198f7 --- /dev/null +++ b/music_assistant/server/providers/tidal/icon_dark.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/music_assistant/server/providers/tunein/icon.png b/music_assistant/server/providers/tunein/icon.png deleted file mode 100644 index 18c537c3e801992719e3cf03eb9f46385eb8a065..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23800 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 diff --git a/music_assistant/server/providers/tunein/icon.svg b/music_assistant/server/providers/tunein/icon.svg new file mode 100644 index 00000000..55cc9fee --- /dev/null +++ b/music_assistant/server/providers/tunein/icon.svg @@ -0,0 +1,4 @@ + diff --git a/music_assistant/server/providers/ugp/manifest.json b/music_assistant/server/providers/ugp/manifest.json index c8b38de3..a2aeccea 100644 --- a/music_assistant/server/providers/ugp/manifest.json +++ b/music_assistant/server/providers/ugp/manifest.json @@ -9,5 +9,5 @@ "multi_instance": false, "builtin": false, "load_by_default": false, - "icon": "mdi:mdi-speaker-multiple" + "icon": "speaker-multiple" } diff --git a/music_assistant/server/providers/url/manifest.json b/music_assistant/server/providers/url/manifest.json index 4a68a459..3658a1db 100644 --- a/music_assistant/server/providers/url/manifest.json +++ b/music_assistant/server/providers/url/manifest.json @@ -10,5 +10,5 @@ "builtin": true, "hidden": true, "load_by_default": true, - "icon": "mdi:mdi-web" + "icon": "web" } diff --git a/music_assistant/server/providers/ytmusic/icon.png b/music_assistant/server/providers/ytmusic/icon.png deleted file mode 100644 index cf6726df58ea0ecb76da030c155926d14a923b90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5602 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 + + + diff --git a/music_assistant/server/server.py b/music_assistant/server/server.py index 04929840..99e79b09 100644 --- a/music_assistant/server/server.py +++ b/music_assistant/server/server.py @@ -24,6 +24,7 @@ from music_assistant.constants import ( API_SCHEMA_VERSION, CONF_PROVIDERS, CONF_SERVER_ID, + CONFIGURABLE_CORE_CONTROLLERS, MIN_SCHEMA_VERSION, ROOT_LOGGER_NAME, ) @@ -48,6 +49,8 @@ from .models import ProviderInstanceType if TYPE_CHECKING: from types import TracebackType + from music_assistant.server.models.core_controller import CoreController + EventCallBackType = Callable[[MassEvent], None] EventSubscriptionType = tuple[ EventCallBackType, tuple[EventType, ...] | None, tuple[str, ...] | None @@ -86,7 +89,7 @@ class MusicAssistant: # we dynamically register command handlers which can be consumed by the apis self.command_handlers: dict[str, APICommandHandler] = {} self._subscribers: set[EventSubscriptionType] = set() - self._available_providers: dict[str, ProviderManifest] = {} + self._provider_manifests: dict[str, ProviderManifest] = {} self._providers: dict[str, ProviderInstanceType] = {} self._tracked_tasks: dict[str, asyncio.Task] = {} self.closing = False @@ -122,6 +125,10 @@ class MusicAssistant: self.players = PlayerController(self) self.player_queues = PlayerQueuesController(self) self.streams = StreamsController(self) + # add manifests for core controllers + for controller_name in CONFIGURABLE_CORE_CONTROLLERS: + controller: CoreController = getattr(self, controller_name) + self._provider_manifests[controller.domain] = controller.manifest await self.cache.setup(await self.config.get_core_config("cache")) await self.webserver.setup(await self.config.get_core_config("webserver")) await self.music.setup(await self.config.get_core_config("music")) @@ -181,10 +188,10 @@ class MusicAssistant: homeassistant_addon=self.running_as_hass_addon, ) - @api_command("providers/available") - def get_available_providers(self) -> list[ProviderManifest]: - """Return all available Providers.""" - return list(self._available_providers.values()) + @api_command("providers/manifests") + def get_provider_manifests(self) -> list[ProviderManifest]: + """Return all Provider manifests.""" + return list(self._provider_manifests.values()) @api_command("providers") def get_providers( @@ -356,7 +363,7 @@ class MusicAssistant: raise SetupFailedError("Configuration is invalid") from err domain = conf.domain - prov_manifest = self._available_providers.get(domain) + prov_manifest = self._provider_manifests.get(domain) # check for other instances of this provider existing = next((x for x in self.providers if x.domain == domain), None) if existing and not prov_manifest.multi_instance: @@ -437,10 +444,10 @@ class MusicAssistant: async def _load_providers(self) -> None: """Load providers from config.""" # load all available providers from manifest files - await self.__load_available_providers() + await self.__load_provider_manifests() # create default config for any 'load_by_default' providers (e.g. URL provider) - for prov_manifest in self._available_providers.values(): + for prov_manifest in self._provider_manifests.values(): if not prov_manifest.load_by_default: continue await self.config.create_default_provider_config(prov_manifest.domain) @@ -469,7 +476,7 @@ class MusicAssistant: continue tg.create_task(load_provider(prov_conf)) - async def __load_available_providers(self) -> None: + async def __load_provider_manifests(self) -> None: """Preload all available provider manifest files.""" for dir_str in os.listdir(PROVIDERS_PATH): dir_path = os.path.join(PROVIDERS_PATH, dir_str) @@ -484,21 +491,17 @@ class MusicAssistant: continue try: provider_manifest = await ProviderManifest.parse(file_path) - # check for icon file - if not provider_manifest.icon: - for icon_file in ("icon.svg", "icon.png"): - icon_path = os.path.join(dir_path, icon_file) - if os.path.isfile(icon_path): - provider_manifest.icon = await get_icon_string(icon_path) - break + # check for icon.svg file + if not provider_manifest.icon_svg: + icon_path = os.path.join(dir_path, "icon.svg") + if os.path.isfile(icon_path): + provider_manifest.icon_svg = await get_icon_string(icon_path) # check for dark_icon file - if not provider_manifest.icon_dark: - for icon_file in ("icon_dark.svg", "icon_dark.png"): - icon_path = os.path.join(dir_path, icon_file) - if os.path.isfile(icon_path): - provider_manifest.icon_dark = await get_icon_string(icon_path) - break - self._available_providers[provider_manifest.domain] = provider_manifest + if not provider_manifest.icon_svg_dark: + icon_path = os.path.join(dir_path, "icon_dark.svg") + if os.path.isfile(icon_path): + provider_manifest.icon_svg_dark = await get_icon_string(icon_path) + self._provider_manifests[provider_manifest.domain] = provider_manifest LOGGER.debug("Loaded manifest for provider %s", dir_str) except Exception as exc: # pylint: disable=broad-except LOGGER.exception( -- 2.34.1