Skip to content

Conversation

@tituscmd
Copy link
Contributor

Hey everybody,

Since creating PR #2292 and introducing a small little redesign of the music app, I've had some more time on my hands and finally came around to creating a better version of it.

I've moved the artist and track name up a bit to add a new progress bar that shows the progress of the song you're listening to, with the time that has passed shown on the left and the time remaining shown on the right.
Sadly, I've had to remove (comment out) the disc animation in the top right because of space issues. If anyone is especially fond of the disc I'm sure space can be made to fit it back in. It is definitely not a final decision by me, hence why it's only commented out and not removed altogether.
But now that I've temporarily removed the disc animation, the top of the screen seemed quite empty to me. And after some thinking and digging through the code, I stumbled upon these lines of code in the Music.cpp:

294 - // Let's assume it starts playing instantly
295 - // TODO: In the future should check for BT connection for better UX

And so I thought "why not do that?" and I added an indicator text at the top telling you if you are connected via bluetooth. Please share your opinion on this.

Finally, here are some pictures of it all:
tinkeroo part 2
WhatsApp Image 2025-07-26 at 18 52 54

@github-actions
Copy link

github-actions bot commented Jul 26, 2025

Build size and comparison to main:

Section Size Difference
text 382600B -276B
data 944B 0B
bss 22632B 0B

Run in InfiniEmu

@tituscmd
Copy link
Contributor Author

tituscmd commented Aug 25, 2025

Latest commit makes the UI switch on reconnection much smoother, since we now force fetch the data and update the UI if we just reconnected - otherwise we only fetch new data if it changed.
While adding that I also optimized the code a bit, putting stuff into separate functions so the code is cleaner and less cluttered. I'll send photos of the 3 UI states and a video showcasing the new reconnection shortly

@tituscmd
Copy link
Contributor Author

image
image
image

@tituscmd
Copy link
Contributor Author

WhatsAppVideo2025-08-25at23 43 48-ezgif com-video-to-gif-converter(1)

@liamcharger
Copy link
Contributor

Looking good, @tituscmd!

Thanks for your work on this!

@tituscmd
Copy link
Contributor Author

tituscmd commented Sep 6, 2025

This PR should be ready for review from my side :)

@LinuxinaBit
Copy link

Ooh, what if the progress bar was blue?

image

@tituscmd
Copy link
Contributor Author

Ooh, what if the progress bar was blue?
image

I personally like the gray and don't see any big improvement in terms of readability with a blue one.

@LinuxinaBit
Copy link

LinuxinaBit commented Sep 13, 2025 via email

@0x0000ff
Copy link

0x0000ff commented Oct 6, 2025

I'm of the belief that track info isn't needed on a watch or should be at least be minimized to a progress bar. The buttons could them be laid out in a way that would make them easier to press.

Just my 2 cents.

@LinuxinaBit
Copy link

LinuxinaBit commented Oct 6, 2025

@0x0000ff
Something like #558 is always an option, to achieve a similar effect to what you're talking about without removing UI elements that other people (like me!) want.

That being said, I think it's more important at this point to get the UI merged so people can actually start using it when the next version of InfiniTime is released... More changes can always be made in the future.

@tituscmd
Copy link
Contributor Author

I'm of the belief that track info isn't needed on a watch or should be at least be minimized to a progress bar. The buttons could them be laid out in a way that would make them easier to press.

Just my 2 cents.

Not quite sure what you mean by this. Care to elaborate?

@tituscmd
Copy link
Contributor Author

@0x0000ff

Something like #558 is always an option, to achieve a similar effect to what you're talking about without removing UI elements that other people (like me!) want.

That being said, I think it's more important at this point to get the UI merged so people can actually start using it when the next version of InfiniTime is released... More changes can always be made in the future.

Agreed. Should be all good to merge from my side I think.

Copy link
Member

@mark9064 mark9064 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good :)

Haven't tested locally or ran clang-tidy yet

@LinuxinaBit LinuxinaBit mentioned this pull request Nov 4, 2025
1 task
Copy link
Member

@mark9064 mark9064 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pretty much there I think :)

Comment on lines -23 to -25
#include "displayapp/icons/music/disc.c"
#include "displayapp/icons/music/disc_f_1.c"
#include "displayapp/icons/music/disc_f_2.c"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The disc icon files should be deleted as well. Though I'm a little (quite) sad to see it go... it does allow more functionality to fit in

Copy link
Contributor Author

@tituscmd tituscmd Dec 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm also not particularly fond of getting rid of it, but it makes too much sense for usability 😔

}

album = musicService.getAlbum();
if (album.IsUpdated()) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Album unused? If so we can remove it as a member

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I was wondering about that, should we try to include it in the UI somehow? Although I don't think ever seen it used.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think it's too important compared to the track title and artist so it probably doesn't justify the space. Especially as a lot of the time the field is probably blank (since podcasts/video content etc. don't really have an album)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, that's fair. I'll go ahead and remove it next time I'm available. Might take a few days because of the upcoming holidays.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No rush, drop a message whenever :) happy holidays!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, will do :)
Happy holidays to you as well!


Widgets::PageIndicator pageIndicator = Widgets::PageIndicator(0, 2);
Utility::DirtyValue<bool> bleState {};
Utility::DirtyValue<bool> bleRadioEnabled {};
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unused?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement Enhancement to an existing app/feature UI/UX User interface/User experience

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants