--------------------------------------------- Toggle hidden files on player - Specification --------------------------------------------- RATIONALE kissdx already has a command-line switch to allow the viewing of hidden folders and files (i.e. files/folders with a name that starts with a period). However, it's really cumbersome to have to access the server and stop/restart kissdx to change this option. Selecting it on the player is easier (although less secure). IMPLEMENTATION A new option in kissdx.conf could enable this feature: EnableHiddenFilesText = Text to appear in GUI Specifying this option will make available a pseudo-file in the Pictures root folder: Text to appear in GUI.jpeg When selecting this file for display, the ability to view hidden content is toggled on/off, and a picture(*) describing the new state (on or off) is displayed. A second option in kissdx.conf could specify a timeout, after which the ability to view hidden content should be turned back off (in case you forget to turn it off): EnableHiddenFilesMinutes = minutes That's it! The hidden files will be visible together with regular files/folders for pictures, video and audio. OPTIONAL PASSWORD PROTECTION We cannot read a password from the KiSS remote, but we could put up a list of entries from which the user must select the correct one according to a known rule. E.g. the current hour plus the current day of the month minus 7. A wrong selection (or a configured number of them in sequence) could lock out the user from this feature for a configured period of time. Alternative method: Configure a 4-digit PIN code in kissdx.conf and read this from the player by presenting a list of entries "0" to "9" (or "0" to "z") on the player for each digit, in a 4-level deep pseudo-directory structure. After the last correct digit is selected, the action will be performed and the confirmation picture displayed. After this, the user must go back throught the directories or press Stop to start over. Still, better than nothing. NOTE: Password protection has not been implemented in kissdx 0.13-9. MULTI-CLIENT CONSIDERATIONS The way this feature is specified and implemented, the selections performed by one player will affect all connected players FOOTNOTES (*) For generating the picture, we may use libgd, which is available as an Optware package. If we can use one of libgd's built-in fonts we don't have to depend on other packages, like freetype (although freetype is also an Optware package, and on inspection libgd depends on these: libpng, libjpeg, freetype, fontconfig). See URL: http://www.boutell.com/gd/manual2.0.33.html#fonts Specifically: http://www.boutell.com/gd/manual2.0.33.html#gdImageString Alternately, if libgd + dependencies is overkill for the job, we can just have a couple of pre-made jpegs that say "This option is now ON" and "This option is now OFF". We actually used a third option: Rip out the parts of gd that we need. These files are found in the gdstuff subdirectory. STATUS Implemented in kissdx 0.13-9.