Implement new -rhaps-marker property for controlling user interaction.
Extensively refactor to use the CSS engine's counters implementation.
Take advantage of new Haskell Stylist assets & pseudoclass filters.
Refactor Rhapsode to use new HURL APIs and more leniantly handle MIMEtypes.
Serve link.wav with correct MIMEtype.
I converted it to audio/vnd.wav but without updating the metadata
another check concluded eSpeak-NG wouldn't be able to play it.
update Accepts header for CSS assets.
Output audio cues in live speech.
Turned out I was overcomplicating things, all I needed to do was use file paths not URIs.
eSpeak NG handled it from there.
Don't delete downloads, was happening before use.
Allow disabling of URL rewriting for SSML output.
Upload Types modules, & useragent stylesheet with audio cues.
Prevent websites (and userstyles) from overriding the link audio cue.
Download CSS assets, including new useragent audio cues.
Audio cues are public domain from freesound.org and archive.org via elementary OS's sound theme.
Use libsndfile to write audio files.
Import libsndfile, prepare to use it for writing audio files.
Fix linking error, didn't expose Types.hs
Export C APIs from files defining underlying functions.