mailto: blog -at- heyrick -dot- eu

Navi: Previous entry Display calendar Next entry
Switch to desktop version

FYI! Last read at 08:12 on 2024/05/16.

Who's four some Tea?

On this, the fourth day of the fourth month of the fourth twenty-year, say hello to the fourth incarnation of my Tea TV guide software.

Tea has undergone numerous changes to enhance the "user experience".

The first of these, and a biggie, is to get rid of lamely using the error message boxes to provide information. I have only just sorted out sound on my Pi 3B+ (the hdmi_drive setting was set to not send sound over HDMI even though it was commented that it would... duh... I think I had the older Pi hooked up via the headphone jack?).
Anyway, I hadn't quite realised how bloody annoying it was to have BEEP! (mine defaults to StringLib-Hard) every time that message box pops up.

Which meant that I had to kill off the channel and programme information...

...and do it properly.

This is the programme information. Note that it's now clearer what channel something is on, as well as giving the end time as well the duration.

Programme information
Oh, creepy kids. My favourite kind.

And here is the channel information complete with Freesat channel number and the channel ident.

Channel information
Dydw i ddim yn deall hyn.

Yes, that's a real language. ☺ Apparently it's said like "de doi deem andeya shen" (spacing to break up the word sounds, just say it without any pauses).
If it's wrong, blame Google.

The positions of the hour markers have been tweaked to better place the '|' more in line with where the hour change is (at least, if you're using the default Homerton font).

The routine to determine the age of files now correctly copes with leap years. Yes, I know it's too late (and since Tea was released at the end of March it wouldn't have mattered), plus this doesn't really change things much...
...but it's still pleasing to do it properly.
And by properly I mean if the year is ÷4 unless ÷100 unless ÷400. It seems unfortunately common to forget the last bits, which might become evident when the year 2100 rolls around. <troll>And, yes, seventy six years from now, RISC OS will still be 32 bit so my program will still work...assuming Freesat is even a thing and you can find a working Pi and µSD card in a vintage store and the internet is still a thing and hasn't been stymied by dystopian megalomaniacs and...</troll>

Tea will no longer freak out (as in metaphorically wet itself and die) if it cannot download programme data for a channel. The only time this is considered a critical error now is when trying to fetch the channel list (under the assumption that you're doing that because you don't have one). If the programmes cannot be retrieved, then the fetcher code will report "Timeout" and it'll move on to trying to fetch the next channel.
The ones it couldn't fetch? They'll have fake programmes inserted to say that the information could not be fetched, and you should choose whatever the current day is in the "When..." menu (click Menu on the big grid) in order to force recreating the grid, which will trigger trying to fetch any missing channel data.
Sometimes, if RISC OS is busy (often TaskWindow stuff) a fetch will just not work. I'm not sure if this is due to my using WiFi or if this is just RISC OS being RISC OS (or, maybe, TaskWindows being TaskWindows). Either way, it shouldn't be a show stopper. So now it isn't.

And what was the big TaskWindow program that caused everything to drag? Well, cppcheck which was used to cast a critical eye over the source. It found one instance of looking at an array with an indice of -1. That's a magic value used to mean "we're all done here", which was later used in the context of "if something[indice] is zero then set indice to -1", and you can see that it wasn't quite correct if indice was already set to -1. In effect, it wouldn't have made any real difference. The -1 read would have just picked a different word out of the local variables on the stack, compared with zero, and since the indice was already -1 it wouldn't matter if the test matched and it was set to -1 again. If the test failed, nothing was done so indice would have remained as -1.
The code is now "if indice isn't -1 then..." followed by the original test. It's just nicer like that, isn't it?

Tea is now available on Store, but you can grab a copy here:

Download tea_0-04.zip (358.51K)
For RISC OS machines.

 

 

Your comments:

jgh, 7th April 2024, 12:56
(smallcaps)...the human race suddenly encountered a threat to its very existance(/smallcaps) 
 
:)

Add a comment (v0.11) [help?]
Your name:

 
Your email (optional):

 
Validation:
Please type 32981 backwards.

 
Your comment:

 

Navi: Previous entry Display calendar Next entry
Switch to desktop version

Search:

See the rest of HeyRick :-)