Changeset 5e72413 in Klonkt for src/views/shell.ejs


Ignore:
Timestamp:
08/22/2026 11:23:57 AM (2 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
1e194e4, fbacddc
Parents:
c0e463b
Message:

Seek over de hele band (shaer-tmyn, stap 4 en laatste)

De balk TOONDE al de hele band -- de teller rekent sinds c0e463b met de
trackduren -- maar aanklikken seekte binnen het lopende nummer. En de keten
houdt het lopende nummer plus een vooruit, dus op een band van twaalf nummers
reikte die balk in werkelijkheid tot nummer twee. Een balk die belooft wat hij
niet doet is erger dan geen balk.

bandPositie(ratio) rekent de verhouding om naar nummer + positie daarin, met
dezelfde duren als de teller. Ligt het doel in het lopende nummer, dan wordt de
positie gewoon verzet: geen herlaadsprong voor een paar seconden. Ligt het
verderop, dan zet hij pendingSeek en laadt dat nummer -- exact de weg die het
sessieherstel al gebruikt -- met de speelstand mee, zodat springen niet stiekem
start of stopt.

Er valt een hoorbaar gat bij zo'n sprong. Dat hoort bij spoelen naar een plek
die niet in de buffer zit, en het is eerlijker dan een balk die daar nooit komt.

DEZELFDE OMREKENING IS OOK DE ENIGE DIE OP iOS KAN: de blob-motor heeft geen
doorlopende tijdlijn, dus daar bestaat "seek over de keten" niet eens. Nu delen
beide motoren een model in plaats van twee.

Nagemeten op dev, klikken op vijf plekken van de balk (band van 373 s,
nummers van 103, 144 en 126 s):

10% -> 39 s, nummer 1 50% -> 189 s, nummer 2
25% -> 95 s, nummer 1 85% -> 319 s, nummer 3
95% -> 356 s, nummer 3

Steeds twee seconden voor op de verwachting, en dat is het doorspelen tijdens
het meten zelf.

audio-player v39.

Co-Authored-By: Claude Opus 5 <noreply@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/views/shell.ejs

    rc0e463b r5e72413  
    406406     ?v=N — cache-buster: bump bij elke audio-player.js wijziging zodat
    407407     Cloudflare (max-age=1y) niet de oude versie blijft serveren. -->
    408 <script src="/assets/js/audio-player.js?v=38"></script>
     408<script src="/assets/js/audio-player.js?v=39"></script>
    409409<!-- Eigen custom media-embeds (YouTube/SoundCloud/Spotify) via de echte
    410410     player-API's + gedeelde mutual-exclusion registry met de site-speler. -->
Note: See TracChangeset for help on using the changeset viewer.