YAMJ / yamj-v2

Yet Another Movie Jukebox (YAMJ) v2
GNU General Public License v3.0
28 stars 11 forks source link

Skin specific overlays #2165

Closed Omertron closed 9 years ago

Omertron commented 9 years ago

Original issue 2166 created by Omertron on 2011-11-04T08:25:06.000Z:

Allow a skin to have overlays in the skin directory rather than installing them into the main YAMJ folder.

Omertron commented 9 years ago

Comment #1 originally posted by Omertron on 2011-11-23T12:54:51.000Z:

Don't know if this is of any help to you but I have tried to see how far I can make a skin-specific overlay for eversion: http://forum.dentedboxes.com/showthread.php?tid=993

To sum it up:

Omertron commented 9 years ago

Comment #2 originally posted by Omertron on 2011-11-24T06:02:21.000Z:

This issue was updated by revision r2807.

New options: mjb.xmlOverlay.dir - place of overlay xml files. def: YAMJ root. ex, ./skins/default/xmlOverlay mjb.xmlOverlay.resources - place of overlay resources. def: resources dir of skin. ex: ./skins/default/xmlOverlay/resources

Omertron commented 9 years ago

Comment #3 originally posted by Omertron on 2011-11-24T14:51:18.000Z:

Why is the yamj root still the start of the path? the overlays are always in the skin folder and the skin folder can be named anything. The paths to overlays should be prepended with the skin folder location. So many settings to change if you rename the skin folder.

Omertron commented 9 years ago

Comment #4 originally posted by Omertron on 2011-11-24T16:56:05.000Z:

+1 with the above comments dir should be only the dirname = xmlOverlay (default) resources should be only resources dir name = resources (default) path should allow to specify another path which is not the skin path = current_skin_path (default)

Omertron commented 9 years ago

Comment #5 originally posted by Omertron on 2011-11-24T17:31:13.000Z:

Thanks, the paths works for me.

But:

Omertron commented 9 years ago

Comment #6 originally posted by Omertron on 2011-11-24T17:42:45.000Z:

I don't see the point in comment 3 and 4 what is the problem that will be solved. I like the flexibility this gives and the goal for me is to have self contained overlays that is separate from the skins/eskins.

E.g. A user can have multiple overlay set ups that can work with many skins.

Omertron commented 9 years ago

Comment #7 originally posted by Omertron on 2011-11-25T04:16:57.000Z:

to bryan: YAMJ root still the start of the path for backward compatibility. If you rename the skin folder then not so many settings to change, only 2 options: mjb.xmlOverlay.dir and mjb.xmlOverlay.resources.

to jean-luc.berno: If dir should be only the dirname then it becomes less flexible. Оr do you propose to make two arguments in three: now: mjb.xmlOverlay.dir: ./skins/default/xmlOverlay (relative to YAMJ root) mjb.xmlOverlay.resources: ./skins/default/xmlOverlay/resources (relative to YAMJ root) your model: mjb.xmlOverlay.path: ./skins/default (relative to YAMJ root) mjb.xmlOverlay.dir: xmlOverlay (relative to mjb.xmlOverlay.path) mjb.xmlOverlay.resources: resources (relative to mjb.xmlOverlay.dir) I understand correctly?

to rezurfer: No need for default_overlay_footer.png when using the overlayXML. You can use any param with default value to always put your picture. For example:

rating

just remember to set footer.rating=true.

Not understood the problem with overlay properties. You can set it on ./skins/skinname/skin-user.properties, ./skins/skinname/skin.properties or ./main.properties. Here is an example that you want.

Omertron commented 9 years ago

Comment #8 originally posted by Omertron on 2011-11-25T09:27:18.000Z:

Thanks

Omertron commented 9 years ago

Comment #9 originally posted by Omertron on 2011-11-25T14:54:36.000Z:

Yes, I can confirm that: if you want to have icons/xmlOverlays outside your artwork image you'll need a default-overlay as basis (I guess that's also part of the xmlOverlay example in the wiki).

