Commit 2a716b7a authored by Max Kellermann's avatar Max Kellermann

doc: document the mount/neighbor commands

parent 63272541
ver 0.19 (not yet released) ver 0.19 (not yet released)
* protocol * protocol
- new commands "addtagid", "cleartagid", "listfiles", "rangeid" - new commands "addtagid", "cleartagid", "listfiles", "listmounts",
"listneighbors", "mount", "rangeid", "unmount"
- "lsinfo" and "readcomments" allowed for remote files - "lsinfo" and "readcomments" allowed for remote files
- "listneighbors" lists file servers on the local network - "listneighbors" lists file servers on the local network
- "playlistadd" supports file:/// - "playlistadd" supports file:///
......
...@@ -1892,6 +1892,113 @@ OK ...@@ -1892,6 +1892,113 @@ OK
</variablelist> </variablelist>
</section> </section>
<section id="mount">
<title>Mounts and neighbors</title>
<para>
A "storage" provides access to files in a directory tree. The
most basic storage plugin is the "local" storage plugin which
accesses the local file system, and there are plugins to
access NFS and SMB servers.
</para>
<para>
Multiple storages can be "mounted" together, similar to the
<application>mount</application> command on many operating
systems, but without cooperation from the kernel. No
superuser privileges are necessary, beause this mapping exists
only inside the <application>MPD</application> process
</para>
<variablelist>
<varlistentry id="command_mount">
<term>
<cmdsynopsis>
<command>mount</command>
<arg choice="req"><replaceable>PATH</replaceable></arg>
<arg choice="req"><replaceable>URI</replaceable></arg>
</cmdsynopsis>
</term>
<listitem>
<para>
Mount the specified remote storage URI at the given
path. Example:
</para>
<programlisting>mount foo nfs://192.168.1.4/export/mp3</programlisting>
</listitem>
</varlistentry>
<varlistentry id="command_umount">
<term>
<cmdsynopsis>
<command>unmount</command>
<arg choice="req"><replaceable>PATH</replaceable></arg>
</cmdsynopsis>
</term>
<listitem>
<para>
Unmounts the specified path. Example:
</para>
<programlisting>unmount foo</programlisting>
</listitem>
</varlistentry>
<varlistentry id="command_listmounts">
<term>
<cmdsynopsis>
<command>listmounts</command>
</cmdsynopsis>
</term>
<listitem>
<para>
Queries a list of all mounts. By default, this contains
just the configured <varname>music_directory</varname>.
Example:
</para>
<programlisting>listmounts
mount:
storage: /home/foo/music
mount: foo
storage: nfs://192.168.1.4/export/mp3
OK
</programlisting>
</listitem>
</varlistentry>
<varlistentry id="command_listneighbors">
<term>
<cmdsynopsis>
<command>listneighbors</command>
</cmdsynopsis>
</term>
<listitem>
<para>
Queries a list of "neighbors" (e.g. accessible file
servers on the local net). Items on that list may be
used with the <link
linkend="command_mount"><command>mount</command></link>
command. Example:
</para>
<programlisting>listneighbors
neighbor: smb://FOO
name: FOO (Samba 4.1.11-Debian)
OK
</programlisting>
</listitem>
</varlistentry>
</variablelist>
</section>
<section id="stickers"> <section id="stickers">
<title>Stickers</title> <title>Stickers</title>
......
...@@ -253,6 +253,57 @@ systemctl start mpd.socket</programlisting> ...@@ -253,6 +253,57 @@ systemctl start mpd.socket</programlisting>
</para> </para>
</section> </section>
<section id="config_neighbor_plugins">
<title>Configuring neighbor plugins</title>
<para>
All neighbor plugins are disabled by default to avoid unwanted
overhead. To enable (and configure) a plugin, add a
<varname>neighbor</varname> block to
<filename>mpd.conf</filename>:
</para>
<programlisting>neighbors {
plugin "smbclient"
}
</programlisting>
<para>
The following table lists the <varname>neighbor</varname>
options valid for all plugins:
</para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>
Name
</entry>
<entry>
Description
</entry>
</row>
</thead>
<tbody>
<row>
<entry>
<varname>plugin</varname>
</entry>
<entry>
The name of the plugin.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
More information can be found in the <link
linkend="neighbor_plugins">neighbor plugin reference</link>.
</para>
</section>
<section id="config_input_plugins"> <section id="config_input_plugins">
<title>Configuring input plugins</title> <title>Configuring input plugins</title>
...@@ -1409,6 +1460,18 @@ buffer_size: 16384</programlisting> ...@@ -1409,6 +1460,18 @@ buffer_size: 16384</programlisting>
<row> <row>
<entry> <entry>
<varname>cache_directory</varname>
</entry>
<entry>
The path of the cache directory for additional
storages mounted at runtime. This setting is
necessary for the <command>mount</command> protocol
command.
</entry>
</row>
<row>
<entry>
<varname>compress</varname> <varname>compress</varname>
<parameter>yes|no</parameter> <parameter>yes|no</parameter>
</entry> </entry>
...@@ -1535,6 +1598,26 @@ buffer_size: 16384</programlisting> ...@@ -1535,6 +1598,26 @@ buffer_size: 16384</programlisting>
</section> </section>
</section> </section>
<section id="neighbor_plugins">
<title>Neighbor plugins</title>
<section id="smbclient_neighbor">
<title><varname>smbclient</varname></title>
<para>
Provides a list of SMB/CIFS servers on the local network.
</para>
</section>
<section id="upnp_neighbor">
<title><varname>upnp</varname></title>
<para>
Provides a list of UPnP servers on the local network.
</para>
</section>
</section>
<section id="input_plugins"> <section id="input_plugins">
<title>Input plugins</title> <title>Input plugins</title>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment