From: Marcel van der Veldt Date: Fri, 30 Jan 2026 13:41:21 +0000 (+0100) Subject: Use advanced flag on config entries X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=db6d49a6d56fb7c7c032240902f0b37b6536e8d5;p=music-assistant-server.git Use advanced flag on config entries --- diff --git a/music_assistant/constants.py b/music_assistant/constants.py index 0dff508f..1e9cfddf 100644 --- a/music_assistant/constants.py +++ b/music_assistant/constants.py @@ -159,7 +159,7 @@ CONF_ENTRY_LOG_LEVEL = ConfigEntry( ConfigValueOption("verbose", "VERBOSE"), ], default_value="GLOBAL", - category="advanced", + advanced=True, requires_reload=False, # applied dynamically via _set_logger() ) @@ -173,7 +173,8 @@ CONF_ENTRY_FLOW_MODE = ConfigEntry( type=ConfigEntryType.BOOLEAN, label="Enforce Gapless playback with Queue Flow Mode streaming", default_value=False, - category="advanced", + category="audio", + advanced=True, requires_reload=True, ) @@ -202,6 +203,7 @@ CONF_ENTRY_OUTPUT_CHANNELS = ConfigEntry( default_value="stereo", label="Output Channel Mode", category="audio", + advanced=True, requires_reload=True, ) @@ -223,7 +225,8 @@ CONF_ENTRY_VOLUME_NORMALIZATION_TARGET = ConfigEntry( label="Target level for volume normalization", description="Adjust average (perceived) loudness to this target level", depends_on=CONF_VOLUME_NORMALIZATION, - category="advanced", + category="audio", + advanced=True, requires_reload=True, ) @@ -234,6 +237,7 @@ CONF_ENTRY_OUTPUT_LIMITER = ConfigEntry( default_value=True, description="Activates a limiter that prevents audio distortion by making loud peaks quieter.", category="audio", + advanced=True, requires_reload=True, ) @@ -268,6 +272,7 @@ CONF_ENTRY_CROSSFADE_DURATION = ConfigEntry( depends_on=CONF_SMART_FADES_MODE, depends_on_value="standard_crossfade", category="audio", + advanced=True, requires_reload=True, ) @@ -289,7 +294,8 @@ CONF_ENTRY_OUTPUT_CODEC = ConfigEntry( "Some players however do not support FLAC and require the stream to be packed " "into e.g. a lossy mp3 codec or you like to save some network bandwidth. \n\n " "Choosing a lossy codec saves some bandwidth at the cost of audio quality.", - category="advanced", + category="audio", + advanced=True, requires_reload=True, ) @@ -326,7 +332,8 @@ CONF_ENTRY_SYNC_ADJUST = ConfigEntry( description="If this player is playing audio synced with other players " "and you always hear the audio too early or late on this player, " "you can shift the audio a bit.", - category="advanced", + category="audio", + advanced=True, requires_reload=True, ) @@ -427,7 +434,8 @@ CONF_ENTRY_SAMPLE_RATES = ConfigEntry( default_value=[f"44100{MULTI_VALUE_SPLITTER}16", f"48000{MULTI_VALUE_SPLITTER}16"], required=True, label="Sample rates supported by this player", - category="advanced", + category="audio", + advanced=True, description="The sample rates (and bit depths) supported by this player.\n" "Content with unsupported sample rates will be automatically resampled.", requires_reload=True, @@ -444,7 +452,8 @@ CONF_ENTRY_HTTP_PROFILE = ConfigEntry( ], default_value="no_content_length", label="HTTP Profile used for sending audio", - category="advanced", + category="audio", + advanced=True, description="This is considered to be a very advanced setting, only adjust this if needed, " "for example if your player stops playing halfway streams or if you experience " "other playback related issues. In most cases the default setting is fine.", @@ -489,7 +498,8 @@ CONF_ENTRY_ENABLE_ICY_METADATA = ConfigEntry( depends_on_value_not=False, default_value="disabled", label="Try to inject metadata into stream (ICY)", - category="advanced", + category="audio", + advanced=True, description="Try to inject metadata into the stream (ICY) to show track info on the player, " "even when flow mode is enabled.\n\nThis is called ICY metadata and is what is used by " "online radio stations to show you what is playing. \n\nBe aware that not all players support " @@ -526,7 +536,8 @@ CONF_ENTRY_SUPPORT_GAPLESS_DIFFERENT_SAMPLE_RATES = ConfigEntry( "Only enable this option if your player actually support this, otherwise you may " "experience audio glitches during transitioning between tracks.", default_value=False, - category="advanced", + category="audio", + advanced=True, requires_reload=True, ) @@ -553,7 +564,7 @@ CONF_ENTRY_MANUAL_DISCOVERY_IPS = ConfigEntry( "the Music Assistant server, you may run into issues with streaming. " "In that case always ensure that the players can reach the server on the network " "and double check the base URL configuration of the Stream server in the settings.", - category="advanced", + advanced=True, default_value=[], required=False, multi_value=True, @@ -585,7 +596,7 @@ CONF_ENTRY_ZEROCONF_INTERFACES = ConfigEntry( ConfigValueOption("All interfaces", "all"), ], default_value="default", - category="advanced", + advanced=True, requires_reload=True, ) CONF_ENTRY_LIBRARY_SYNC_ALBUMS = ConfigEntry( diff --git a/music_assistant/controllers/config.py b/music_assistant/controllers/config.py index 9c4d3a88..1306a066 100644 --- a/music_assistant/controllers/config.py +++ b/music_assistant/controllers/config.py @@ -1688,7 +1688,8 @@ class ConfigController: type=ConfigEntryType.BOOLEAN, label="Hide this player in the user interface", default_value=player.hidden_by_default, - category="advanced", + category="generic", + advanced=True, ), # add entry to expose player to HA ConfigEntry( @@ -1697,7 +1698,8 @@ class ConfigController: label="Expose this player to Home Assistant", description="Expose this player to the Home Assistant integration. \n" "If disabled, this player will not be imported into Home Assistant.", - category="advanced", + category="generic", + advanced=True, default_value=player.expose_to_ha_by_default, ), ] diff --git a/music_assistant/controllers/music.py b/music_assistant/controllers/music.py index 934786b9..1677f054 100644 --- a/music_assistant/controllers/music.py +++ b/music_assistant/controllers/music.py @@ -153,7 +153,8 @@ class MusicController(CoreController): description="This will issue a full reset of the library " "database and trigger a full sync. Only use this option as a last resort " "if you are seeing issues with the library database.", - category="advanced", + category="generic", + advanced=True, ), ) if action == CONF_RESET_DB: diff --git a/music_assistant/controllers/streams/streams_controller.py b/music_assistant/controllers/streams/streams_controller.py index 100d2a8e..b06081ec 100644 --- a/music_assistant/controllers/streams/streams_controller.py +++ b/music_assistant/controllers/streams/streams_controller.py @@ -261,7 +261,8 @@ class StreamsController(CoreController): "\nMake sure that this IP can be reached by players on the local network, " "otherwise audio streaming will not work.", required=False, - category="advanced", + category="generic", + advanced=True, requires_reload=True, ), ConfigEntry( @@ -272,7 +273,8 @@ class StreamsController(CoreController): description="The TCP port to run the server. " "Make sure that this server can be reached " "on the given IP and TCP port by players on the local network.", - category="advanced", + category="generic", + advanced=True, requires_reload=True, ), ConfigEntry( @@ -285,7 +287,8 @@ class StreamsController(CoreController): "Use 0.0.0.0 to bind to all interfaces, which is the default. \n" "This is an advanced setting that should normally " "not be adjusted in regular setups.", - category="advanced", + category="generic", + advanced=True, required=False, requires_reload=True, ), @@ -296,7 +299,8 @@ class StreamsController(CoreController): description="Log level for the Smart Fades mixer and analyzer.", options=CONF_ENTRY_LOG_LEVEL.options, default_value="GLOBAL", - category="advanced", + category="generic", + advanced=True, ), CONF_ENTRY_ZEROCONF_INTERFACES, ) diff --git a/music_assistant/controllers/webserver/controller.py b/music_assistant/controllers/webserver/controller.py index 371b813f..7bb9a805 100644 --- a/music_assistant/controllers/webserver/controller.py +++ b/music_assistant/controllers/webserver/controller.py @@ -232,7 +232,8 @@ class WebserverController(CoreController): "protect outside access to the webinterface and API. \n\n" "This is an advanced setting that should normally " "not be adjusted in regular setups.", - category="advanced", + category="generic", + advanced=True, requires_reload=True, ), ) diff --git a/music_assistant/providers/airplay/player.py b/music_assistant/providers/airplay/player.py index 2193424b..f276e1d9 100644 --- a/music_assistant/providers/airplay/player.py +++ b/music_assistant/providers/airplay/player.py @@ -170,7 +170,6 @@ class AirPlayPlayer(Player): "will only work with AirPlay version 2, " "while older devices may only support RAOP.\n\n" "In most cases the default automatic selection will work fine.", - category="airplay", options=[ ConfigValueOption("Automatically select", 0), ConfigValueOption("Prefer AirPlay 1 (RAOP)", StreamingProtocol.RAOP.value), @@ -185,10 +184,10 @@ class AirPlayPlayer(Player): label="Enable encryption", description="Enable encrypted communication with the player, " "some (3rd party) players require this to be disabled.", - category="airplay", depends_on=CONF_AIRPLAY_PROTOCOL, depends_on_value=StreamingProtocol.RAOP.value, hidden=self.protocol != StreamingProtocol.RAOP, + advanced=True, ), ConfigEntry( key=CONF_ALAC_ENCODE, @@ -197,10 +196,10 @@ class AirPlayPlayer(Player): label="Enable compression", description="Save some network bandwidth by sending the audio as " "(lossless) ALAC at the cost of a bit of CPU.", - category="airplay", depends_on=CONF_AIRPLAY_PROTOCOL, depends_on_value=StreamingProtocol.RAOP.value, hidden=self.protocol != StreamingProtocol.RAOP, + advanced=True, ), CONF_ENTRY_SYNC_ADJUST, ConfigEntry( @@ -210,7 +209,7 @@ class AirPlayPlayer(Player): required=False, label="Device password", description="Some devices require a password to connect/play.", - category="airplay", + advanced=True, ), # airplay has fixed sample rate/bit depth so make this config entry static and hidden create_sample_rates_config_entry( @@ -233,6 +232,7 @@ class AirPlayPlayer(Player): depends_on=CONF_AIRPLAY_PROTOCOL, depends_on_value=StreamingProtocol.RAOP.value, hidden=self.protocol != StreamingProtocol.RAOP, + advanced=True, ), ] diff --git a/music_assistant/providers/apple_music/__init__.py b/music_assistant/providers/apple_music/__init__.py index ce3c4476..e38a640e 100644 --- a/music_assistant/providers/apple_music/__init__.py +++ b/music_assistant/providers/apple_music/__init__.py @@ -258,7 +258,7 @@ async def get_config_entries( type=ConfigEntryType.SECURE_STRING, label="Manual Music User Token", required=False, - category="advanced", + advanced=True, description=( "Authenticate with a manual Music User Token in case the Authentication flow" " is unsupported (e.g. when using child accounts)." diff --git a/music_assistant/providers/audiobookshelf/__init__.py b/music_assistant/providers/audiobookshelf/__init__.py index bbbc3ea2..776ce84e 100644 --- a/music_assistant/providers/audiobookshelf/__init__.py +++ b/music_assistant/providers/audiobookshelf/__init__.py @@ -181,7 +181,7 @@ async def get_config_entries( label="Verify SSL", required=False, description="Whether or not to verify the certificate of SSL/TLS connections.", - category="advanced", + advanced=True, default_value=True, ), ConfigEntry( @@ -190,7 +190,7 @@ async def get_config_entries( label="Hide empty podcasts.", required=False, description="This will skip podcasts with no episodes associated.", - category="advanced", + advanced=True, default_value=False, ), ) diff --git a/music_assistant/providers/bandcamp/__init__.py b/music_assistant/providers/bandcamp/__init__.py index 54a00605..c04718ff 100644 --- a/music_assistant/providers/bandcamp/__init__.py +++ b/music_assistant/providers/bandcamp/__init__.py @@ -16,24 +16,9 @@ from bandcamp_async_api import ( ) from bandcamp_async_api.models import CollectionType from music_assistant_models.config_entries import ConfigEntry, ConfigValueType, ProviderConfig -from music_assistant_models.enums import ( - ConfigEntryType, - MediaType, - ProviderFeature, - StreamType, -) -from music_assistant_models.errors import ( - InvalidDataError, - LoginFailed, - MediaNotFoundError, -) -from music_assistant_models.media_items import ( - Album, - Artist, - AudioFormat, - SearchResults, - Track, -) +from music_assistant_models.enums import ConfigEntryType, MediaType, ProviderFeature, StreamType +from music_assistant_models.errors import InvalidDataError, LoginFailed, MediaNotFoundError +from music_assistant_models.media_items import Album, Artist, AudioFormat, SearchResults, Track from music_assistant_models.provider import ProviderManifest from music_assistant_models.streamdetails import StreamDetails @@ -93,7 +78,7 @@ async def get_config_entries( description="Search limit while getting artist top tracks.", value=values.get(CONF_TOP_TRACKS_LIMIT) if values else DEFAULT_TOP_TRACKS_LIMIT, default_value=DEFAULT_TOP_TRACKS_LIMIT, - category="advanced", + advanced=True, ), ) diff --git a/music_assistant/providers/bbc_sounds/__init__.py b/music_assistant/providers/bbc_sounds/__init__.py index 5ff5bc99..47a443c4 100644 --- a/music_assistant/providers/bbc_sounds/__init__.py +++ b/music_assistant/providers/bbc_sounds/__init__.py @@ -125,14 +125,14 @@ async def get_config_entries( ), ConfigEntry( key=_Constants.CONF_SHOW_LOCAL, - category="advanced", + advanced=True, type=ConfigEntryType.BOOLEAN, label="Show local radio stations?", default_value=False, ), ConfigEntry( key=_Constants.CONF_STREAM_FORMAT, - category="advanced", + advanced=True, label="Preferred stream format", type=ConfigEntryType.STRING, options=[ diff --git a/music_assistant/providers/chromecast/constants.py b/music_assistant/providers/chromecast/constants.py index 5ae91066..06787f9e 100644 --- a/music_assistant/providers/chromecast/constants.py +++ b/music_assistant/providers/chromecast/constants.py @@ -35,7 +35,7 @@ CAST_PLAYER_CONFIG_ENTRIES = ( "better metadata and future expansion. \\n\\n" "If you want to use the official Google Cast Receiver app instead, disable this option, " "for example if your device has issues with the Music Assistant app.", - category="advanced", + advanced=True, ), ) diff --git a/music_assistant/providers/filesystem_smb/__init__.py b/music_assistant/providers/filesystem_smb/__init__.py index 77c7c40b..bb51493d 100644 --- a/music_assistant/providers/filesystem_smb/__init__.py +++ b/music_assistant/providers/filesystem_smb/__init__.py @@ -122,7 +122,7 @@ async def get_config_entries( type=ConfigEntryType.STRING, label="SMB Version", required=False, - category="advanced", + advanced=True, default_value="3.0", options=[ ConfigValueOption("Auto", ""), @@ -140,7 +140,7 @@ async def get_config_entries( type=ConfigEntryType.STRING, label="Cache Mode", required=False, - category="advanced", + advanced=True, default_value="loose", options=[ ConfigValueOption("Strict", "strict"), diff --git a/music_assistant/providers/fully_kiosk/__init__.py b/music_assistant/providers/fully_kiosk/__init__.py index d45da7e0..8ae0fab5 100644 --- a/music_assistant/providers/fully_kiosk/__init__.py +++ b/music_assistant/providers/fully_kiosk/__init__.py @@ -70,14 +70,14 @@ async def get_config_entries( default_value="2323", label="Port to use to connect to the Fully Kiosk API (default is 2323).", required=True, - category="advanced", + advanced=True, ), ConfigEntry( key=CONF_USE_SSL, type=ConfigEntryType.BOOLEAN, label="Use HTTPS when connecting to the Fully Kiosk API.", default_value=False, - category="advanced", + advanced=True, ), ConfigEntry( key=CONF_VERIFY_SSL, @@ -85,7 +85,7 @@ async def get_config_entries( label="Verify HTTPS certificates (recommended).", default_value=True, description="Disabling verification trusts any certificate (no validation).", - category="advanced", + advanced=True, ), ConfigEntry( key=CONF_SSL_FINGERPRINT, @@ -96,6 +96,6 @@ async def get_config_entries( "match the device certificate and overrides the verify setting." ), required=False, - category="advanced", + advanced=True, ), ) diff --git a/music_assistant/providers/gpodder/__init__.py b/music_assistant/providers/gpodder/__init__.py index 44e80d24..c341f7e0 100644 --- a/music_assistant/providers/gpodder/__init__.py +++ b/music_assistant/providers/gpodder/__init__.py @@ -226,7 +226,7 @@ async def get_config_entries( label="Verify SSL", required=False, description="Whether or not to verify the certificate of SSL/TLS connections.", - category="advanced", + advanced=True, default_value=True, value=values.get(CONF_VERIFY_SSL), ), diff --git a/music_assistant/providers/hass/__init__.py b/music_assistant/providers/hass/__init__.py index 73740548..828c91b7 100644 --- a/music_assistant/providers/hass/__init__.py +++ b/music_assistant/providers/hass/__init__.py @@ -167,7 +167,7 @@ async def get_config_entries( "'authenticate' button to generate a token for you with logging in.", depends_on=CONF_URL, value=cast("str", values.get(CONF_AUTH_TOKEN)) if values else None, - category="advanced", + advanced=True, ), ConfigEntry( key=CONF_VERIFY_SSL, @@ -175,7 +175,7 @@ async def get_config_entries( label="Verify SSL", required=False, description="Whether or not to verify the certificate of SSL/TLS connections.", - category="advanced", + advanced=True, default_value=True, ), ) diff --git a/music_assistant/providers/jellyfin/__init__.py b/music_assistant/providers/jellyfin/__init__.py index f417412b..29da6e1f 100644 --- a/music_assistant/providers/jellyfin/__init__.py +++ b/music_assistant/providers/jellyfin/__init__.py @@ -123,7 +123,7 @@ async def get_config_entries( label="Verify SSL", required=False, description="Whether or not to verify the certificate of SSL/TLS connections.", - category="advanced", + advanced=True, default_value=True, ), ) diff --git a/music_assistant/providers/opensubsonic/__init__.py b/music_assistant/providers/opensubsonic/__init__.py index e2c1279d..7936c800 100644 --- a/music_assistant/providers/opensubsonic/__init__.py +++ b/music_assistant/providers/opensubsonic/__init__.py @@ -167,6 +167,6 @@ async def get_config_entries( "request. Smaller will require more requests but is better for low bandwidth " "connections. The Open Subsonic spec says the max value for this is 500 items.", default_value=200, - category="advanced", + advanced=True, ), ) diff --git a/music_assistant/providers/orf_radiothek/__init__.py b/music_assistant/providers/orf_radiothek/__init__.py index 1f75f33d..5e8ca458 100644 --- a/music_assistant/providers/orf_radiothek/__init__.py +++ b/music_assistant/providers/orf_radiothek/__init__.py @@ -133,7 +133,7 @@ async def get_config_entries( "Privates use explicit URLs from bundle.json." ), value=values.get(CONF_STREAM_PROTO), - category="advanced", + advanced=True, ), ConfigEntry( key=CONF_STREAM_QUALITY, @@ -143,7 +143,7 @@ async def get_config_entries( default_value="qxa", description="For ORF HLS: q1a/q2a/q3a/q4a/qxa. For shoutcast: q1a/q2a.", value=values.get(CONF_STREAM_QUALITY), - category="advanced", + advanced=True, ), ConfigEntry( key=CONF_INCLUDE_HIDDEN, @@ -153,7 +153,7 @@ async def get_config_entries( default_value=False, description="Include stations with hideFromStations=true.", value=values.get(CONF_INCLUDE_HIDDEN), - category="advanced", + advanced=True, ), ConfigEntry( key=CONF_CATCHUP_PROTO, diff --git a/music_assistant/providers/plex/__init__.py b/music_assistant/providers/plex/__init__.py index 895c795c..93af1172 100644 --- a/music_assistant/providers/plex/__init__.py +++ b/music_assistant/providers/plex/__init__.py @@ -245,7 +245,7 @@ async def get_config_entries( # noqa: PLR0915 required=True, default_value=True, depends_on=CONF_LOCAL_SERVER_SSL, - category="advanced", + advanced=True, ), ConfigEntry( key=CONF_AUTH_TOKEN, @@ -351,7 +351,7 @@ async def get_config_entries( # noqa: PLR0915 label="Import Collections", description="Import collections (tracks, albums, or artists) as playlists", default_value=False, - category="advanced", + advanced=True, ) ) entries.append( @@ -362,7 +362,7 @@ async def get_config_entries( # noqa: PLR0915 description="Prefix to add to collection names when imported as playlists", default_value="Collection: ", depends_on=CONF_IMPORT_COLLECTIONS, - category="advanced", + advanced=True, ) ) @@ -412,7 +412,7 @@ async def get_config_entries( # noqa: PLR0915 label="Items per hub", description="Maximum number of items to load from each hub (default: 10)", default_value=10, - category="advanced", + advanced=True, range=(1, 100), ) ) diff --git a/music_assistant/providers/roku_media_assistant/__init__.py b/music_assistant/providers/roku_media_assistant/__init__.py index db88dff4..d23c8b84 100644 --- a/music_assistant/providers/roku_media_assistant/__init__.py +++ b/music_assistant/providers/roku_media_assistant/__init__.py @@ -52,7 +52,7 @@ async def get_config_entries( "of Media Assistant (ID: 782875). If you sideloaded the App on your Roku " "this will need to be set to (ID: dev).", required=False, - category="advanced", + advanced=True, ), ConfigEntry( key=CONF_AUTO_DISCOVER, @@ -60,6 +60,6 @@ async def get_config_entries( label="Allow automatic Roku discovery", default_value=True, description="Enable automatic discovery of Roku players.", - category="advanced", + advanced=True, ), ) diff --git a/music_assistant/providers/snapcast/__init__.py b/music_assistant/providers/snapcast/__init__.py index 2fd845ea..8a27b2fc 100644 --- a/music_assistant/providers/snapcast/__init__.py +++ b/music_assistant/providers/snapcast/__init__.py @@ -16,9 +16,7 @@ from music_assistant.helpers.process import check_output from music_assistant.mass import MusicAssistant from music_assistant.models import ProviderInstanceType from music_assistant.providers.snapcast.constants import ( - CONF_CATEGORY_ADVANCED, CONF_CATEGORY_BUILT_IN, - CONF_CATEGORY_GENERIC, CONF_HELP_LINK, CONF_SERVER_BUFFER_SIZE, CONF_SERVER_CHUNK_MS, @@ -163,9 +161,7 @@ async def get_config_entries( default_value=not local_snapserver_present, label="Use existing Snapserver", required=False, - category=( - CONF_CATEGORY_ADVANCED if local_snapserver_present else CONF_CATEGORY_GENERIC - ), + advanced=local_snapserver_present, ), ConfigEntry( key=CONF_SERVER_HOST, @@ -174,9 +170,7 @@ async def get_config_entries( label="Snapcast server ip", required=False, depends_on=CONF_USE_EXTERNAL_SERVER, - category=( - CONF_CATEGORY_ADVANCED if local_snapserver_present else CONF_CATEGORY_GENERIC - ), + advanced=local_snapserver_present, ), ConfigEntry( key=CONF_SERVER_CONTROL_PORT, @@ -185,9 +179,7 @@ async def get_config_entries( label="Snapcast control port", required=False, depends_on=CONF_USE_EXTERNAL_SERVER, - category=( - CONF_CATEGORY_ADVANCED if local_snapserver_present else CONF_CATEGORY_GENERIC - ), + advanced=local_snapserver_present, ), ConfigEntry( key=CONF_STREAM_IDLE_THRESHOLD, @@ -195,6 +187,6 @@ async def get_config_entries( default_value=DEFAULT_SNAPSTREAM_IDLE_THRESHOLD, label="Snapcast idle threshold stream parameter", required=True, - category=CONF_CATEGORY_ADVANCED, + advanced=local_snapserver_present, ), ) diff --git a/music_assistant/providers/snapcast/constants.py b/music_assistant/providers/snapcast/constants.py index eb5ecb1a..7e5f5945 100644 --- a/music_assistant/providers/snapcast/constants.py +++ b/music_assistant/providers/snapcast/constants.py @@ -20,7 +20,6 @@ CONF_STREAM_IDLE_THRESHOLD = "snapcast_stream_idle_threshold" CONF_CATEGORY_GENERIC = "generic" -CONF_CATEGORY_ADVANCED = "advanced" CONF_CATEGORY_BUILT_IN = "Built-in Snapserver Settings" CONF_HELP_LINK = ( diff --git a/music_assistant/providers/somafm/__init__.py b/music_assistant/providers/somafm/__init__.py index d3a3ad69..04e5a4a8 100644 --- a/music_assistant/providers/somafm/__init__.py +++ b/music_assistant/providers/somafm/__init__.py @@ -63,7 +63,7 @@ async def get_config_entries( return ( ConfigEntry( key=CONF_QUALITY, - category="advanced", + advanced=True, type=ConfigEntryType.STRING, label="Stream Quality", options=[ diff --git a/music_assistant/providers/sonos_s1/__init__.py b/music_assistant/providers/sonos_s1/__init__.py index 43541838..6b86ea8c 100644 --- a/music_assistant/providers/sonos_s1/__init__.py +++ b/music_assistant/providers/sonos_s1/__init__.py @@ -72,7 +72,7 @@ async def get_config_entries( label="Household ID", default_value=household_ids[0] if household_ids else None, description="Household ID for the Sonos (S1) system. Will be auto detected if empty.", - category="advanced", + advanced=True, required=False, ), ) diff --git a/music_assistant/providers/squeezelite/__init__.py b/music_assistant/providers/squeezelite/__init__.py index cb17862f..cad1b1f5 100644 --- a/music_assistant/providers/squeezelite/__init__.py +++ b/music_assistant/providers/squeezelite/__init__.py @@ -64,7 +64,7 @@ async def get_config_entries( "player compatibility, so security risks are minimized to practically zero." "You may safely disable this option if you have no players that rely on this feature " "or you dont care about the additional metadata.", - category="advanced", + advanced=True, ), ConfigEntry( key=CONF_CLI_JSON_PORT, @@ -80,7 +80,7 @@ async def get_config_entries( "it on a different port. Set to 0 to disable this functionality.\n\n" "You may safely disable this option if you have no players that rely on this feature " "or you dont care about the additional metadata.", - category="advanced", + advanced=True, ), ConfigEntry( key=CONF_DISCOVERY, @@ -91,7 +91,7 @@ async def get_config_entries( "discover and connect to this server. \n\n" "You may want to disable this feature if you are running multiple slimproto servers " "on your network and/or you don't want clients to auto connect to this server.", - category="advanced", + advanced=True, ), ConfigEntry( key=CONF_PORT, diff --git a/music_assistant/providers/squeezelite/constants.py b/music_assistant/providers/squeezelite/constants.py index cbd412e1..3748b6f0 100644 --- a/music_assistant/providers/squeezelite/constants.py +++ b/music_assistant/providers/squeezelite/constants.py @@ -43,7 +43,7 @@ CONF_ENTRY_DISPLAY = ConfigEntry( required=False, label="Enable display support", description="Enable/disable native display support on squeezebox or squeezelite32 hardware.", - category="advanced", + advanced=True, ) CONF_ENTRY_VISUALIZATION = ConfigEntry( key=CONF_VISUALIZATION, @@ -57,7 +57,7 @@ CONF_ENTRY_VISUALIZATION = ConfigEntry( label="Visualization type", description="The type of visualization to show on the display " "during playback if the device supports this.", - category="advanced", + advanced=True, depends_on=CONF_DISPLAY, ) diff --git a/music_assistant/providers/vban_receiver/__init__.py b/music_assistant/providers/vban_receiver/__init__.py index d8ccfead..083d56c5 100644 --- a/music_assistant/providers/vban_receiver/__init__.py +++ b/music_assistant/providers/vban_receiver/__init__.py @@ -11,24 +11,13 @@ from typing import TYPE_CHECKING, cast from aiovban.asyncio.util import BackPressureStrategy from aiovban.enums import VBANSampleRate from music_assistant_models.config_entries import ConfigEntry, ConfigValueOption -from music_assistant_models.enums import ( - ConfigEntryType, - ContentType, - ProviderFeature, - StreamType, -) +from music_assistant_models.enums import ConfigEntryType, ContentType, ProviderFeature, StreamType from music_assistant_models.errors import SetupFailedError from music_assistant_models.media_items import AudioFormat from music_assistant_models.streamdetails import StreamMetadata -from music_assistant.constants import ( - CONF_BIND_IP, - CONF_BIND_PORT, - CONF_ENTRY_WARN_PREVIEW, -) -from music_assistant.helpers.util import ( - get_ip_addresses, -) +from music_assistant.constants import CONF_BIND_IP, CONF_BIND_PORT, CONF_ENTRY_WARN_PREVIEW +from music_assistant.helpers.util import get_ip_addresses from music_assistant.models.plugin import PluginProvider, PluginSource from .vban import AsyncVBANClientMod @@ -180,7 +169,7 @@ async def get_config_entries( "Use 0.0.0.0 to bind to all interfaces, which is the default. \n" "This is an advanced setting that should normally " "not be adjusted in regular setups.", - category="advanced", + advanced=True, required=True, ), ConfigEntry( @@ -190,7 +179,7 @@ async def get_config_entries( options=[ConfigValueOption(x, x) for x in VBAN_QUEUE_STRATEGIES], label="Receiver: VBAN queue strategy", description="What should happen if the receiving queue fills up?", - category="advanced", + advanced=True, required=True, ), ConfigEntry( @@ -200,7 +189,7 @@ async def get_config_entries( label="Receiver: VBAN packets queue size", description="This can be increased if MA is running on a very low power device, " "otherwise this should not need to be changed.", - category="advanced", + advanced=True, required=True, ), )