And: xmlOverlay doesn't work with fanart, i.e. default-overlays can't be replaced by xmlOverlays in this case.

Omertron commented 9 years ago

Comment #10 originally posted by Omertron on 2011-11-26T01:07:08.000Z:

If you need backwords compatibility then mjb.xmlOverlay.skinroot=true to prepend it and you have support for both ways.. :)

Omertron commented 9 years ago

Comment #11 originally posted by Omertron on 2011-11-28T10:50:24.000Z:

to bryan: If I replace mjb.xmlOverlay.dir and mjb.xmlOverlay.resources to mjb.xmlOverlay.dir (relative to mjb.xmlOverlay.skinroot: true - skin root, false - YAMJ root), mjb.xmlOverlay.resources (relative to mjb.xmlOverlay.dir) and mjb.xmlOverlay.skinroot then it will satisfy your request?

to rezurfer:

Omertron commented 9 years ago

Comment #12 originally posted by Omertron on 2011-11-28T11:48:49.000Z:

overlays with are applied before the new size. I have also never got this to work correctly.

overlays with are applied after the new size + poster/thumbnail/banner is applied.

Example: If I want a "frosted glass" background for an artwork the only place I can apply it is with the default artwork. (I have done overlays with holes in it to create this effect but they are very complex to maintain and not flexible at all). http://www.mediafire.com/file/a1j7vupeyg...update.zip is an example with the hole showing what I'm trying to accomplish.

I can try this, this evening again (in 5 hours) and create examples. This is for banner, thumbnail and poster as well.

Omertron commented 9 years ago

Comment #13 originally posted by Omertron on 2011-12-01T12:02:37.000Z:

Check revision revision r2820. default_overlay_footer.png works fine. New configuration file overlay.properties. Released option mjb.xmlOverlay.skinroot.

Omertron commented 9 years ago

Comment #14 originally posted by Omertron on 2011-12-02T00:19:22.000Z:

Don't know if it's the new mjb.xmlOverlay.skinroot but no matter what I use YAMJ only asks for the default /skins/skinname/resources. My settings are:

mjb.xmlOverlay.skinroot=false mjb.xmlOverlay.dir=./skins/eversion/resources/evZap mjb.xmlOverlay.resources=./skins/eversion/resources/evZap

overlay PNGs and overlay.XMLs are in evZap folder. As a consequence no footer XMLs are found anymore (even when moved to the default resource folder). They're only found when directly using e.g. footername.xmlOverlayFile=./skins/eversion/resources/evZap/footername.xml

Both mjb.xmlOverlay.dir and mjb.xmlOverlay.resources from above worked fine before r2820.

Omertron commented 9 years ago

Comment #15 originally posted by Omertron on 2011-12-02T03:09:54.000Z:

mjb.xmlOverlay.resources should contain a folder name relative to the root, i.e. for your example: mjb.xmlOverlay.skinroot=false mjb.xmlOverlay.dir=./skins/eversion/resources/evZap mjb.xmlOverlay.resources=.

Omertron commented 9 years ago

Comment #16 originally posted by Omertron on 2011-12-02T03:27:20.000Z:

correction: mjb.xmlOverlay.resources should contain a folder name relative to the mjb.xmlOverlay.dir

Omertron commented 9 years ago

Comment #17 originally posted by Omertron on 2011-12-02T10:08:24.000Z:

Thanks for the solutions, but I have some problems getting it to work

I've tried the following: mjb.xmlOverlay.skinroot=false mjb.xmlOverlay.dir=./skins/eversion/overlay mjb.xmlOverlay.resources=./evstream_ol

I've also tried the settings above but with the evstream_ol directory as well as skinroot=true with the shorter paths.

It seems to always point to the resources directory whatever I have as parameters. I will continue testing later today.

Omertron commented 9 years ago

Comment #18 originally posted by Omertron on 2011-12-02T10:46:50.000Z:

