Huge list of improvements #3
andrewd207
announced in
Announcements
Replies: 1 comment
-
|
Exciting news! It's fun, because I started yesterday a project of a music player based on PascalAudio and MSEgui. For now I am designing the interface. If you don't mind, I will show it to you when it is more or less finished. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
PascalAudioSuite — Huge Improvements! 🎉
We've just landed a big round of improvements across PascalAudioSuite. Playback is
more capable, seeking now works consistently across the common formats, FLAC
encoding is here, and the whole pipeline is more robust and observable. Here's
what's new.
🎚️ Full transport controls (play / pause / stop)
Sources now have a real, shared transport built right into the base class:
decoder gets them for free.
alive and simply stops receiving, then resumes exactly where it left off with no
lost audio.
PlayState(psStopped/psPlaying/psPaused) lets a player tell"paused" apart from "finished" — something a UI genuinely needs.
⏩ Consistent seeking across the common codecs
Seeking is now solid and uniform:
IPAPlayable).counters widened to 64-bit so multi-hour tracks seek and report length
correctly).
ov_seekable), so it's honest even on streaming/chained inputs.MaxPosition/Positionconsistently, and seeking anon-seekable stream is logged instead of silently doing the wrong thing.
💾 FLAC encoding — with metadata!
You can now write FLAC, not just read it:
TPAFlacEncoderLinkencodes lossless FLAC straight from the pipeline andis auto-registered like the other encoders.
AddComment('TITLE', '…'),AddComment('ARTIST', '…'), etc. before encoding and the VORBIS_COMMENT block is written into the file,matching the workflow of the Ogg/Vorbis encoder.
that read back cleanly in
metaflac/ffprobe.🪵 Built-in logging (
TPALog)The suite now has a proper, thread-safe diagnostics facility:
your own sink, or use the default.
printf-style formatting, four levels (Debug/Info/Warning/Error), andit never throws.
init-failure path, and exception handlers), so you get clear visibility into
what the pipeline is doing — no stray
WriteLns.🛡️ Robustness & polish under the hood
A bunch of hardening that makes everyday use smoother:
CD paths instead of risking a crash.
resource/handle ownership).
In short: transport controls everywhere, dependable seeking, FLAC encoding with
tags, real logging, and a sturdier core. Lots to enjoy. 🚀
Beta Was this translation helpful? Give feedback.
All reactions