This commit adds a new protocol command to toggle protocol features

for a client connection. It works like the tag_mask and the associated
tagtypes command.

New commands:

- protocol
  Shows enabled protocol features.

- protocol available
  Show all available protocol features.

- protocol enable {feature...}
  Enables protocol features.

- protocol disable {feature...}
  Disables protocol features.

- protocol all
  Enables all available protocol features.

- protocol clear
  Disables all protocol features.

This commit adds also the first protocol feature.

hide_playlists_in_root
  Disables the listing of playlists in the root folder
  for the lsinfo command.
This commit is contained in:
jcorporation
2024-09-28 16:36:43 +02:00
parent 124c0e66ee
commit 23c2bba483
10 changed files with 322 additions and 2 deletions

View File

@@ -1678,6 +1678,44 @@ Connection settings
Announce that this client is interested in all tag
types. This is the default setting for new clients.
.. _command_protocol:
:command:`protocol`
Shows a list of enabled protocol features.
Available features:
- ``hide_playlists_in_root``: disables the listing of
stored playlists for the :ref:`lsinfo <command_lsinfo>`.
The following ``protocol`` sub commands configure the
protocol features.
.. _command_protocol_disable:
:command:`protocol disable {FEATURE...}`
Disables one or more features.
.. _command_protocol_enable:
:command:`protocol enable {FEATURE...}`
Enables one or more features.
.. _command_protocol_clear:
:command:`protocol clear`
Disables all protocol features.
.. _command_protocol_all:
:command:`protocol all`
Enables all protocol features.
.. _command_protocol_available:
:command:`protocol available`
Lists all available protocol features.
.. _partition_commands:
Partition commands