rockbox/settings

Read and patch the global daemon settings (volume, EQ, crossfeed, …).

Use the update_* builders to construct a partial update — only the fields you set are sent to the server:

let patch =
  settings.patch()
  |> settings.set_volume(-20)
  |> settings.set_shuffle(True)

let assert Ok(_) = settings.save(client, patch)

Types

pub opaque type Patch

Values

pub fn get(
  client: rockbox.Client,
) -> Result(types.UserSettings, error.Error)

Read every settings field.

pub fn patch() -> Patch

Empty patch — chain set_* to populate.

pub fn save(
  client: rockbox.Client,
  patch: Patch,
) -> Result(Nil, error.Error)

Push the patch to the daemon.

pub fn set_balance(patch: Patch, value: Int) -> Patch
pub fn set_bass(patch: Patch, value: Int) -> Patch
pub fn set_channel_config(patch: Patch, value: Int) -> Patch
pub fn set_compressor(
  patch: Patch,
  value: types.CompressorSettings,
) -> Patch
pub fn set_crossfade_enabled(patch: Patch, value: Int) -> Patch
pub fn set_crossfade_fade_in_delay(
  patch: Patch,
  value: Int,
) -> Patch
pub fn set_crossfade_fade_in_duration(
  patch: Patch,
  value: Int,
) -> Patch
pub fn set_crossfade_fade_out_delay(
  patch: Patch,
  value: Int,
) -> Patch
pub fn set_crossfade_fade_out_duration(
  patch: Patch,
  value: Int,
) -> Patch
pub fn set_crossfade_fade_out_mixmode(
  patch: Patch,
  value: Int,
) -> Patch
pub fn set_crossfeed_cross_gain(
  patch: Patch,
  value: Int,
) -> Patch
pub fn set_crossfeed_direct_gain(
  patch: Patch,
  value: Int,
) -> Patch
pub fn set_crossfeed_enabled(patch: Patch, value: Bool) -> Patch
pub fn set_crossfeed_hf_attenuation(
  patch: Patch,
  value: Int,
) -> Patch
pub fn set_crossfeed_hf_cutoff(patch: Patch, value: Int) -> Patch
pub fn set_eq_bands(
  patch: Patch,
  value: List(types.EqBandSetting),
) -> Patch
pub fn set_eq_enabled(patch: Patch, value: Bool) -> Patch
pub fn set_eq_precut(patch: Patch, value: Int) -> Patch
pub fn set_music_dir(patch: Patch, value: String) -> Patch
pub fn set_party_mode(patch: Patch, value: Bool) -> Patch
pub fn set_player_name(patch: Patch, value: String) -> Patch
pub fn set_repeat_mode(patch: Patch, value: Int) -> Patch
pub fn set_replaygain(
  patch: Patch,
  value: types.ReplaygainSettings,
) -> Patch
pub fn set_shuffle(patch: Patch, value: Bool) -> Patch
pub fn set_single_mode(patch: Patch, value: Bool) -> Patch
pub fn set_stereo_width(patch: Patch, value: Int) -> Patch
pub fn set_treble(patch: Patch, value: Int) -> Patch
pub fn set_volume(patch: Patch, value: Int) -> Patch
Search Document