{
"id": "app.rocksky.rockbox.defs",
"defs": {
"settingsView": {
"type": "object",
"required": [
"createdAt"
],
"properties": {
"tone": {
"ref": "app.rocksky.rockbox.defs#toneSettings",
"type": "ref",
"description": "Tone control settings (bass, treble, balance, channels)"
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "When this settings record was first created."
},
"crossfade": {
"ref": "app.rocksky.rockbox.defs#crossfadeSettings",
"type": "ref",
"description": "Crossfade settings"
},
"equalizer": {
"ref": "app.rocksky.rockbox.defs#equalizerSettings",
"type": "ref",
"description": "Equalizer settings"
},
"updatedAt": {
"type": "string",
"format": "datetime",
"description": "When this settings record was last updated."
},
"replayGain": {
"ref": "app.rocksky.rockbox.defs#replayGainSettings",
"type": "ref",
"description": "Replay gain settings"
}
}
},
"toneSettings": {
"type": "object",
"properties": {
"bass": {
"type": "integer",
"maximum": 24,
"minimum": -24,
"description": "Bass level in dB"
},
"treble": {
"type": "integer",
"maximum": 24,
"minimum": -24,
"description": "Treble level in dB"
},
"balance": {
"type": "integer",
"maximum": 100,
"minimum": -100,
"description": "Left/right balance. Negative = left, positive = right"
},
"channels": {
"type": "string",
"description": "Channel configuration: stereo | mono | monoLeft | monoRight | karaoke | wide"
}
}
},
"equalizerBand": {
"type": "object",
"required": [
"frequency",
"gain",
"q"
],
"properties": {
"q": {
"type": "integer",
"maximum": 640,
"minimum": 5,
"description": "Q factor × 10 (e.g. 7 = Q 0.7)"
},
"gain": {
"type": "integer",
"maximum": 240,
"minimum": -240,
"description": "Band gain in tenths of dB (e.g. 30 = +3.0 dB)"
},
"frequency": {
"type": "integer",
"maximum": 22000,
"minimum": 20,
"description": "Center frequency in Hz"
}
}
},
"crossfadeSettings": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"description": "Crossfade mode: disabled | enabled | shuffle | albumChange | trackChange"
},
"fadeInDelay": {
"type": "integer",
"maximum": 7000,
"minimum": 0,
"description": "Fade-in delay in ms"
},
"fadeOutDelay": {
"type": "integer",
"maximum": 7000,
"minimum": 0,
"description": "Fade-out delay in ms"
},
"fadeInDuration": {
"type": "integer",
"maximum": 15000,
"minimum": 0,
"description": "Fade-in duration in ms"
},
"fadeOutMixMode": {
"type": "string",
"description": "Fade-out mix mode: crossfade | mix"
},
"fadeOutDuration": {
"type": "integer",
"maximum": 15000,
"minimum": 0,
"description": "Fade-out duration in ms"
}
}
},
"equalizerSettings": {
"type": "object",
"properties": {
"bands": {
"type": "array",
"items": {
"ref": "app.rocksky.rockbox.defs#equalizerBand",
"type": "ref"
},
"description": "Up to 10 EQ bands"
},
"precut": {
"type": "integer",
"maximum": 0,
"minimum": -240,
"description": "Pre-amplification cut in tenths of dB applied before EQ bands (e.g. -60 = -6.0 dB)"
},
"enabled": {
"type": "boolean",
"description": "Whether the equalizer is enabled"
}
}
},
"replayGainSettings": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"description": "Replay gain mode: disabled | track | album | trackIfShuffling"
},
"preamp": {
"type": "integer",
"maximum": 120,
"minimum": -120,
"description": "Pre-amplification in tenths of dB (e.g. 15 = +1.5 dB)"
},
"preventClipping": {
"type": "boolean",
"description": "Whether to prevent clipping by reducing volume"
}
}
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}