/
/
/
1"""Constants for the MusicCast provider."""
2
3from music_assistant.constants import (
4 CONF_ENTRY_HTTP_PROFILE_DEFAULT_2,
5 CONF_ENTRY_ICY_METADATA_HIDDEN_DISABLED,
6 create_sample_rates_config_entry,
7)
8
9# Constants for players
10# both the http profile and icy didn't matter for me testing it.
11PLAYER_CONFIG_ENTRIES = [
12 CONF_ENTRY_HTTP_PROFILE_DEFAULT_2,
13 CONF_ENTRY_ICY_METADATA_HIDDEN_DISABLED,
14 create_sample_rates_config_entry(max_sample_rate=192000, max_bit_depth=24),
15]
16# player id is {device_id}{ZONE_SPLITTER}{zone_name}
17PLAYER_ZONE_SPLITTER = "___" # must be url ok
18
19# Switch to these non netusb sources when leaving a group as a dev
20# with multiple zones. Optionally turn device off.
21CONF_PLAYER_HANDLE_SOURCE_DISABLED = "handle_source_allowed"
22CONF_PLAYER_SWITCH_SOURCE_NON_NET = "main_switch_source"
23CONF_PLAYER_TURN_OFF_ON_LEAVE = "turn_off_on_leave"
24MAIN_SWITCH_SOURCE_NON_NET = "audio1"
25PLAYER_ZONE2_SWITCH_SOURCE_NON_NET = "audio2"
26PLAYER_ZONE3_SWITCH_SOURCE_NON_NET = "audio3"
27PLAYER_ZONE4_SWITCH_SOURCE_NON_NET = "audio4"
28
29
30# MusicCast constants
31MC_POLL_INTERVAL = 10
32MC_PLAY_TITLE = "Music Assistant"
33
34MC_DEVICE_INFO_ENDPOINT = "YamahaExtendedControl/v1/system/getDeviceInfo"
35MC_DEVICE_UPNP_ENDPOINT = "MediaRenderer/desc.xml"
36# if this is not a constant, we'll have to do some xml parsing
37MC_DEVICE_UPNP_CTRL_ENDPOINT = "AVTransport/ctrl"
38MC_DEVICE_UPNP_PORT = 49154
39MC_NULL_GROUP = "00000000000000000000000000000000"
40MC_DEFAULT_ZONE = "main"
41
42MC_SOURCE_MC_LINK = "mc_link"
43MC_SOURCE_MAIN_SYNC = "main_sync"
44MC_LINK_SOURCES = [MC_SOURCE_MC_LINK, MC_SOURCE_MAIN_SYNC]
45
46MC_PASSIVE_SOURCE_IDS = [MC_SOURCE_MC_LINK]
47MC_NETUSB_SOURCE_IDS = [
48 "napster",
49 "spotify",
50 "qobuz",
51 "tidal",
52 "deezer",
53 "amazon_music",
54 "alexa",
55 "airplay",
56 "usb",
57 "server",
58 "net_radio",
59 "bluetooth",
60 # these were in aiomusiccast/musiccast_media_content.py:
61 "pandora",
62 "rhapsody",
63 "siriusxm",
64 "juke",
65 "radiko",
66]
67MC_CONTROL_SOURCE_IDS = MC_NETUSB_SOURCE_IDS
68MC_CONTROL_SOURCE_IDS.append(
69 # tuner can be controlled, will change the station
70 "tuner",
71)
72