# `Rockbox.ChannelMode`
[🔗](https://github.com/tsirysndr/rockboxd/blob/master/bindings/elixir/lib/rockbox/channel_mode.ex#L1)

Channel mixing modes for `Rockbox.Player.set_channel_mode/2`.

These mirror the C ABI enum:

| Atom          | Value | Meaning                                    |
| ------------- | ----- | ------------------------------------------ |
| `:stereo`     | 0     | Normal stereo                              |
| `:mono`       | 1     | Both channels mixed to mono                |
| `:custom`     | 2     | Custom stereo width (see `set_stereo_width/2`) |
| `:mono_left`  | 3     | Left channel on both outputs               |
| `:mono_right` | 4     | Right channel on both outputs              |
| `:karaoke`    | 5     | Subtract to cancel center-panned vocals    |
| `:swap`       | 6     | Swap left and right                        |

`to_int/1` accepts either the atom or the raw integer, so callers can pass
whichever they prefer.

# `t`

```elixir
@type t() :: :stereo | :mono | :custom | :mono_left | :mono_right | :karaoke | :swap
```

# `to_int`

```elixir
@spec to_int(t() | 0..6) :: 0..6
```

Numeric code for a channel mode (atom or already an integer).

---

*Consult [api-reference.md](api-reference.md) for complete listing*
