https://gitlab.synchro.net/main/sbbs/-/commit/b226d595468ca7f97f7006da
Modified Files:
src/doors/syncretro/main.c syncretro_audio.c syncretro_audio.h src/doors/syncscumm/door/sst_io.c src/doors/termgfx/audio_stream.c audio_stream.h
Log Message:
termgfx: make the audio stream dB-native (volume_db, dB stepping)
The shared PCM stream module still carried its channel level as an int
0..100 percent, converting to dB only at the A;Volume call -- the last
percent holdout after the volume-is-dB migration. Move it to a float
volume_db (0 dB = unity); the mute sentinel moves from `volume <= 0` to `volume_db <= TERMGFX_DB_MUTE`, still stopping the uplink entirely.
termgfx_stream_volume_step now takes a dB delta and returns dB, capped at
unity (a pre-mixed stream gets no boost from + / -); stepping down past a near-silent floor (-36 dB) snaps to real mute so the player need not press
all the way to the -60 dB floor.
The two stream doors adapt: the sysop [audio] volume knob stays a friendly 0..100 percent (converted to dB at read); the + / - hotkeys step 6 dB; and SyncRetro's on-screen toast now reads dB. Behavior at the defaults is
unchanged -- SyncSCUMM -6 dB, SyncRetro unity -- the live control simply
steps in even dB now rather than percent.
Co-Authored-By: Claude Opus 4.8 (1M context) <
noreply@anthropic.com>
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net