-
-
Notifications
You must be signed in to change notification settings - Fork 30
Extra Metadata Loader theme controls
Brandon edited this page Oct 16, 2022
·
2 revisions
Full integration tutorial for theme developers is available in the Playnite documentation: https://playnite.link/docs/master/tutorials/themes/extensionIntegration.html
Example:
[...]
<Grid Visibility="{PluginStatus Plugin=ExtraMetadataLoader_705fdbca-e1fc-4004-b839-1d040b8b4429, Status=Installed}">
[...]
It can also be used to return a bool
value if used in another property.
<ContentControl x:Name="ExtraMetadataLoader_VideoLoaderControl" />
This control is the same as the video control but can force to configure if the control can display controls or play sound
<ContentControl x:Name="ExtraMetadataLoader_VideoLoaderControl_Controls_Sound" />
<ContentControl x:Name="ExtraMetadataLoader_VideoLoaderControl_Controls_NoSound" />
<ContentControl x:Name="ExtraMetadataLoader_VideoLoaderControl_NoControls_NoSound" />
<ContentControl x:Name="ExtraMetadataLoader_VideoLoaderControl_NoControls_Sound" />
It's possible to create buttons that can interact with the video player controls:
<ToggleButtonEx x:Name="TrailerPlayToggleV" Width="60" Margin="0,0,10,0"
Style="{DynamicResource TrailerPlayToggle}"
IsChecked="{Binding ElementName=ExtraMetadataLoader_VideoLoaderControl_NoControls_Sound, Path=Content.SettingsModel.Settings.IsVideoPlaying, Mode=OneWay, FallbackValue={StaticResource False}}"
Command="{Binding ElementName=ExtraMetadataLoader_VideoLoaderControl_NoControls_Sound, Path=Content.VideoPlayCommand}"/>
<ToggleButtonEx x:Name="TrailerMuteToggleV" Width="60" Margin="0,0,10,0"
Style="{DynamicResource TrailerMuteToggle}"
IsChecked="{Binding ElementName=ExtraMetadataLoader_VideoLoaderControl_NoControls_Sound, Path=Content.IsPlayerMuted, Mode=OneWay, FallbackValue={StaticResource False}}"
Command="{Binding ElementName=ExtraMetadataLoader_VideoLoaderControl_NoControls_Sound, Path=Content.VideoMuteCommand}"/>
<ContentControl x:Name="ExtraMetadataLoader_LogoLoaderControl" />
The source name of the plugin is ExtraMetadataLoader
Setting | Type | Default | Description |
---|---|---|---|
EnableVideoPlayer | bool | true | Indicates if the video player has been enabled in settings |
AutoPlayVideos | bool | false | Indicates if trailer videos should be automatically played when loaded |
RepeatTrailerVideos | bool | false | Indicates if trailer videos should be repeated when they finish playing |
StartNoSound | bool | false | Indicates if videos should start playing without sound |
UseMicrotrailersDefault | bool | false | Indicates if the microtrailer videos should be played by default |
FallbackVideoSource | bool | true | Indicates if other type of video should be played if selected video type is not found |
DefaultVolume | double | 100 | Indicates the default volume in percentage |
VideoControlsOpacity | double | 0.3 | Indicates the opacity of video controls |
VideoControlsOpacityMouseOver | double | 1.0 | Indicates the opacity of video controls when the mouse is hovering the player |
VideoControlsVerticalAlignment | VerticalAlignment | Bottom | Indicates the vertical alignment of the video controls inside the video player |
EnableLogos | bool | true | Indicates if logos are enabled in settings |
LogoMaxWidth | double | 600 | Indicates the maximum width of the logo configured in settings |
LogoMaxHeight | double | 200 | Indicates the maximum height of the logo configured in settings |
LogoHorizontalAlignment | HorizontalAlignment | Center | Indicates the horizontal alignment of the logo configured in settings |
LogoVerticalAlignment | VerticalAlignment | Center | Indicates the vertical alignment of the logo configured in settings |
Binding example:
[...]
<StackPanel>
<StackPanel.Style>
<Style TargetType="StackPanel">
<Setter Property="Visibility" Value="Collapsed" />
<Style.Triggers>
<DataTrigger Binding="{PluginSettings Plugin=ExtraMetadataLoader, Path=EnableVideoPlayer, FallbackValue=False}" Value="True">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
</Style.Triggers>
</Style>
</StackPanel.Style>
[...]
Setting | Type | Default | Description |
---|---|---|---|
IsLogoAvailable | bool | false | Indicates if logo is available |
IsTrailerAvailable | bool | false | Indicates if trailer video is available |
IsMicrotrailerAvailable | bool | false | Indicates if Microtrailer video is available |
IsAnyVideoAvailable | bool | false | Indicates if trailer or microtrailer video is available |
IsVideoPlaying | bool | false | Indicates if a video is currently being played |
NewContextVideoAvailable | bool | false | Indicates if new game context has a video available for playing |
Binding example:
[...]
<StackPanel>
<StackPanel.Style>
<Style TargetType="StackPanel">
<Setter Property="Visibility" Value="Collapsed" />
<Style.Triggers>
<DataTrigger Binding="{PluginSettings Plugin=ExtraMetadataLoader, Path=IsAnyVideoAvailable, FallbackValue=False}" Value="True">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
</Style.Triggers>
</Style>
</StackPanel.Style>
[...]