User Tools

Site Tools


layouts

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
layouts [2017/06/19 05:58]
phulshof [General Parameters]
layouts [2021/09/03 17:14] (current)
phulshof [<reloadableScrollingText> Parameters]
Line 14: Line 14:
  
  
-The global settings.conf file contains the default layout used by RetroFE. It is however possible to give a collection a completely different layout by adding the layout.xml and layout artwork to the /​layouts/<​layout name>/​collections/<​collection name>/​layout/​ directory. A splash.xml is not required/​used for a collection'​s layout. This way you can give each collection a completely different look and feel. +The global settings.conf file contains the default layout used by RetroFE. It is however possible to give a collection a completely different layout by adding the layout.xml and layout artwork to the /​layouts/<​layout name>/​collections/<​collection name>/​layout/​ directory. A splash.xml is not required/​used for a collection'​s layout. This way you can give each collection a completely different look and feel
 + 
 +RetroFE will first search for a layout XML file that matches the screen ratio, so e.g. "​layout 16x9.xml"​ or layout 4x3.xml. If that file is not found, it will default to "​layout.xml"​. Additionally,​ it will look for a layout file per monitor, e.g. "​layout 16x9 - 0.xml",​ "​layout - 1.xml",​ etc. 
 + 
 +When entering a collection, RetroFE will check the /​layouts/<​layout name>/​collections/<​collection name>/​layout/​ directory for the same layout XML files. If found, it will load that new layout, allowing you to set a different layout for each collection
 \\ \\
 \\ \\
Line 22: Line 26:
  
   <​layout>​   <​layout>​
-   <​!-- Sound parameters --> 
    <​sound/>​    <​sound/>​
-   <​!-- Menu structure --> 
    <​menu/>​    <​menu/>​
-   <​!-- Video --> 
    <​video/>​    <​video/>​
-   <​!-- Image --> 
    <​image/>​    <​image/>​
-   <​!-- Text --> 
    <​text/>​    <​text/>​
-   <!-- Video connected to the selected item -->+   <reloadableAudio/​>
    <​reloadableVideo/>​    <​reloadableVideo/>​
-   <​!-- Image connected to the selected item --> 
    <​reloadableImage/>​    <​reloadableImage/>​
-   <​!-- Text connected to the selected item --> 
    <​reloadableText/>​    <​reloadableText/>​
-   <​!-- Scrolling text connected to the selected item --> 
    <​reloadableScrollingText/>​    <​reloadableScrollingText/>​
   </​layout>​   </​layout>​
Line 90: Line 86:
 ^<​menu>​ tag parameters^^ ​ ^<​menu>​ tag parameters^^ ​
 |type |The type of menu to display. Set to custom to specify all the points on the screen. Set to vertical to have a vertical scrolling list prebuilt for the layout| |type |The type of menu to display. Set to custom to specify all the points on the screen. Set to vertical to have a vertical scrolling list prebuilt for the layout|
 +|videoType |If specified, uses a videoto be displayed for each menu item (if it exists). Text will be used if the video as well as an image as specified under imageType could not be found.|
 |imageType |If specified, uses an image to be displayed for each menu item (if it exists). Text will be used if the image could not be found.| |imageType |If specified, uses an image to be displayed for each menu item (if it exists). Text will be used if the image could not be found.|
 |orientation |Set to "​horizontal"​ to use the Left/Right controls to scroll. set to "​vertical"​ to use Up/Down.| |orientation |Set to "​horizontal"​ to use the Left/Right controls to scroll. set to "​vertical"​ to use Up/Down.|
 |scrollTime |The amount of time (in seconds) it takes for an item to scroll to the next point on the menu (i.e 0.750 = 750 milliseconds)| |scrollTime |The amount of time (in seconds) it takes for an item to scroll to the next point on the menu (i.e 0.750 = 750 milliseconds)|
 |scrollAcceleration |The acceleration rate to scroll by when holding down the up/​down/​left/​right scroll key| |scrollAcceleration |The acceleration rate to scroll by when holding down the up/​down/​left/​right scroll key|
 +|minScrollTime |The minimum amount of time (in seconds) it takes for an item to scroll to the next point in the menu that scrollAcceleration can reduce it to. |
 |menuIndex ​     |The index at which the menu should be inserted in the menu hierarchy. If omitted, the menu will be inserted at the next index. This also allows multiple menus to be inserted at the same index, displaying multiple menus at the same time.| |menuIndex ​     |The index at which the menu should be inserted in the menu hierarchy. If omitted, the menu will be inserted at the next index. This also allows multiple menus to be inserted at the same index, displaying multiple menus at the same time.|
  
