/
/
/
1"""MusicCast for MusicAssistant."""
2
3from music_assistant_models.config_entries import ConfigEntry, ConfigValueType, ProviderConfig
4from music_assistant_models.enums import ProviderFeature
5from music_assistant_models.provider import ProviderManifest
6
7from music_assistant.mass import MusicAssistant
8from music_assistant.models import ProviderInstanceType
9
10from .provider import MusicCastProvider
11
12SUPPORTED_FEATURES = {
13 ProviderFeature.SYNC_PLAYERS,
14}
15
16
17async def setup(
18 mass: MusicAssistant, manifest: ProviderManifest, config: ProviderConfig
19) -> ProviderInstanceType:
20 """Initialize provider(instance) with given configuration."""
21 return MusicCastProvider(mass, manifest, config, SUPPORTED_FEATURES)
22
23
24async def get_config_entries(
25 mass: MusicAssistant,
26 instance_id: str | None = None,
27 action: str | None = None,
28 values: dict[str, ConfigValueType] | None = None,
29) -> tuple[ConfigEntry, ...]:
30 """
31 Return Config entries to setup this provider.
32
33 instance_id: id of an existing provider instance (None if new instance setup).
34 action: [optional] action key called from config entries UI.
35 values: the (intermediate) raw values for config entries sent with the action.
36 """
37 # ruff: noqa: ARG001
38 return ()
39