What is the full path to evstream_ol? if ./evstream_ol (i.e. on YAMJ root) then mjb.xmlOverlay.resources=../../../evstream_ol if ./skins/eversion/overlay/evstream_ol then mjb.xmlOverlay.resources=evstream_ol if ./skins/eversion/evstream_ol then mjb.xmlOverlay.resources=../evstream_ol

Omertron commented 9 years ago

Comment #19 originally posted by Omertron on 2011-12-02T11:54:06.000Z:

I tried your instructions above, but the problem remains - yamj still wants the default resource folder.

Omertron commented 9 years ago

Comment #20 originally posted by Omertron on 2011-12-02T11:58:56.000Z:

YAMJ/skins/eversion/overlay/evstream_ol

mjb.xmlOverlay.skinroot=false mjb.xmlOverlay.dir=./skins/eversion/overlay mjb.xmlOverlay.resources=./evstream_ol

or

mjb.xmlOverlay.skinroot=true mjb.xmlOverlay.dir=./overlay mjb.xmlOverlay.resources=./evstream_ol

I have also tried: YAMJ/skins/eversion/resources/evstream_ol

mjb.xmlOverlay.skinroot=false mjb.xmlOverlay.dir=./skins/eversion/resources mjb.xmlOverlay.resources=./evstream_ol

or

mjb.xmlOverlay.skinroot=true mjb.xmlOverlay.dir=./resources mjb.xmlOverlay.resources=./evstream_ol

I hope I remember it right I can't access the files currently. I might have missed something when setting it up.

Omertron commented 9 years ago

Comment #21 originally posted by Omertron on 2011-12-02T13:11:26.000Z:

Update: after some more testing I can say that footers work now with

mjb.xmlOverlay.skinroot=false mjb.xmlOverlay.dir=./skins/eversion/resources/evZap mjb.xmlOverlay.resources=. (evZap = folder containing all xmlOverlay files and overlay images).

But overlay images (the original ones, not xmlOverlay) are still a problem; I assume the overlay.dir properties haven't been applied to fanart (DefaultBackgroundPlugin.java) but overlays for posters, thumbnails, etc. also still want the default resource location.

Omertron commented 9 years ago

Comment #22 originally posted by Omertron on 2011-12-02T15:42:50.000Z:

Update: after some more testing I can say that footers work now with

mjb.xmlOverlay.skinroot=false mjb.xmlOverlay.dir=./skins/eversion/resources/evZap mjb.xmlOverlay.resources=. (evZap = folder containing all xmlOverlay files and overlay images).

After having a closer look at the code I assume the xmlOverlay.dir settings were never meant for the "normal" overlays (the "xml" could have been a hint ;-) ) - stupid me.

Nevertheless I think it would be more consistent if normal overlays would also be affected.

If you agree, here's a patch that should solve this for defaultimageplugin and defaultbackgroundplugin.

Omertron commented 9 years ago

Comment #23 originally posted by Omertron on 2011-12-03T08:59:10.000Z:

to rezurfer: xml files on YAMJ/skins/eversion/overlay images on YAMJ/skins/eversion/overlay/evstream_ol

mjb.xmlOverlay.skinroot=false mjb.xmlOverlay.dir=./skins/eversion/overlay mjb.xmlOverlay.resources=evstream_ol or mjb.xmlOverlay.skinroot=true mjb.xmlOverlay.dir=overlay mjb.xmlOverlay.resources=evstream_ol

to safran64: I have not touched the normal overlay, only xmlOverlay - it can be seen from the parameter names. Whether to change the standard overlay - a matter for discussion. Now xmlOverlay develops independently of the normal, it surpasses it in features. I think you should not mix them. who think like?

Omertron commented 9 years ago

Comment #24 originally posted by Omertron on 2011-12-03T09:08:28.000Z:

The issue for me was I thought I could put the overlay.properties file in the overlay.dir folder. Now it works thanks for your patience.

Omertron commented 9 years ago

Comment #25 originally posted by Omertron on 2011-12-03T13:23:22.000Z:

