Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
  • This project
    • Loading...
  • Sign in / Register
T
Tidal
  • Overview
    • Overview
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 0
    • Issues 0
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • PLN
  • Tidal
  • Repository

Switch branch/tag
  • Tidal
  • armada
  • tide-table
  • apply_boundaries.py
Find file
BlameHistoryPermalink
  • PLN (Algolia)'s avatar
    feat(opal26): subtle reverb tail chosen — and the A/B and the release now share one chain · 10829fde
    PLN picked SUBTLE from the three-way close A/B. Promoting it exposed two bugs
    that would each have shipped something he never heard.
    
    1. The reverb existed TWICE and the copies disagreed. render_release had a
       single 833ms slap (aecho=0.8:0.5:833:0.35) applied to the WHOLE track;
       build_release_joins had a three-tap preset applied to the tail only. Setting
       `reverb_tail_s` would therefore have washed all of REVOLUTION with an echo
       nobody auditioned. The preset table now lives in render_release and the A/B
       builder imports it, so what ships is bit-for-bit the chain he compared.
    
    2. apply_boundaries forwarded edit keys through an ALLOW-list, which silently
       dropped `reverb_preset`; the renderer then saw no preset and fell back to no
       reverb at all. A missing edit is invisible in the output — you get a clean
       render of the wrong thing — so it now deny-lists the keys it consumes and
       forwards everything else.
    
    Caught by inspecting the built filter graph before rendering rather than after,
    which is the only reason this is a commit message and not a re-render.
    
    The tail reverb is a split graph, not `-af`: head dry, last 5s through apad then
    aecho, concatenated. The apad matters — without it ffmpeg chops the ring at the
    final sample, reintroducing the exact hard stop the reverb exists to soften.
    Verify accounts for the 2.5s ring, so REVOLUTION is expected at 207.4s not
    204.9s rather than being flagged as a mismatch.
    PLN (Algolia) authored Aug 16, 2026
    10829fde
apply_boundaries.py 8.18 KB
EditWeb IDE
×

Replace apply_boundaries.py

Attach a file by drag & drop or click to upload


Cancel
A new branch will be created in your fork and a new merge request will be started.