=head1 NAME

PulseAudio - pacmd notes

=head1 Functionality

Here is a breakdown of the functionality of B<pacmd(1)>.

=head1 Description

PulseAudio provides a CLI interface called B<pacmd>. This lists the pacmd commands indexed by functionality. Because L<PulseAudio> provides an object oriented interface to Pulse Audio, you needn't specify the B<index> argument in any of these: these methods are called on the B<sink> and B<source> objects which hold the index information.

=head2 Listing

All listing functional is done by the L<PulseAudio::Backend::Utilities> role. Interally it only parses B<info> which is thought to have everything.

=over 12

=item list-samples                    List all entries in the sample cache

=item list-modules                    List loaded modules

=item list-cards                      List cards

=item list-sinks                      List loaded sinks

=item list-sources                    List loaded sources

=item list-clients                    List loaded clients

=item list-sink-inputs                List sink inputs

=item list-source-outputs             List source outputs

=item stat                            Show memory block statistics

=item info                            Show comprehensive status

=back

=head2 Sink

All of these are supported by L<PulseAudio::Sink>.

=over 4

=item set-sink-volume                 Set the volume of a sink (args: index|name, volume)

=item set-sink-mute                   Set the mute switch of a sink (args: index|name, bool)

=item set-default-sink                Set the default sink (args: index|name)

=item set-sink-port                   Change the port of a sink (args: index|name, port-name)

=item suspend-sink                    Suspend sink (args: index|name, bool)

=item update-sink-proplist            Update the properties of a sink (args: index|name, properties)

=item play-sample                     Play a sample from the sample cache (args: name, sink|index)

=item play-file                       Play a sound file (args: filename, sink|index)

=back

=head2 Sink Input

All of these are supported by L<PulseAudio::SinkInput>.

=over 4

=item set-sink-input-volume           Set the volume of a sink input (args: index, volume)

=item set-sink-input-mute             Set the mute switch of a sink input (args: index, bool)

=item move-sink-input                 Move sink input to another sink (args: index, sink)

=item update-sink-input-proplist      Update the properties of a sink input (args: index, properties)

=item kill-sink-input                 Kill a sink input (args: index)

=back

=head2 Source

All of these are supported by L<PulseAudio::Source>.

=over 4

=item set-source-volume               Set the volume of a source (args: index|name, volume)

=item set-source-mute                 Set the mute switch of a source (args: index|name, bool)

=item set-default-source              Set the default source (args: index|name)

=item set-source-port                 Change the port of a source (args: index|name, port-name)

=item suspend-source                  Suspend source (args: index|name, bool)

=item update-source-proplist          Update the properties of a source (args: index|name, properties)

=back

=head2 Source Output

All of these are supported by L<PulseAudio::SourceOutput>.

=over 4

=item set-source-output-volume        Set the volume of a source output (args: index, volume)

=item set-source-output-mute          Set the mute switch of a source output (args: index, bool)

=item move-source-output              Move source output to another source (args: index, source)

=item update-source-output-proplist   Update the properties of a source output (args: index, properties)

=item kill-source-output              Kill a source output (args: index)

=back

=head2 Card

All of these are supported by L<PulseAudio::Card>.

=over 4

=item set-card-profile                Change the profile of a card (args: index|name, profile-name)

=back

=head2 Clients

All of these are supported by L<PulseAudio::Client>.

=over 4

=item kill-client                     Kill a client (args: index)

=back

=head2 Modules

All of these are supported by L<PulseAudio::Module>.

=over 4

=item unload-module                   Unload a module (args: index)

=back

=head2 Samples

All of these are supported by L<PulseAudio::Samples>.

=over 4

=item remove-sample                   Remove a sample from the sample cache (args: name)

=back

=head2 Totally unsupported commands

None of these commands are supported

=over 4

=item load-module                     Load a module (args: name, arguments)

=item load-sample                     Load a sound file into the sample cache (args: name, filename)

=item load-sample-lazy                Lazily load a sound file into the sample cache (args: name, filename)

=item load-sample-dir-lazy            Lazily load all files in a directory into the sample cache (args: pathname)

=item describe-module                 Describe a module (arg: name)

=item set-log-level                   Change the log level (args: numeric level)

=item set-log-meta                    Show source code location in log messages (args: bool)

=item set-log-time                    Show timestamps in log messages (args: bool)

=item set-log-backtrace               Show backtrace in log messages (args: frames)

=item dump                            Dump daemon configuration

=item dump-volumes                    Debug: Show the state of all volumes

=item shared                          Debug: Show shared properties

=item exit                            Terminate the daemon

=item suspend                         Suspend all sinks and all sources (args: bool)

=back

=cut
