Module: Rocksky::Equalizer
- Defined in:
- lib/rocksky/equalizer.rb
Overview
app.rocksky.equalizer.* — saved EQ presets (app.rocksky.equalizer records in the caller's repo).
Units are rockbox's internal ones: band frequency in Hz, gain in tenths of dB (30 = +3.0 dB), q × 10 (7 = Q 0.7); precut in tenths of dB (-240..0).
Class Method Summary collapse
-
.delete_preset(rkey, token:, base: nil) ⇒ Object
Delete a preset by rkey.
-
.presets(actor: nil, token: nil, base: nil) ⇒ Object
An actor's presets ({ "presets" => [...] }).
-
.put_preset(name, bands, token:, precut: nil, base: nil) ⇒ Object
Create or update a preset; the rkey is
nameslugified, so an existing name overwrites that preset.
Class Method Details
.delete_preset(rkey, token:, base: nil) ⇒ Object
Delete a preset by rkey. Empty response.
34 35 36 |
# File 'lib/rocksky/equalizer.rb', line 34 def delete_preset(rkey, token:, base: nil) Rocksky.post("app.rocksky.equalizer.deletePreset", { rkey: rkey }, base: base, token: token) end |
.presets(actor: nil, token: nil, base: nil) ⇒ Object
An actor's presets ({ "presets" => [...] }). Omit actor for the
authenticated viewer's own — that read is auth-gated, so pass token.
14 15 16 17 18 |
# File 'lib/rocksky/equalizer.rb', line 14 def presets(actor: nil, token: nil, base: nil) params = {} params[:did] = actor if actor Rocksky.get("app.rocksky.equalizer.listPresets", params, base: base, token: token) end |
.put_preset(name, bands, token:, precut: nil, base: nil) ⇒ Object
Create or update a preset; the rkey is name slugified, so an existing
name overwrites that preset. bands is an array of
{ frequency:, gain:, q: } hashes. Returns the saved preset view.
23 24 25 26 27 28 29 30 31 |
# File 'lib/rocksky/equalizer.rb', line 23 def put_preset(name, bands, token:, precut: nil, base: nil) body = { name: name, bands: bands } body[:precut] = precut if precut # putPreset's input is a JSON body, so it rides the body-carrying native # call rather than the query-string Rocksky.post. Rocksky.unwrap(C.rocksky_library_post(base.to_s, token.to_s, "app.rocksky.equalizer.putPreset", JSON.generate(body))) end |