This week was about comfort.
After the recent work on live library syncing, Fibich needed a round of changes that make the app nicer to use every day: better controls, settings, menu bar playback, album artwork, and fewer delays when the library or playlist gets large.
The first visible change is the redesigned HUD and search controls. The player controls are now split into clearer pieces: transport controls, timeline scrubber, volume control, and dedicated HUD buttons. That may sound like internal cleanup, but it helps the interface too. Playback controls should be easy to read quickly, because they are touched constantly.
The library search controls also moved into their own component. Search is becoming important enough that it deserves proper structure rather than being just a field attached to the bottom of a view.
Fibich also now has a menu bar extra. This is a very macOS kind of feature, and it fits the app well. If music is already playing, the user should not always need the main window in front. A small menu bar playback view gives access to basic playback and volume without breaking focus.
Settings started taking shape too. There is now a general settings section, playback volume persistence, and separate playback and library settings areas. This is another sign that the app is growing beyond a prototype. Preferences matter once the user can reasonably expect Fibich to remember how they like to listen.
A few playback controls were added as well: playlist navigation, stop-after-current, and automatic scrolling to keep the playing track visible. These are small listening-flow features, but they make a difference. When a playlist is long, losing the current track is annoying. When an album is ending, stop-after-current can be exactly what you want. These are the kinds of controls that make a music player feel attentive.
Album artwork loading arrived this week too, but carefully: artwork is loaded on demand. That matters because cover images can become expensive if the app tries to load everything immediately. A large local music library might contain thousands of albums, and artwork should make the player feel richer, not slower.
Performance became a theme almost immediately.
Playlist selection and navigation needed optimization. Metadata and audio properties could display with delays. HUD volume and timeline updates needed to be calmer with large playlists. Library browser search also needed tuning. These are not glamorous problems, but they are exactly the problems that appear when an app starts meeting real music collections instead of toy data.
One code-level lesson here is that playback state updates are contagious. If the timeline moves every fraction of a second, or volume changes trigger too much view work, unrelated parts of the app can end up refreshing more than they should. Splitting the HUD timeline and volume controls into their own view models helps keep frequent updates contained.
Today also brings an improvement to metadata text repair for diacritics.
That one matters to me because music libraries are full of names that should be written correctly. Czech, Spanish, French, German, and many other languages rely on characters that can be damaged by bad encoding or old tags. If Fibich can repair some of that text, the library feels more respectful and less messy.
So this week’s work is not one single headline feature. It is a layer of daily-use improvements: cleaner controls, a menu bar player, settings, artwork, better scrolling, better performance, and more careful metadata text.
A music player does not become good only by supporting more formats. It becomes good by feeling steady during ordinary listening.
That is what Fibich is moving toward now.