Line 106: Line 104:
 |fontSize |Default font size of to display if not specified by a component.| |fontSize |Default font size of to display if not specified by a component.|
 |loadFontSize|The size (quality) of the font to load. For the best results, use the same value as fontsize.| |loadFontSize|The size (quality) of the font to load. For the best results, use the same value as fontsize.|
 +|volume |Audio volume of the video: 0 = mute, 1=100% volume|
  
 \\ \\
Line 115: Line 114:
 |fontSize |Default font size of to display if not specified by a component.| |fontSize |Default font size of to display if not specified by a component.|
 |loadFontSize |The size (quality) of the font to load. For the best results, use the same value as fontsize.| |loadFontSize |The size (quality) of the font to load. For the best results, use the same value as fontsize.|
 +|volume |Audio volume of the video: 0 = mute, 1=100% volume|
  
 For more information,​ see this [[https://​bitbucket.org/​teamretro/​retrofe/​src/​default/​Package/​Environment/​Common/​layouts/​Default%2016x9/​layout.xml?​at=default|example]] ​ For more information,​ see this [[https://​bitbucket.org/​teamretro/​retrofe/​src/​default/​Package/​Environment/​Common/​layouts/​Default%2016x9/​layout.xml?​at=default|example]] ​
 \\ \\
 \\ \\
 +=====<​video>​ Parameters=====
  
 +The <​video>​ tag supports the following parameter:
 +
 +^<​image>​ tag parameters^^ ​
 +|src |The location of the video to display (relative to the location of the active layout folder)|
 +|volume |Audio volume of the video: 0 = mute, 1=100% volume|
 +
 +
 +Example:
 +
 +  <video src="​intro.avi"​ volume="​0.5"​ x="​0"​ y="​0"​ height="​stretch"​ width="​stretch"​ layer="​0"/>​
 +
 +\\
 +\\
 =====<​image>​ Parameters===== =====<​image>​ Parameters=====
  
Line 151: Line 164:
 \\ \\
  
-=====<​reloadableVideo>​ Parameters=====+=====<​reloadableVideo> and <​reloadableAudio> Parameters=====
  
-The <​reloadableVideo>​ tag can be used to display a video of the selected item, and supports the following parameters:+The <​reloadableVideo> and <​reloadableAudio> tag can be used to display a video or audio (supported types are avi, mp4, wav, and mp3) of the selected item, and supports the following parameters:
  
-^<​reloadableVideo>​ tag parameters^^+^<​reloadableVideo> and <​reloadableAudio> tag parameters^^ 
 +|type |The type of video to display: “numberButtons”,​ “numberPlayers”,​ “ctrlType”,​ “numberJoyWays”,​ “rating”,​ “score”,​ “year”, “title”,​ “developer”,​ “manufacturer”,​ “genre”,​ “playlist”,​ “collectionName”,​ “collectionSize”,​ “collectionIndex”,​ “collectionIndexSize”,​ "​isFavorite",​ or any type you pick where the title will be used as the name of the file.|
 |imageType |The type of image to display if a video cannot be found: "​numberButtons",​ "​numberPlayers",​ "​year",​ "​title",​ "​manufacturer",​ "​genre"​.| |imageType |The type of image to display if a video cannot be found: "​numberButtons",​ "​numberPlayers",​ "​year",​ "​title",​ "​manufacturer",​ "​genre"​.|
 |mode |See mode attribute for more details.| |mode |See mode attribute for more details.|
 |textFallback |Set to true to have text displayed of a the item title if an image cannot be loaded.| |textFallback |Set to true to have text displayed of a the item title if an image cannot be loaded.|
-|font |Location of the font (relative to the layout folder).+|font |Location of the font (relative to the layout folder).|
 |fontColor |Default RGB color of the font (in hex, i.e. “6699AA”).| |fontColor |Default RGB color of the font (in hex, i.e. “6699AA”).|
 |fontSize |Default font size of to display if not specified by a component.| |fontSize |Default font size of to display if not specified by a component.|
Line 165: Line 179:
 |backgroundColor |Fill the component with a background color.| |backgroundColor |Fill the component with a background color.|
 |backgroundAlpha |Background color transparency:​ 0 = 0% visible, 0.5=50% visible, 1=100% visible| |backgroundAlpha |Background color transparency:​ 0 = 0% visible, 0.5=50% visible, 1=100% visible|
 +|volume |Audio volume of the video: 0 = mute, 1=100% volume|
 +|jukebox ​       |yes = enable jukebox mode. This will disable the attract mode for this layout, and in stead start scrolling after this video/audio is done playing. Default is no.|
 +|jukeboxNumLoops |Number of loops to play the jukebox element before the jukebox mode is activated. Default is 1.|
  
  
Line 172: Line 189:
  
 \\ \\
- 
 =====<​reloadableImage>​ Parameters===== =====<​reloadableImage>​ Parameters=====
  
Line 214: Line 230:
  
 \\ \\
- 
 =====<​reloadableScrollingText>​ Parameters===== =====<​reloadableScrollingText>​ Parameters=====
  
 The <​reloadableScrollingText>​ tag can be used to display textual information about the selected item, loaded from a text file, and supports the following parameters: The <​reloadableScrollingText>​ tag can be used to display textual information about the selected item, loaded from a text file, and supports the following parameters:
  
-^<reloadableText> tag parameters^^ ​+^<reloadableScrollingText> tag parameters^^ ​
 |type |The type of text file to load. Files are generally placed as <​collection name>/​medium_artwork/<​type>/<​game name>​.txt or <​collection name>/​system_artwork/<​type>​.txt. In addition, the following meta fields are supported: “numberButtons”,​ “numberPlayers”,​ “ctrlType”,​ “numberJoyWays”,​ “rating”,​ “score”,​ “year”, “title”,​ “developer”,​ “manufacturer”,​ “genre”,​ “playlist”,​ “collectionName”,​ “collectionSize”,​ “collectionIndex”,​ or “collectionIndexSize”.| |type |The type of text file to load. Files are generally placed as <​collection name>/​medium_artwork/<​type>/<​game name>​.txt or <​collection name>/​system_artwork/<​type>​.txt. In addition, the following meta fields are supported: “numberButtons”,​ “numberPlayers”,​ “ctrlType”,​ “numberJoyWays”,​ “rating”,​ “score”,​ “year”, “title”,​ “developer”,​ “manufacturer”,​ “genre”,​ “playlist”,​ “collectionName”,​ “collectionSize”,​ “collectionIndex”,​ or “collectionIndexSize”.|
 |mode |See mode attribute for more details.| |mode |See mode attribute for more details.|
Line 233: Line 248:
 |alignment |The text alignment for vertical scrolls: left, right, centered, justified.| |alignment |The text alignment for vertical scrolls: left, right, centered, justified.|
  
-The text will scroll across the screen until it is no longer visible. Then it will be reset. ​For a vertical scroll: if the startPosition is 0, and the text fits within the defined size, the text will not scroll.+The text will scroll across the screen until it is no longer visible. Then it will be reset. ​If the startPosition is 0, and the text fits within the defined size, the text will not scroll.
  
 Example: Example:
Line 262: Line 277:
 |backgroundColor |Fill the component with a background color| |backgroundColor |Fill the component with a background color|
 |backgroundAlpha |Background color transparency:​ 0 = 0% visible, 0.5=50% visible, 1=100% visible| |backgroundAlpha |Background color transparency:​ 0 = 0% visible, 0.5=50% visible, 1=100% visible|
-|reflection |Location of the reflection compared to the original image: top, bottom, left, right.|+|reflection |Location of the reflection compared to the original image: top, bottom, left, right. Can be combined to show multiple reflections,​ e.g. topleft, leftright, topbottomright. |
 |reflectionDistance |Distance between the reflection and the original image in pixels.| |reflectionDistance |Distance between the reflection and the original image in pixels.|
 |reflectionScale |Scale in vertical (reflection top/bottom) or horizontal (reflection left/right) direction of the reflection compared to the original image.| |reflectionScale |Scale in vertical (reflection top/bottom) or horizontal (reflection left/right) direction of the reflection compared to the original image.|
Line 271: Line 286:
 |containerHeight|Height of the cropping container.| |containerHeight|Height of the cropping container.|
 |layer|Layer on which the item should be displayed: 0 = back, 19 = front | |layer|Layer on which the item should be displayed: 0 = back, 19 = front |
 +|monitor|Monitor number on which the element should be displayed, starting from monitor 0.|
 +|menuScrollReload|Reload the art while the menu is scrolling when set to yes/true |
  
 RetroFE supports 20 layers of images (0-19) to allow items to overlap in a controlled fashion. RetroFE supports 20 layers of images (0-19) to allow items to overlap in a controlled fashion.
Line 298: Line 315:
 |onExit |Action happens on exiting RetroFE.| |onExit |Action happens on exiting RetroFE.|
 |onIdle |Action happens continuously while no other animations are active for that object.| |onIdle |Action happens continuously while no other animations are active for that object.|
 +|onMenuIdle |Action happens continuously while the menu isn't scrolling and no other animations are active for that object.|
 |onMenuScroll |Action happens when the menu starts scrolling.| |onMenuScroll |Action happens when the menu starts scrolling.|
 |onHighlightEnter |Action happens when the item is being selected.| |onHighlightEnter |Action happens when the item is being selected.|
Line 305: Line 323:
 |onGameEnter |Action happens on starting a game.| |onGameEnter |Action happens on starting a game.|
 |onGameExit |Action happens on quitting a game.| |onGameExit |Action happens on quitting a game.|
 +|onPlaylistEnter |Action happens on entering a playlist.| 
 +|onPlaylistExit |Action happens on exiting a playlist.| 
 +|onMenuJumpEnter |Action happens on entering a jump in the menu (next/​previous letter/​page,​ random).| 
 +|onMenuJumpExit |Action happens on exiting a jump in the menu (next/​previous letter/​page,​ random).| 
 +|onAttractEnter |Action happens on entering attract mode.| 
 +|onAttract |Action happens continuously while in attract mode.| 
 +|onAttractExit |Action happens on exiting attract mode.|
 The action type can be combined with a menuIndex attribute. This will force RetroFE to only activate the animation for the specified menu index, with 0 being the main menu. Some examples: The action type can be combined with a menuIndex attribute. This will force RetroFE to only activate the animation for the specified menu index, with 0 being the main menu. Some examples:
 ^  menuIndex ​ ^  Activated on  ^ ^  menuIndex ​ ^  Activated on  ^
 | menuIndex="​0" ​ | Activate the animation on the main menu. | | menuIndex="​0" ​ | Activate the animation on the main menu. |
 | menuIndex="​1" ​ | Activate the animation on first submenu. | | menuIndex="​1" ​ | Activate the animation on first submenu. |
-| menuIndex="​!0"​ | Activate the animation on every index except for the main menu. |+| menuIndex="​%%!%%0" | Activate the animation on every index except for the main menu. |
 | menuIndex=">​1"​ | Activate the animation on menu index 2, 3, 4, ... | | menuIndex=">​1"​ | Activate the animation on menu index 2, 3, 4, ... |
 | menuIndex="<​2"​ | Activate the animation on menu index 0 and 1. | | menuIndex="<​2"​ | Activate the animation on menu index 0 and 1. |
 | menuIndex="​i" ​ | Activate the animation when the index of the menu corresponds with the current menu index. This can only be used for animations for menu items. | | menuIndex="​i" ​ | Activate the animation when the index of the menu corresponds with the current menu index. This can only be used for animations for menu items. |
- 
 RetroFE supports the following algorithms: RetroFE supports the following algorithms:
  
Line 327: Line 350:
 Example: Example:
  
-  <!-- Flaming background, slowly pulsating using transparency. --> 
   <image src="​bg.png"​ x="​0"​ y="​0"​ height="​stretch"​ width="​stretch"​ layer="​0">​   <image src="​bg.png"​ x="​0"​ y="​0"​ height="​stretch"​ width="​stretch"​ layer="​0">​
     <​onIdle>​     <​onIdle>​
Line 344: Line 366:
 Several parameters allow for a mode attribute: system, common, layout, systemlayout,​ and commonlayout. This attribute can be omitted. This attribute has the following effects: Several parameters allow for a mode attribute: system, common, layout, systemlayout,​ and commonlayout. This attribute can be omitted. This attribute has the following effects:
  
-    ​Mode system and systemlayout use the information from the collection you're in rather than the selected item. +Mode system and systemlayout use the information from the collection you're in rather than the selected item. 
-    Mode layout, systemlayout,​ and commonlayout use the art in the layouts/<​layout name>/​collections/<​collection name>/ directory rather than collections/<​collection name>/ directory. + 
-    Mode common and commonlayout use the art in the collections/​_common/​medium_artwork directory rather than the collections/<​collection name>/​medium_artwork directory.+Mode layout, systemlayout,​ and commonlayout use the art in the layouts/<​layout name>/​collections/<​collection name>/ directory rather than collections/<​collection name>/ directory. 
 + 
 +Mode common and commonlayout use the art in the collections/​_common/​medium_artwork directory rather than the collections/<​collection name>/​medium_artwork directory.
  
 The item path also depends on whether the selected item is a collection or a game; it will select the first found file. The item path also depends on whether the selected item is a collection or a game; it will select the first found file.
Line 357: Line 381:
     No mode used:     No mode used:
         collections/​Main/​medium_artwork/​logo/​SNES.png         collections/​Main/​medium_artwork/​logo/​SNES.png
 +        collections/​SNES/​system_artwork/​logo.png
         collections/​Main/​medium_artwork/​logo/​default.png         collections/​Main/​medium_artwork/​logo/​default.png
     Mode layout:     Mode layout:
         layouts/<​layout name>/​collections/​Main/​medium_artwork/​logo/​SNES.png         layouts/<​layout name>/​collections/​Main/​medium_artwork/​logo/​SNES.png
 +        layouts/<​layout name>/​collections/​SNES/​system_artwork/​logo.png
         layouts/<​layout name>/​collections/​Main/​medium_artwork/​logo/​default.png         layouts/<​layout name>/​collections/​Main/​medium_artwork/​logo/​default.png
     Mode system (not very useful in the main menu):     Mode system (not very useful in the main menu):
Line 419: Line 445:
         layouts/<​layout name>/​collections/​_common/​medium_artwork/​manufacturer/​Capcom.png         layouts/<​layout name>/​collections/​_common/​medium_artwork/​manufacturer/​Capcom.png
         layouts/<​layout name>/​collections/​_common/​medium_artwork/​manufacturer/​default.png         layouts/<​layout name>/​collections/​_common/​medium_artwork/​manufacturer/​default.png
- 
  
layouts.1497866308.txt.gz · Last modified: 2017/06/19 05:58 by phulshof