__                 _ _                _
  / _| ___   ___   __| | |__   __ _ _ __| | __
 | |_ / _ \ / _ \ / _` | '_ \ / _` | '__| |/ /
 |  _| (_) | (_) | (_| | |_) | (_| | |  |   <
 |_|  \___/ \___/ \__,_|_.__/ \__,_|_|  |_|\_\

A personal BBS  ·  Missoula, Montana  ·  formerly NaClCON BBS

Connect from your terminal: telnet naclconbbs.net 23  |  ssh naclconbbs.net -p 2222

  • src/sbbs3/atcodes.cpp scfgdefs.h scfglib1.c scfgsave.c

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Thu Sep 24 21:22:49 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/aba7793deb5ba02c61e5065b
    Modified Files:
    src/sbbs3/atcodes.cpp scfgdefs.h scfglib1.c scfgsave.c
    Log Message:
    Add @-codes for terminal sound effects and background music

    @SOUND:, @MUSIC:, @MUSICVOL:, @MUSICOFF@, @SOUNDOFF@ and @CACHE_AUDIO:,
    so a sysop can attach audio to a menu or a prompt without writing any JavaScript.

    Nothing reaches a terminal that cannot play it: each code returns
    immediately when terminal auto-detection found no libsndfile, or when the
    user has set NO_SOUND. Stopping sound is deliberately exempt from the
    latter, since the flag can be set while a loop is already playing.

    @SOUND: and @MUSIC: take a bare filename under text/sound, resolved in two stages so the argument cannot name anything outside that directory. @CACHE_AUDIO: uploads without playing, for a large file placed where a
    delay is acceptable; its type is part of the code name rather than an
    argument because the capability gate depends on it, and C;S is a general
    verb with no feature query of its own.

    Volume is accepted as a percentage or with a dB suffix and always reaches
    the wire as dB. SyncTERM's mixer is dB-native and its bare-percent path is clamped at unity and integer-only.

    max_sound_file_size and max_cache_file_size in main.ini bound what a
    display file can send. They are two separate limits because @SOUND: uploads synchronously while a display file is drawing and @CACHE_AUDIO: does not.

    Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net