home bbs chatroom files | messages | login ]

      FSYNC193             SYNC_PROGRAMMING             32000 messages      

[ list messages | list forums | previous | next ]

  Msg # 34128 of 34130 on FSYNC193, Saturday 8-14-26, 7:14  
  From: ROB SWINDELL (ON DEBIAN L  
  To: GIT COMMIT TO MAIN/SBBS/M  
  Subj: src/doors/termgfx/test/test_stream_volum  
  https://gitlab.synchro.net/main/sbbs/-/commit/8c09a2f494a1ce9ec0df1166  
  Added Files:  
   src/doors/termgfx/test/test_stream_volume.c  
  Modified Files:  
   src/doors/syncretro/README.md main.c syncretro_audio.c syncretro_audio.h  
  test_audio_bytes.c test_audio_bytes.golden src/doors/termgfx/audio_stream.c  
  audio_stream.h src/doors/termgfx/test/CMakeLists.txt  
  Log Message:  
  syncretro: step the volume in percent, and fix a mute with no way out  
    
  The channel level stepped in 6 dB increments and snapped to full mute  
  below -36 dB, but applied that snap in BOTH directions: from the -60 dB  
  mute floor, '+' landed at -54 dB, still inside the snap zone, and bounced  
  straight back to mute. Volume down was a one-way trip. The same trap  
  caught any configured level inside -36..-60 dB, audible but unable to  
  climb out. Reported by nelgin on IRC; the behavior dates from b226d59546  
  (lite-11-farm, 2026-07-17), which made the stream dB-native.  
    
  The ladder a player walks now lives in the door, in percent: it holds  
  0..100, steps by 10, and converts at the seam. That is the unit the  
  sysop's [audio] volume knob is already in and the unit the on-screen  
  readout now uses ("Volume 70%", "Volume 0% (off)"), so nothing a player  
  or a sysop touches speaks decibels, and the keys reach as far per press  
  as SynchroLand's do. A clamped 0..100 ladder is symmetric by  
  construction, which leaves the failure no place to hide.  
    
  termgfx accordingly takes an absolute level, termgfx_stream_set_volume(),  
  and loses termgfx_stream_volume_step() along with the snap-to-mute floor  
  that existed only to shorten a dB ladder no door offers now. Zero percent  
  converts to the silence floor, which is a real mute: the door stops  
  encoding and sending, flushes the channel, and re-primes the cushion on  
  the way back up.  
    
  A new termgfx unit test covers the level and its clamps, and a step added  
  to syncretro's audio-transcript golden pins the round trip on the wire,  
  including that chunks fed at 0% emit nothing at all. That re-prime path  
  off mute was unreachable before this, so it had never run.  
    
  The door keys the README lists never included '+' and '-' at all.  
    
  Co-Authored-By: Claude Opus 5 (1M context)   
  --- SBBSecho 3.37-Linux  
   * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)  
     

[ list messages | list forums | previous | next ]

352,370 visits
(c) 1994,  bbs@darkrealms.ca