Documentation ¶
Index ¶
- Constants
- func RuntimePath(fn string) (string, error)
- type Card
- type Client
- func (c *Client) Cards() ([]Card, error)
- func (c *Client) Close()
- func (c *Client) Connected() bool
- func (c *Client) GetDefaultSink() (Sink, error)
- func (c *Client) GetDefaultSource() (Source, error)
- func (c *Client) GetSinkInputByName(name string) (SinkInput, error)
- func (c *Client) GetSourceOutputByName(name string) (SourceOutput, error)
- func (c *Client) LoadModule(name string, argument string) (index uint32, err error)
- func (c *Client) ModuleList() ([]Module, error)
- func (c *Client) Mute() (bool, error)
- func (c *Client) ServerInfo() (*Server, error)
- func (c *Client) SetCardProfile(cardIndex uint32, profileName string) error
- func (c *Client) SetDefaultSink(sinkName string) error
- func (c *Client) SetMute(b bool) error
- func (c *Client) SetSinkVolume(sinkName string, volume float32) error
- func (c *Client) SetVolume(volume float32) error
- func (c *Client) SinkInputs() ([]SinkInput, error)
- func (c *Client) Sinks() ([]Sink, error)
- func (c *Client) SourceOutputs() ([]SourceOutput, error)
- func (c *Client) Sources() ([]Source, error)
- func (c *Client) ToggleMute() (bool, error)
- func (c *Client) UnloadModule(index uint32) error
- func (c *Client) Updates() (updates <-chan struct{}, err error)
- func (c *Client) UpdatesByType(devType DevType) (updates <-chan struct{}, err error)
- func (c *Client) Volume() (float32, error)
- type DevType
- type Device
- type Error
- type Module
- type Server
- type Sink
- type SinkInput
- type Source
- type SourceOutput
Constants ¶
const ( SUBSCRIPTION_MASK_ALL DevType = 0x02ff SUBSCRIPTION_MASK_AUTOLOAD = 0x0100 SUBSCRIPTION_MASK_CARD = 0x0200 SUBSCRIPTION_MASK_CLIENT = 0x0020 SUBSCRIPTION_MASK_MODULE = 0x0010 SUBSCRIPTION_MASK_NULL = 0x0000 SUBSCRIPTION_MASK_SAMPLE_CACHE = 0x0040 SUBSCRIPTION_MASK_SERVER = 0x0080 SUBSCRIPTION_MASK_SINK = 0x0001 SUBSCRIPTION_MASK_SINK_INPUT = 0x0004 SUBSCRIPTION_MASK_SOURCE = 0x0002 SUBSCRIPTION_MASK_SOURCE_OUTPUT = 0x0008 )
Variables ¶
This section is empty.
Functions ¶
func RuntimePath ¶
RuntimePath resolves a file in the pulse runtime path E.g. pass "native" to get the address for pulse' native socket Original implementation: https://github.com/pulseaudio/pulseaudio/blob/6c58c69bb6b937c1e758410d3114fc3bc0606fbe/src/pulsecore/core-util.c Except we do not support legacy $HOME paths
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client maintains a connection to the PulseAudio server.
func (*Client) Close ¶
func (c *Client) Close()
Close closes the connection to PulseAudio server and makes the Client unusable.
func (*Client) GetDefaultSink ¶
func (*Client) GetDefaultSource ¶
func (*Client) GetSinkInputByName ¶
func (*Client) GetSourceOutputByName ¶
func (c *Client) GetSourceOutputByName(name string) (SourceOutput, error)
func (*Client) LoadModule ¶
LoadModule requests pulseaudio to load the module with the specified name and argument string. More information on how to supply these can be found in the pulseaudio documentation: https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/#loadablemodules e.g. LoadModule("module-alsa-sink", "sink_name=headphones sink_properties=device.description=Headphones") would be equivalent to the pulse config directive: load-module module-alsa-sink sink_name=headphones sink_properties=device.description=Headphones Returns the index of the loaded module or an error
func (*Client) ModuleList ¶
ModuleList queries pulseaudio for a list of loaded modules and returns an array
func (*Client) ServerInfo ¶
ServerInfo queries the pulseaudio server for its information
func (*Client) SetCardProfile ¶
func (*Client) SetDefaultSink ¶
func (*Client) SetSinkVolume ¶
func (*Client) SetVolume ¶
SetVolume changes the current volume to a specified value from 0 to 1 (or more than 1 - if volume should be boosted).
func (*Client) SinkInputs ¶
Sinks queries PulseAudio for a list of sinks and returns an array
func (*Client) SourceOutputs ¶
func (c *Client) SourceOutputs() ([]SourceOutput, error)
SourceOutputs queries PulseAudio for a list of source outputs and returns an array
func (*Client) Sources ¶
Sources queries pulseaudio for a list of all it's sources and returns an array of them
func (*Client) ToggleMute ¶
ToggleMute reverse mute status
func (*Client) UnloadModule ¶
UnloadModule requests pulseaudio to unload the module with the specified index. The index can be found e.g. with ModuleList()
func (*Client) UpdatesByType ¶
type Module ¶
type Module struct { Index uint32 Name string Argument string NUsed uint32 PropList map[string]string }
Module contains information about a pulseaudio module
type Server ¶
type Server struct { PackageName string PackageVersion string User string Hostname string SampleSpec sampleSpec DefaultSink string DefaultSource string Cookie uint32 ChannelMap channelMap }
Server contains information about the pulseaudio server
type Sink ¶
type Sink struct { Index uint32 Name string Description string SampleSpec sampleSpec ChannelMap channelMap ModuleIndex uint32 Cvolume cvolume Muted bool MonitorSourceIndex uint32 MonitorSourceName string Latency uint64 Driver string Flags uint32 PropList map[string]string RequestedLatency uint64 BaseVolume uint32 SinkState uint32 NVolumeSteps uint32 CardIndex uint32 Ports []sinkPort ActivePortName string Formats []formatInfo Client *Client }
Sink contains information about a sink in pulseaudio
func (Sink) ToggleMute ¶
type SinkInput ¶
type SinkInput struct { Index uint32 Name string OwnerModule uint32 ClientIndex uint32 Sink uint32 SampleSpec sampleSpec ChannelMap channelMap Cvolume cvolume BufferUsec uint64 SinkUsec uint64 ResampleMethod string Driver string Muted bool PropList map[string]string Corked bool HasVolume bool VolumeWritable bool Format formatInfo Client *Client }
SinkInput contains information about a sink in pulseaudio
func (SinkInput) ToggleMute ¶
type Source ¶
type Source struct { Index uint32 Name string Description string SampleSpec sampleSpec ChannelMap channelMap ModuleIndex uint32 Cvolume cvolume Muted bool MonitorSourceIndex uint32 MonitorSourceName string Latency uint64 Driver string Flags uint32 PropList map[string]string RequestedLatency uint64 BaseVolume uint32 SinkState uint32 NVolumeSteps uint32 CardIndex uint32 Ports []sinkPort ActivePortName string Formats []formatInfo Client *Client }
Source contains information about a source in pulseaudio, e.g. a microphone
func (Source) ToggleMute ¶
type SourceOutput ¶
type SourceOutput struct { Index uint32 Name string OwnerModule uint32 ClientIndex uint32 Source uint32 SampleSpec sampleSpec ChannelMap channelMap Cvolume cvolume BufferUsec uint64 SourceUsec uint64 ResampleMethod string Driver string Muted bool PropList map[string]string Corked bool HasVolume bool VolumeWritable bool Format formatInfo Client *Client }
SourceOutput contains information about a source output in pulseaudio
func (SourceOutput) GetVolume ¶
func (s SourceOutput) GetVolume() float32
func (SourceOutput) IsMute ¶
func (s SourceOutput) IsMute() bool
func (*SourceOutput) ReadFrom ¶
func (s *SourceOutput) ReadFrom(r io.Reader) (int64, error)
ReadFrom deserializes a source output packet from pulseaudio
func (SourceOutput) SetMute ¶
func (s SourceOutput) SetMute(b bool) error
func (SourceOutput) SetVolume ¶
func (s SourceOutput) SetVolume(volume float32) error
func (SourceOutput) ToggleMute ¶
func (s SourceOutput) ToggleMute() error