View Source X32Remote.Commands.Solo (x32_remote v0.1.0)

Commands that query or modify the solo state of the mixer.

In addition to the channel names accepted by X32Remote.Types.Channel, these commands also accept dca/01 through dca/08 to listen to DCA groups.

All functions in this module take the process ID or name of an X32Remote.Session process as their first argument. For more convenient versions that omit this first argument, see X32Remote.Mixer.

Link to this section Summary

Functions

Checks if solo is enabled for any channel.

Disables solo for all channels.

Disables solo for the given channel.

Enables solo for the given channel.

Query if solo is enabled for the given channel.

Link to this section Types

Link to this section Functions

@spec any_solo?(session()) :: boolean()

Checks if solo is enabled for any channel.

This also corresponds to whether the "Clear Solo" button is flashing on the X32 console.

example

Example

iex> X32Remote.Commands.Solo.enable_solo(session, "ch/08")
:ok
iex> X32Remote.Commands.Solo.any_solo?(session)
true
iex> X32Remote.Commands.Solo.clear_solo(session)
:ok
iex> X32Remote.Commands.Solo.any_solo?(session)
false
@spec clear_solo(session()) :: :ok

Disables solo for all channels.

This is the same as pressing the "Clear Solo" button on the X32 console.

example

Example

iex> X32Remote.Commands.Solo.clear_solo(session)
:ok
iex> X32Remote.Commands.Solo.any_solo?(session)
false
Link to this function

disable_solo(session, channel)

View Source
@spec disable_solo(session(), channel()) :: :ok

Disables solo for the given channel.

example

Example

iex> X32Remote.Commands.Solo.disable_solo(session, "ch/07")
:ok
iex> X32Remote.Commands.Solo.solo?(session, "ch/07")
false
Link to this function

enable_solo(session, channel)

View Source
@spec enable_solo(session(), channel()) :: :ok

Enables solo for the given channel.

example

Example

iex> X32Remote.Commands.Solo.enable_solo(session, "ch/06")
:ok
iex> X32Remote.Commands.Solo.solo?(session, "ch/06")
true
@spec solo?(session(), channel()) :: boolean()

Query if solo is enabled for the given channel.

example

Example

iex> X32Remote.Commands.Solo.solo?(session, "ch/05")
false
iex> X32Remote.Commands.Solo.enable_solo(session, "ch/05")
:ok
iex> X32Remote.Commands.Solo.solo?(session, "ch/05")
true