|
De Klonkt-actor is een kanaal, en Audio is een eigen soort
Robins besluit (7-8): onze site-actor past het beste op een Funkwhale-channel,
niet op een Library. En de afstand bleek klein -- beide zijn al Person.
UITGAAND. url wordt een Link-array in plaats van een kale string: de
webpagina en, ernaast, /feed.xml als application/rss+xml. Dat laatste is de
vondst: zo vindt een podcast-app een kanaal, en die feed had Klonkt al. De
text/html staat vooraan, want een lezer die maar een url verwacht pakt de
eerste -- dezelfde vorm die Funkwhale in productie met Mastodon uitwisselt.
De RSS-link gaat alleen mee voor de site waar de instance op gepind staat.
Sinds hub-modus weg is bestaat /user/<slug> niet meer als route, dus een
feed-link voor een andere site zou naar de verkeerde feed wijzen.
category is 'music', en ALLEEN als de site echt audio publiceert -- een blog
zonder muziek als muziekkanaal aankondigen is erger dan geen label. Het signaal
is een track in de kast, niet enable_audio_player, want die staat standaard aan.
INKOMEND. Create(Audio) werd tot nu toe stil weggegooid: de inbox nam alleen
Note, Article en Question aan. Nu staat Audio in TIJDLIJN_SOORTEN en weet
timelineFields per soort wat de tijdlijn nodig heeft.
NIET tot Note omgevormd, en dat is de kern. Een eerdere poging deed dat wel --
kort, elegant, en verkeerd: het maakte de soort onzichtbaar terwijl we juist
meer soorten willen kunnen tonen. Uitbreiden is nu een tak in timelineFields.
Een binnengekomen track levert hoes en dan geluid in media_json, en de Krant
rendert audio/* al als speler -- dus hij komt binnen als een echte speler
zonder dat de weergave iets van Funkwhale hoeft te weten. Een kale string-url
telt als webpagina en nooit als geluid: er een speler op zetten zou een
HTML-pagina als audiobestand aanbieden.
Ook opgeschoond: de item-link liep nog langs een rauwe o.url, die bij een Audio
een array is. Dat gaat nu overal door dezelfde link-keuze.
8 tests.
Co-Authored-By: Claude Opus 5 <noreply@…>
|