Windows > Third Party Plug-ins, Programs, and Skins
Feature Request: Allow skinning engine to search custom directory for artwork.
markf2748:
Background: AFAIK, we currently have two ways to specify the location of special custom artwork for View Header files, SmallIcons.png, ActionWindowNavigation.png, and Options.png:
(1) C:\Program Files\J River\Media Center 33\Data\Custom Art\ (Windows OS example)
(2) Store the files within the skin directory, entering each custom artwork file individually in section <Art> ... <\Art>. In practice, this typically means renaming these special custom files with a single unique preface so that they do not get scattered throughout the skin directory.
Request: Add a third option:
(3) In <Art> ... </Art> allow us to specify a local directory which contains the custom artwork files named with MC's normal conventions (avoiding any special renaming). For example to specify a location relative to the skin directory:
<Art> Entry="ArtworkDirectory" Directory=".\MyArtwork" </Art>
Alternatively, standardize the name of an alternate relative directory so it would not have to be entered by the developer at all.
Files found in this skin-specific "isolated" sub-directory would take precedence over files found with the same name in other directories (...\Data\Default Art and ..\Data\Custom Art) which impact all skins. If the special directory is not found, MC defaults to current behavior.
Advantages: Going forward, this scheme would make it easier to develop and distribute non-interfering custom skins without necessarily renaming these special files, listing them, and effectively baking them in. It would also give the end-user more flexibility in choosing which special artwork to use: Default Art, Custom Art, or Skin-Specific Art.
Matt:
Would it be better to add a section to the XML or just allow the user to pick an extra image search path in options? Thanks.
markf2748:
--- Quote from: Matt on December 27, 2024, 05:01:09 pm ---Would it be better to add a section to the XML or just allow the user to pick an extra image search path in options? Thanks.
--- End quote ---
(1) Key ideas: Make it easy on the skin developer, it is a "standard" alternate location for special art files with the usual filenames, lock it to the specific skin (travels with it), no need to modify the main.xml, and keep it out-of-mind for the average end user. Also, a custom resource file images.xml should be allowed in "This Art". All this suggests to me the special directory should be a first level sub-directory below the skin installation directory, no matter where or on what platform the skin is installed. It may as well have a fixed standard name, such as "This Art" (or something more creative :) ).
(2) Allowing the user to search an extra path via an options setting, to override "This Art", is a separate question. Maybe a "nice to have" in addition to (1). In any case, the end user can still keep custom files in "...\Data\Custom Art"', as now, which automatically apply across all installed skins if the files are not found in "This Art". "This Art" or files in it would have to be removed or renamed to skip over them unless you implement an override option.
Note: The <Art> ... </Art> functionality should remain in place. A good example is the MC built-in "ET Pastel Green I". This skin should still work as long as the special View Header files "ET_*.png" are not over-ridden by corresponding "This Art" files. But going forward, this functionality could also be achieved without special renaming, if desired.
Matt:
--- Quote from: markf2748 on December 27, 2024, 07:29:55 pm ---(1) Key ideas: Make it easy on the skin developer, it is a "standard" alternate location for special art files with the usual filenames, lock it to the specific skin (travels with it), no need to modify the main.xml, and keep it out-of-mind for the average end user.
--- End quote ---
I'm totally open to doing this, but need a little more help understanding.
Today skins can already define the custom artwork and just put a copy of the image in the skin folder itself. You said:
--- Quote ---lock it to the specific skin
--- End quote ---
and it seems like the current approach does that nicely.
Are you just looking for a third directory "This Art" for artwork? As you know, the system already looks in two folders today (default and custom).
Thanks.
markf2748:
--- Quote from: Matt on December 28, 2024, 05:03:24 am ---Today skins can already define the custom artwork and just put a copy of the image in the skin folder itself. You said: and it seems like the current approach does that nicely.
Are you just looking for a third directory "This Art" for artwork? As you know, the system already looks in two folders today (default and custom).
--- End quote ---
Skins display two general types of artwork. (A1) "Fundamental" artwork which resides in the skin directory and is usually baked into the skin through main.xml. (A2) "Special" artwork, which typically resides in either Default or Custom directories, usually comprising View Headers, SmallIcons.png (which also requires a mating resource file images.xml), ActionWindowNavigation.png, and Options.png. When stored in Default or Custom dirs, (A2) normally gets applied to all skins (except as noted below).
Presumably the designer can incorporate (A2) directly into the skin folder (guessing), but I observe that in practice, when doing so, some experienced designers rename those files with a unique fixed prefix and then list each and every such renamed file in <Art> .... </Art>. The latter maps the unique Special filenames to the filenames which MC expects. Why unique Special filenames? They are easily identifiable and don't get alphabetically scattered throughout the skin directory, which would make them somewhat hard to keep track of. But also, importantly, this mechanism guarantees the designer's (A2) files will be used, independent of whatever resides in Default and Custom dirs. So Request (1) is to create "This Art", where (A2) can be conveniently stored without renaming and without the tedium of using "<Art> ... </Art>" for a large number of files. Its main intent is to simplify the design workflow while maintaining current functionality. For a designer who actually wants to use unique filenames, and for backward compatibility, "<Art> ... </Art>" by itself will still work.
All this still leaves the end-user at the mercy of the designer. A user who might change (A2) files in "This Art" for a built-in skin would be at risk of getting reverted back when MC updates (though a cumbersome workaround would be to copy the skin and rename it at the top of main.xml). Therefore being able to change the path to the "This Art" directory as an MC Option (as Matt brought up) gives the user a lot of additional flexibility. It's actually more than just a "nice to have". For example, the user could create new "This Art" directories for different skins if so desired. Or the user could redirect "This Art" to the Default or Custom dir.
I acknowledge my lack of experience in designing skins compared to many others. So please correct whatever I got wrong. Thanks for listening. :)
Navigation
[0] Message Index
[#] Next page
Go to full version