• src/xpdev/xpbeep.c

    From Deuc¿@VERT to Git commit to main/sbbs/master on Monday, April 20, 2026 23:27:36
    https://gitlab.synchro.net/main/sbbs/-/commit/c4d40f8df8bfe47e5962a1e6
    Modified Files:
    src/xpdev/xpbeep.c
    Log Message:
    And, of course, fix the Borland build.
    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Tuesday, April 21, 2026 10:35:41
    https://gitlab.synchro.net/main/sbbs/-/commit/695158804810f59a019739fa
    Modified Files:
    src/xpdev/xpbeep.c
    Log Message:
    Add some "idiomatic" idiocy for Windows.
    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Tuesday, April 21, 2026 11:24:52
    https://gitlab.synchro.net/main/sbbs/-/commit/d0f1673364b87c2e9d70ce00
    Modified Files:
    src/xpdev/xpbeep.c
    Log Message:
    Fix warning.
    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¨@VERT to Git commit to main/sbbs/master on Tuesday, April 21, 2026 20:07:07
    https://gitlab.synchro.net/main/sbbs/-/commit/4f8d820161535a3e4ff10518
    Modified Files:
    src/xpdev/xpbeep.c
    Log Message:
    xpbeep: fix non-MT build broken by xptone rewrite

    The node-FIFO mixer commit (897325cdb8) rewrote xptone() to open its
    own xp_audio stream via pthread_once + assert_pthread_mutex_lock + xp_audio_open Ä all MT-only symbols Ä but xptone() sits outside the XPDEV_THREAD_SAFE guard in xpbeep.c, so non-MT builds (single-threaded
    xpdev consumed by the Borland SBBS build) no longer compiled.

    Split xptone() into two variants under #ifdef XPDEV_THREAD_SAFE / #else:
    - MT keeps the new single-stream xp_audio_open + chunk-append path with
    the stream opened at -12 dB for headroom.
    - Non-MT restores the pre-rewrite per-chunk xp_play_sample16s flow and
    bakes the -12 dB attenuation into the wave buffer with an inline
    0.251 scale, since the non-MT path has no stream/mixer volume to
    carry it.

    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Wednesday, April 22, 2026 00:11:54
    https://gitlab.synchro.net/main/sbbs/-/commit/ee221af10158c7b559e3071c
    Modified Files:
    src/xpdev/xpbeep.c
    Log Message:
    Switch to an equal-power cross-fade.

    The old dB-linear cross-fade was terrible... the two samples crossed
    at -30dB from the channel level (normally -12), which while perceptible
    isn't exactly what people imagine when they think of a cross-fade.

    The equal-power curve actually seems reasonable for all fades.
    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Wednesday, April 22, 2026 01:17:53
    https://gitlab.synchro.net/main/sbbs/-/commit/77c1c5218b8d4a29a086831d
    Modified Files:
    src/xpdev/xpbeep.c
    Log Message:
    Use equal-power ramp for Volume command too.

    This effectively let's you pan channels around as they play.
    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net