Releasev0.8.0

NeoMusic 0.8.0: Widgets, Artwork Resolution, and Accessibility

2026年5月30日

Home screen widgets in three sizes, tap-to-fullscreen artwork, a settings search bar, accessibility toggles, and a music detection fix.

This update is a bit of a mixed bag. Some of it is the kind of thing people have been asking for since the early releases, some of it is stuff I wanted for myself, and one of it is a bug fix that I'm mildly embarrassed took this long to land. Either way, 0.8.0 has a lot going on.

Home Screen Widgets

I kept putting this one off because widgets on Android are notoriously annoying to build. The API is old, the layout constraints are weird, and there's no Compose for anything before Glance, which has its own set of quirks.

But I got through it, and NeoMusic now has three home screen widgets: a slim 4x1 strip, a more detailed 4x2 panel, and a compact 2x2 square. Each one shows the current track, artwork, and playback controls. You can throw whichever size fits your setup on the home screen and skip opening the app for quick controls. The aesthetic stays consistent with the rest of NeoMusic, which was the other half of the work.

NeoMusic home screen widgets

Artwork Resolution

The artwork in the main player now has a detail level setting. There are nine levels, ranging from a single static color all the way up to the original artwork. The top two levels, REAL and a tinted variant of it, are actually the cheapest to render since they just display the bitmap as-is. It's the middle levels, especially SHARP, that hit the battery hardest because those are doing actual pixel processing on the fly.

The setting only applies to the player screen. I wanted to extend it to list views too, but the higher detail levels have real performance issues when shown in fast-scrolling lists, so that's staying player-only for now. If you notice the player feeling warm, dropping a pixelation level makes a noticeable difference.

Artwork resolution setting in NeoMusic

Full-Screen Artwork

This one is small but I missed it every time I was in the player.

Tapping the album artwork in the player now expands it to full 'LCD' screen. And the other details shown on the side are now shown in an overlay at the bottom of the artwork. This is actually great with the artwork resolution set to a higher level. Also, the full screen state is remembered across restarts so you don't have to keep doing the same everytime you open the app.

Full-screen artwork view in NeoMusic

Accessibility Settings

NeoMusic uses haptics in a few places: button presses, seek interactions, certain transitions. And the app has a fair amount of motion, especially the glitch and flicker animations that might trigger photosensitivity(?) in some people.

Both of those are turned on by default, but 0.8.0 adds toggles to disable them. Haptics off if you don't want the phone buzzing. Reduce motion if the animations feel like too much. These are under the new Accessibility section in settings. They do not change how the app works, just how it feels. For the people who need this, it was probably overdue.

BTW, this was added because one of my friends has photosensitivity. She doesn't use this app, but made me realize that it's an important consideration for the app.

Accessibility settings in NeoMusic

NeoMusic has accumulated a lot of settings. There are sections for playback, display, library, lyrics, equalizer, premium features, accessibility, and a few other things. If you know what you're looking for and you haven't been in the settings menu in a while, finding it takes more scrolling than it should.

0.8.0 adds a search bar at the top of the settings screen. Type a keyword and it filters to matching options instantly. The implementation is straightforward, but it makes navigating the settings feel much less like archaeology. It'll be a good addition until I remember to update the search index manually.

Settings search in NeoMusic

Duration Display

The secondary time display in the player used to always show remaining time. Now it shows the total time instead. You can still toggle it to show the remaining time. I personally prefer total time, so I may have been slightly motivated to ship this one.

Duration display toggle in NeoMusic player

There was also a bug fix: music files were not being detected on some devices. The cause was that the bitrate column in MediaStore is only available from API 30 (Android R) onwards, and the query was being built the same way regardless of API level. Devices below that just silently got nothing back. Fixed by making the column conditional on the API version. If your library felt incomplete before, give it another scan-oh... I have to implement that.

Well just remove and add the included folder(s) for now. It'll trigger a rescan.

AndroidReleaseWidgetsAccessibility