In reply to:

So if I'm understanding right, the player software is changing a file that the OS doesn't use to determine it's Timezone?


The player software shouldn't be modifying files (except when doing a sync, of course). It keeps its own choice of timezone in flash memory, and uses that in conjunction with the TZLIB files to calculate (in libc) the local time for the process.

I'm not sure what you mean by setting a timezone for "the whole system (player software and OS)" - the OS doesn't have any concept of timezone. Timezone is a user-level concept that the kernel doesn't need to know about in order to do its job. Remember that the player's OS is taken from a general-purpose system, where many users may be logged in from different physical locations, and therefore having different timezones in their processes. It's quite common on desktop systems to run two copies of xclock (or similar) in different timezones if you work closely with colleagues in another country.

The issue that arises is that while most programs can read the TZ environment variable to know what timezone to display times in, the player needs a way to change, store and retrieve a user-set timezone, and obviously an environment variable is not suitable for this, as it's not persistent beyond the process. It can't be set in config.ini, as a user may cross timezone boundaries on his or her travels (I'm sure I'm not the only one who's done this). However, reading from config.ini to set TZ in the environment for other programs is probably reasonable for add-on programs, unless we can discover where the player stores its setting.

That last sentence is a challenge to someone, I hope.
_________________________
Toby Speight
030103016 (80GB Mk2a, blue)
030102806 (0GB Mk2a, blue)