As you know the standard overlay is also important for xmlOverlay if you e.g. want to put icons outside poster - to extend the workspace so to say; so I think no need to change the standard overlay.

I guess the main reason for this enhancement request was eversion and making overlays/xmlOverlays "eskin"-specific (=skin subfolders). Imo it'd be confusing if we used different locations for the "artwork manipulaton".

So, as a suggestion we could change mjb.xmlOverlay.dir, etc. to mjb.Overlay.dir, etc. (=less confusing) or use mjb.xmlOverlay.dir AND mjb.Overlay.dir,etc. (=more precise but also more complex).

Omertron commented 9 years ago

Comment #26 originally posted by Omertron on 2011-12-03T16:26:47.000Z:

The primary reason for the request is to make it possible to maintain xmloverlays. If a new overlay overwrites user settings and user files it is very hard to predict the outcome of installation of an overlay. At best the complete overlay is in one folder and a property points to that directory.

My wish would be: mjb.xmloverlay.dir = The directory where overlay.properties can be found and the root directory of the overlay [default would be resources directory] mjb.xmloverlay.resources = The directory where default_overlay_banners.png, default_overlay_thumbnails.png, default_overlay_posters.png, dummy.jpg, dummy_videoimage.jpg, dummy_banner.jpg can be found [default would be resources directory]

overlay.properties will point to the files and sub-folder of the root directory.

mjb.xmloverlay.dir, mjb.xmloverlay.resources or mjb.overlay.dir, mjb.overlay.resources doesn't really matter

Omertron commented 9 years ago

Comment #27 originally posted by Omertron on 2011-12-03T16:34:24.000Z:

I haven't found a better way to make the overlay larger than the default artwork files, width and height works for footers but not for any other artwork as safran64 mentioned.

So for my different xmloverlays I use different default artwork files. First set the size of the poster then the poster is overlayed on the default image which is larger is till true.

Omertron commented 9 years ago

Comment #28 originally posted by Omertron on 2011-12-03T22:11:00.000Z:

I've made an example of the current structure and one of a wished structure. I hope I'm not to much of a pain here :)

Omertron commented 9 years ago

Comment #29 originally posted by Omertron on 2011-12-03T22:12:16.000Z:

<empty>

Omertron commented 9 years ago

Comment #30 originally posted by Omertron on 2011-12-08T05:26:29.000Z:

This issue was updated by revision r2832.

Renamed params: mjb.xmlOverlay.skinroot -> mjb.overlay.skinroot (def: true) mjb.xmlOverlay.dir -> mjb.overlay.dir (def: , ie skinroot) mjb.xmlOverlay.resources -> mjb.overlay.resources (def: resources, ie skinroot/resources)

File overlay.properties moved to path of mjb.overlay.dir. All resources overlay (default_overlay_banners.png, dummy.jpg, set.png, tv.png, etc) should be on mjb.overlay.resources.

Omertron commented 9 years ago

Comment #31 originally posted by Omertron on 2011-12-08T07:38:13.000Z:

Thank you!

Omertron commented 9 years ago

Comment #32 originally posted by Omertron on 2011-12-09T16:29:55.000Z:

Many thanks!

Works almost perfect now. I just noticed that only the DefaultImagePlugin has been changed; could this also be added to the DefaultBackgroundPlugin (see attached patch) which handles the fanart overlays, please?

Omertron commented 9 years ago

Comment #33 originally posted by Omertron on 2011-12-12T04:25:09.000Z:

This issue was updated by revision r2834.

DefaultBackgroundPlugin supported params mjb.overlay.skinroot, mjb.overlay.dir and mjb.overlay.resources now.

Omertron commented 9 years ago

Comment #34 originally posted by Omertron on 2011-12-12T04:30:43.000Z:

Thank you, safran64, for your patch.

Omertron commented 9 years ago

Comment #35 originally posted by Omertron on 2012-01-31T20:12:09.000Z:

<empty>