Jump to content
LaunchBox Community Forums

How to change dimensions of marquee image/video?


Johnny T

Recommended Posts

Hi all,

I was using the CriticalZone theme for ages and had managed to set up the marquee image sizes by altering the PlatformMarqueeView.xml and GameMarqueeView.xml in the Theme/Views folder.

I'm using a stretched LCD display so need them to be quite squished.

I've now transitioned to the excellent Pulse theme. And would like to use 'video' marquees. However, there isn't those PlatformMarqueeView.xml and GameMarqueeView.xml files in this theme. The creator kindly shared the BB Theme Creator original files with me so I've loaded BB Theme Creator tonight and I've been to the Game Marquee screen but it's blank with no elements on it.

So I wondered if there was a way (either through the software or via altering an xml or whatever) to adjust the height/width of the marquee video/image in a theme? I couldn't see anything for that in the Big Box menus but maybe I'm missing something? Or maybe I can just drop an xml in a certain folder and any theme will read that?

Many thanks for all your help

🙂

Link to comment
Share on other sites

You would have to modify a marquee view from another theme and place those files in the Pulse theme's \Views folder or create the marquee view for that theme. There is not setting to adjust the image/video size it is all up to how the view is coded.

What are you trying to accomplish exactly? An image of the look you want would be helpful.

Link to comment
Share on other sites

35 minutes ago, Retro808 said:

You would have to modify a marquee view from another theme and place those files in the Pulse theme's \Views folder or create the marquee view for that theme. There is not setting to adjust the image/video size it is all up to how the view is coded.

What are you trying to accomplish exactly? An image of the look you want would be helpful.

Thanks for that Retro... I didn't realise I could just drop in other Theme's "views" and they would be honoured by the host theme.

That's great info. 

In answer to your question, I've got a cabinet that has a stretched LCD as a marquee... It's a strange ratio and 'standard' marquee's are only half on the screen (the bottom half is clipped).

I really want to get some videos on the marquee if possible (since the update in v12) but I also really love the Pulse theme so would like to keep that if I can.

Here's an older photo of the cab but you get the idea...

394007640_IMG_20200627_182954(1).thumb.jpg.2f8a9ba6a43d6a9973f4c8abe87e3f20.jpg

I'll try and drop in the "views" I edited in the last theme and see if that works.

Thanks again for all your help matey.

🙂

Link to comment
Share on other sites

For anyone who finds this thread in the future I thought I'd post back with the solution to setting up the image/video marquee on a theme. As Retro kindly pointed out in the earlier post, I just had to use the GameMarqueeView.xaml and PlatformMarqueeView.xaml and drop them into the Views folder within the Theme in question (even though they didn't originally exist in there (so I used the base files from the Big Box Default theme) - once they are dropped in then the theme honours whatever settings are in there).

After much Googling and reading about xaml files and a BIG bit of help from Faeran, my GameMarqueeView.xaml ended up looking like this....

<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:coverFlow="clr-namespace:Unbroken.LaunchBox.Windows.Controls.CoverFlow;assembly=Unbroken.LaunchBox.Windows"
    mc:Ignorable="d"
    d:DesignHeight="562"
    d:DesignWidth="1000"
    HorizontalAlignment="Stretch"
    VerticalAlignment="Top"
    FocusVisualStyle="{x:Null}"
    BorderThickness="0"
    Margin="0"
    Padding="0"
    Background="#000">
    <Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Height="265" Width="1366">
        <coverFlow:FlowImage CreateFallbackImage="False" DataContext="{Binding SelectedGame}" ImageType="Boxes" Stretch="Uniform" StretchDirection="Both" HorizontalAlignment="Center" VerticalAlignment="Center" RenderOptions.BitmapScalingMode="HighQuality">
            <coverFlow:FlowImage.Style>
                <Style TargetType="{x:Type coverFlow:FlowImage}">
                    <Setter Property="Visibility" Value="Hidden"/>
                    <Style.Triggers>
                        <MultiDataTrigger>
                            <MultiDataTrigger.Conditions>
                                <Condition Binding="{Binding ElementName=MarqueeImage, Path=HasImage}" Value="False" />
                                <Condition Binding="{Binding ElementName=LogoImage, Path=HasImage}" Value="False" />
                                <Condition Binding="{Binding ElementName=MarqueeVideo, Path=HasVideo}" Value="False" />
                            </MultiDataTrigger.Conditions>
                            <Setter Property="Visibility" Value="Visible"/>
                        </MultiDataTrigger>
                    </Style.Triggers>
                </Style>
            </coverFlow:FlowImage.Style>
        </coverFlow:FlowImage>
        <Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
            <Grid.Style>
                <Style TargetType="{x:Type Grid}">
                    <Setter Property="Visibility" Value="Hidden"/>
                    <Style.Triggers>
                        <MultiDataTrigger>
                            <MultiDataTrigger.Conditions>
                                <Condition Binding="{Binding ElementName=MarqueeImage, Path=HasImage}" Value="False" />
                                <Condition Binding="{Binding ElementName=LogoImage, Path=HasImage}" Value="True" />
                                <Condition Binding="{Binding ElementName=MarqueeVideo, Path=HasVideo}" Value="False" />
                            </MultiDataTrigger.Conditions>
                            <Setter Property="Visibility" Value="Visible"/>
                        </MultiDataTrigger>
                    </Style.Triggers>
                </Style>
            </Grid.Style>
            <Image Source="{Binding SelectedGame.BackgroundImagePath}" Stretch="UniformToFill" HorizontalAlignment="Center" VerticalAlignment="Center" RenderOptions.BitmapScalingMode="HighQuality">
                <Image.Effect>
                    <BlurEffect Radius="20"/>
                </Image.Effect>
            </Image>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="1*"/>
                    <ColumnDefinition Width="6*"/>
                    <ColumnDefinition Width="1*"/>
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                    <RowDefinition Height="1*"/>
                    <RowDefinition Height="6*"/>
                    <RowDefinition Height="1*"/>
                </Grid.RowDefinitions>
                <coverFlow:FlowImage x:Name="LogoImage" Visibility="Collapsed" CreateFallbackImage="False" DataContext="{Binding SelectedGame}" ImageType="Clear Logo" Stretch="Uniform" StretchDirection="Both" 
                                     HorizontalAlignment="Center" VerticalAlignment="Top" RenderOptions.BitmapScalingMode="HighQuality" />
                <Image Grid.Row="1" Grid.Column="1" Source="{Binding SelectedGame.ClearLogoImagePath}" Stretch="Uniform" HorizontalAlignment="Center" VerticalAlignment="Top" RenderOptions.BitmapScalingMode="HighQuality" />
            </Grid>
        </Grid>
        <coverFlow:FlowImage x:Name="MarqueeImage" CreateFallbackImage="False" DataContext="{Binding SelectedGame}" ImageType="Marquees" Stretch="Fill" StretchDirection="Both" HorizontalAlignment="Center" VerticalAlignment="Top" RenderOptions.BitmapScalingMode="HighQuality">
            <coverFlow:FlowImage.Style>
                <Style TargetType="{x:Type coverFlow:FlowImage}">
                    <Setter Property="Visibility" Value="Hidden"/>
                    <Style.Triggers>
                        <MultiDataTrigger>
                            <MultiDataTrigger.Conditions>
                                <Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=HasImage}" Value="True" />
                                <Condition Binding="{Binding ElementName=MarqueeVideo, Path=HasVideo}" Value="False" />
                            </MultiDataTrigger.Conditions>
                            <Setter Property="Visibility" Value="Visible"/>
                        </MultiDataTrigger>
                    </Style.Triggers>
                </Style>
            </coverFlow:FlowImage.Style>
        </coverFlow:FlowImage>
        <coverFlow:FlowVideo x:Name="MarqueeVideo" VideoType="Marquee" DataContext="{Binding SelectedGame}" PlayVideo="True" PlayAudio="False" FallbackToDefault="False" StretchVideo="True">
            <coverFlow:FlowVideo.Style>
                <Style TargetType="{x:Type coverFlow:FlowVideo}">
                    <Setter Property="Visibility" Value="Visible"/>
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=HasVideo}" Value="False">
                            <Setter Property="Visibility" Value="Hidden"/>
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </coverFlow:FlowVideo.Style>
        </coverFlow:FlowVideo>
    </Grid>
</UserControl>

The key parts are the Height and Width in the Grid tag - which align with my particular Marquee display. And also the VerticalAlignment="Top" near the top of the file which moves the marquee image up to the top of the screen. And, finally, the StretchVideo="True" (which Faeran kindly told me about) which stretches the marquee videos across the marquee screen.

 

Once I'd sorted that then I also altered the PlatformMarqueeView.xaml as well. It became this.....

 

<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    mc:Ignorable="d"
    d:DesignHeight="562"
    d:DesignWidth="1000"
    HorizontalAlignment="Stretch"
    VerticalAlignment="Top"
    FocusVisualStyle="{x:Null}"
    BorderThickness="0"
    Margin="0"
    Padding="0"
    Background="#000">
	<Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Height="265" Width="1366">
        <Image Source="{Binding Path=SelectedPlatform.BannerImagePath}" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Center" RenderOptions.BitmapScalingMode="HighQuality" />
    </Grid>
</UserControl>

 

These files may not be "perfect" in the programming sense as it was a lot of trial and error so, if anyone is reading this who has more knowledge, feel free to chime in and point out any mistakes. However, they seem to work for my setup with a stretched LCD so thought they might help someone else in the future.

Thanks to Retro808 and Faeran as we are all just standing on the shoulders of giants like that to get anywhere with this stuff (I know I am anyway!!!).

🙂

  • Thanks 1
Link to comment
Share on other sites

  • 3 weeks later...
On 11/5/2021 at 7:11 PM, Johnny T said:

For anyone who finds this thread in the future I thought I'd post back with the solution to setting up the image/video marquee on a theme. As Retro kindly pointed out in the earlier post, I just had to use the GameMarqueeView.xaml and PlatformMarqueeView.xaml and drop them into the Views folder within the Theme in question (even though they didn't originally exist in there (so I used the base files from the Big Box Default theme) - once they are dropped in then the theme honours whatever settings are in there).

After much Googling and reading about xaml files and a BIG bit of help from Faeran, my GameMarqueeView.xaml ended up looking like this....

<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:coverFlow="clr-namespace:Unbroken.LaunchBox.Windows.Controls.CoverFlow;assembly=Unbroken.LaunchBox.Windows"
    mc:Ignorable="d"
    d:DesignHeight="562"
    d:DesignWidth="1000"
    HorizontalAlignment="Stretch"
    VerticalAlignment="Top"
    FocusVisualStyle="{x:Null}"
    BorderThickness="0"
    Margin="0"
    Padding="0"
    Background="#000">
    <Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Height="265" Width="1366">
        <coverFlow:FlowImage CreateFallbackImage="False" DataContext="{Binding SelectedGame}" ImageType="Boxes" Stretch="Uniform" StretchDirection="Both" HorizontalAlignment="Center" VerticalAlignment="Center" RenderOptions.BitmapScalingMode="HighQuality">
            <coverFlow:FlowImage.Style>
                <Style TargetType="{x:Type coverFlow:FlowImage}">
                    <Setter Property="Visibility" Value="Hidden"/>
                    <Style.Triggers>
                        <MultiDataTrigger>
                            <MultiDataTrigger.Conditions>
                                <Condition Binding="{Binding ElementName=MarqueeImage, Path=HasImage}" Value="False" />
                                <Condition Binding="{Binding ElementName=LogoImage, Path=HasImage}" Value="False" />
                                <Condition Binding="{Binding ElementName=MarqueeVideo, Path=HasVideo}" Value="False" />
                            </MultiDataTrigger.Conditions>
                            <Setter Property="Visibility" Value="Visible"/>
                        </MultiDataTrigger>
                    </Style.Triggers>
                </Style>
            </coverFlow:FlowImage.Style>
        </coverFlow:FlowImage>
        <Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
            <Grid.Style>
                <Style TargetType="{x:Type Grid}">
                    <Setter Property="Visibility" Value="Hidden"/>
                    <Style.Triggers>
                        <MultiDataTrigger>
                            <MultiDataTrigger.Conditions>
                                <Condition Binding="{Binding ElementName=MarqueeImage, Path=HasImage}" Value="False" />
                                <Condition Binding="{Binding ElementName=LogoImage, Path=HasImage}" Value="True" />
                                <Condition Binding="{Binding ElementName=MarqueeVideo, Path=HasVideo}" Value="False" />
                            </MultiDataTrigger.Conditions>
                            <Setter Property="Visibility" Value="Visible"/>
                        </MultiDataTrigger>
                    </Style.Triggers>
                </Style>
            </Grid.Style>
            <Image Source="{Binding SelectedGame.BackgroundImagePath}" Stretch="UniformToFill" HorizontalAlignment="Center" VerticalAlignment="Center" RenderOptions.BitmapScalingMode="HighQuality">
                <Image.Effect>
                    <BlurEffect Radius="20"/>
                </Image.Effect>
            </Image>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="1*"/>
                    <ColumnDefinition Width="6*"/>
                    <ColumnDefinition Width="1*"/>
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                    <RowDefinition Height="1*"/>
                    <RowDefinition Height="6*"/>
                    <RowDefinition Height="1*"/>
                </Grid.RowDefinitions>
                <coverFlow:FlowImage x:Name="LogoImage" Visibility="Collapsed" CreateFallbackImage="False" DataContext="{Binding SelectedGame}" ImageType="Clear Logo" Stretch="Uniform" StretchDirection="Both" 
                                     HorizontalAlignment="Center" VerticalAlignment="Top" RenderOptions.BitmapScalingMode="HighQuality" />
                <Image Grid.Row="1" Grid.Column="1" Source="{Binding SelectedGame.ClearLogoImagePath}" Stretch="Uniform" HorizontalAlignment="Center" VerticalAlignment="Top" RenderOptions.BitmapScalingMode="HighQuality" />
            </Grid>
        </Grid>
        <coverFlow:FlowImage x:Name="MarqueeImage" CreateFallbackImage="False" DataContext="{Binding SelectedGame}" ImageType="Marquees" Stretch="Fill" StretchDirection="Both" HorizontalAlignment="Center" VerticalAlignment="Top" RenderOptions.BitmapScalingMode="HighQuality">
            <coverFlow:FlowImage.Style>
                <Style TargetType="{x:Type coverFlow:FlowImage}">
                    <Setter Property="Visibility" Value="Hidden"/>
                    <Style.Triggers>
                        <MultiDataTrigger>
                            <MultiDataTrigger.Conditions>
                                <Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=HasImage}" Value="True" />
                                <Condition Binding="{Binding ElementName=MarqueeVideo, Path=HasVideo}" Value="False" />
                            </MultiDataTrigger.Conditions>
                            <Setter Property="Visibility" Value="Visible"/>
                        </MultiDataTrigger>
                    </Style.Triggers>
                </Style>
            </coverFlow:FlowImage.Style>
        </coverFlow:FlowImage>
        <coverFlow:FlowVideo x:Name="MarqueeVideo" VideoType="Marquee" DataContext="{Binding SelectedGame}" PlayVideo="True" PlayAudio="False" FallbackToDefault="False" StretchVideo="True">
            <coverFlow:FlowVideo.Style>
                <Style TargetType="{x:Type coverFlow:FlowVideo}">
                    <Setter Property="Visibility" Value="Visible"/>
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=HasVideo}" Value="False">
                            <Setter Property="Visibility" Value="Hidden"/>
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </coverFlow:FlowVideo.Style>
        </coverFlow:FlowVideo>
    </Grid>
</UserControl>

The key parts are the Height and Width in the Grid tag - which align with my particular Marquee display. And also the VerticalAlignment="Top" near the top of the file which moves the marquee image up to the top of the screen. And, finally, the StretchVideo="True" (which Faeran kindly told me about) which stretches the marquee videos across the marquee screen.

 

Once I'd sorted that then I also altered the PlatformMarqueeView.xaml as well. It became this.....

 

<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    mc:Ignorable="d"
    d:DesignHeight="562"
    d:DesignWidth="1000"
    HorizontalAlignment="Stretch"
    VerticalAlignment="Top"
    FocusVisualStyle="{x:Null}"
    BorderThickness="0"
    Margin="0"
    Padding="0"
    Background="#000">
	<Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Height="265" Width="1366">
        <Image Source="{Binding Path=SelectedPlatform.BannerImagePath}" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Center" RenderOptions.BitmapScalingMode="HighQuality" />
    </Grid>
</UserControl>

 

These files may not be "perfect" in the programming sense as it was a lot of trial and error so, if anyone is reading this who has more knowledge, feel free to chime in and point out any mistakes. However, they seem to work for my setup with a stretched LCD so thought they might help someone else in the future.

Thanks to Retro808 and Faeran as we are all just standing on the shoulders of giants like that to get anywhere with this stuff (I know I am anyway!!!).

🙂

Just used this code on my 36.6" 1920x290 Stretch LCD Display making sure I use my resolution (Height="290" Width="1920") in lieu of the 265x1366 and worked first go.

 

Thanks Johnny T.

 

Marquee in operation.jpg

Link to comment
Share on other sites

29 minutes ago, Greedy Guido said:

I do have one question,  If I have the main monitor set to 4K the marquee doesn't seem to work. 

Anyone else notice this issue.  I must admit I have not tried the 4K option now that I have modded the files above.

Be sure the dpi text scaling option in windows is set to the same percentage for both screens.

Link to comment
Share on other sites

  • 1 month later...
  • 5 months later...

So I have a cabinet with dual 50" monitors and the top monitor displaying marquees. I love the way the themed videos play on the top screen while the game is being played on the bottom screen. The only gripe I have is the themed videos on the top are not fully stretched as they are 1440 X 1080. Is there anyway to stretch the video to 1920 X 1080? I have switched the resolution in the .xml settings with no luck.

Edited by Boomerps2
Link to comment
Share on other sites

12 minutes ago, Boomerps2 said:

So I have a cabinet with dual 50" monitors and the top monitor displaying marquees. I love the way the themed videos play on the top screen while the game is being played on the bottom screen. The only gripe I have is the themed videos on the top are not fully stretched as they are 1440 X 1080. Is there anyway to stretch the video to 1920 X 1080? I have switched the resolution in the .xml settings with no luck.

What exact line did you edit in the xaml? I do not believe the stock marquee view xaml has any specified dimensions in the coverFlow:FlowVideo.

You may just need to edit the view and add StretchVideo=True

Also are you trying to edit the Default theme's code? As that will not work. It will revert back to stock code on each startup.

Link to comment
Share on other sites

  • 3 weeks later...
On 7/6/2022 at 4:57 PM, Retro808 said:

What exact line did you edit in the xaml? I do not believe the stock marquee view xaml has any specified dimensions in the coverFlow:FlowVideo.

You may just need to edit the view and add StretchVideo=True

Also are you trying to edit the Default theme's code? As that will not work. It will revert back to stock code on each startup.

maybe you maybe you can help me Retro808? I am trying to get my marquee to display an image or video when I start bigbox. I can’t seem to figure out which settings I need to change or how to do this? I’ve searched and searched but maybe I’m searching for the wrong keywords. Do you know how to do this or maybe can point me in the correct direction?

Link to comment
Share on other sites

  • 2 months later...
On 11/5/2021 at 2:11 AM, Johnny T said:

For anyone who finds this thread in the future I thought I'd post back with the solution to setting up the image/video marquee on a theme. As Retro kindly pointed out in the earlier post, I just had to use the GameMarqueeView.xaml and PlatformMarqueeView.xaml and drop them into the Views folder within the Theme in question (even though they didn't originally exist in there (so I used the base files from the Big Box Default theme) - once they are dropped in then the theme honours whatever settings are in there).

After much Googling and reading about xaml files and a BIG bit of help from Faeran, my GameMarqueeView.xaml ended up looking like this....

<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:coverFlow="clr-namespace:Unbroken.LaunchBox.Windows.Controls.CoverFlow;assembly=Unbroken.LaunchBox.Windows"
    mc:Ignorable="d"
    d:DesignHeight="562"
    d:DesignWidth="1000"
    HorizontalAlignment="Stretch"
    VerticalAlignment="Top"
    FocusVisualStyle="{x:Null}"
    BorderThickness="0"
    Margin="0"
    Padding="0"
    Background="#000">
    <Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Height="265" Width="1366">
        <coverFlow:FlowImage CreateFallbackImage="False" DataContext="{Binding SelectedGame}" ImageType="Boxes" Stretch="Uniform" StretchDirection="Both" HorizontalAlignment="Center" VerticalAlignment="Center" RenderOptions.BitmapScalingMode="HighQuality">
            <coverFlow:FlowImage.Style>
                <Style TargetType="{x:Type coverFlow:FlowImage}">
                    <Setter Property="Visibility" Value="Hidden"/>
                    <Style.Triggers>
                        <MultiDataTrigger>
                            <MultiDataTrigger.Conditions>
                                <Condition Binding="{Binding ElementName=MarqueeImage, Path=HasImage}" Value="False" />
                                <Condition Binding="{Binding ElementName=LogoImage, Path=HasImage}" Value="False" />
                                <Condition Binding="{Binding ElementName=MarqueeVideo, Path=HasVideo}" Value="False" />
                            </MultiDataTrigger.Conditions>
                            <Setter Property="Visibility" Value="Visible"/>
                        </MultiDataTrigger>
                    </Style.Triggers>
                </Style>
            </coverFlow:FlowImage.Style>
        </coverFlow:FlowImage>
        <Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
            <Grid.Style>
                <Style TargetType="{x:Type Grid}">
                    <Setter Property="Visibility" Value="Hidden"/>
                    <Style.Triggers>
                        <MultiDataTrigger>
                            <MultiDataTrigger.Conditions>
                                <Condition Binding="{Binding ElementName=MarqueeImage, Path=HasImage}" Value="False" />
                                <Condition Binding="{Binding ElementName=LogoImage, Path=HasImage}" Value="True" />
                                <Condition Binding="{Binding ElementName=MarqueeVideo, Path=HasVideo}" Value="False" />
                            </MultiDataTrigger.Conditions>
                            <Setter Property="Visibility" Value="Visible"/>
                        </MultiDataTrigger>
                    </Style.Triggers>
                </Style>
            </Grid.Style>
            <Image Source="{Binding SelectedGame.BackgroundImagePath}" Stretch="UniformToFill" HorizontalAlignment="Center" VerticalAlignment="Center" RenderOptions.BitmapScalingMode="HighQuality">
                <Image.Effect>
                    <BlurEffect Radius="20"/>
                </Image.Effect>
            </Image>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="1*"/>
                    <ColumnDefinition Width="6*"/>
                    <ColumnDefinition Width="1*"/>
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                    <RowDefinition Height="1*"/>
                    <RowDefinition Height="6*"/>
                    <RowDefinition Height="1*"/>
                </Grid.RowDefinitions>
                <coverFlow:FlowImage x:Name="LogoImage" Visibility="Collapsed" CreateFallbackImage="False" DataContext="{Binding SelectedGame}" ImageType="Clear Logo" Stretch="Uniform" StretchDirection="Both" 
                                     HorizontalAlignment="Center" VerticalAlignment="Top" RenderOptions.BitmapScalingMode="HighQuality" />
                <Image Grid.Row="1" Grid.Column="1" Source="{Binding SelectedGame.ClearLogoImagePath}" Stretch="Uniform" HorizontalAlignment="Center" VerticalAlignment="Top" RenderOptions.BitmapScalingMode="HighQuality" />
            </Grid>
        </Grid>
        <coverFlow:FlowImage x:Name="MarqueeImage" CreateFallbackImage="False" DataContext="{Binding SelectedGame}" ImageType="Marquees" Stretch="Fill" StretchDirection="Both" HorizontalAlignment="Center" VerticalAlignment="Top" RenderOptions.BitmapScalingMode="HighQuality">
            <coverFlow:FlowImage.Style>
                <Style TargetType="{x:Type coverFlow:FlowImage}">
                    <Setter Property="Visibility" Value="Hidden"/>
                    <Style.Triggers>
                        <MultiDataTrigger>
                            <MultiDataTrigger.Conditions>
                                <Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=HasImage}" Value="True" />
                                <Condition Binding="{Binding ElementName=MarqueeVideo, Path=HasVideo}" Value="False" />
                            </MultiDataTrigger.Conditions>
                            <Setter Property="Visibility" Value="Visible"/>
                        </MultiDataTrigger>
                    </Style.Triggers>
                </Style>
            </coverFlow:FlowImage.Style>
        </coverFlow:FlowImage>
        <coverFlow:FlowVideo x:Name="MarqueeVideo" VideoType="Marquee" DataContext="{Binding SelectedGame}" PlayVideo="True" PlayAudio="False" FallbackToDefault="False" StretchVideo="True">
            <coverFlow:FlowVideo.Style>
                <Style TargetType="{x:Type coverFlow:FlowVideo}">
                    <Setter Property="Visibility" Value="Visible"/>
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=HasVideo}" Value="False">
                            <Setter Property="Visibility" Value="Hidden"/>
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </coverFlow:FlowVideo.Style>
        </coverFlow:FlowVideo>
    </Grid>
</UserControl>

The key parts are the Height and Width in the Grid tag - which align with my particular Marquee display. And also the VerticalAlignment="Top" near the top of the file which moves the marquee image up to the top of the screen. And, finally, the StretchVideo="True" (which Faeran kindly told me about) which stretches the marquee videos across the marquee screen.

 

Once I'd sorted that then I also altered the PlatformMarqueeView.xaml as well. It became this.....

 

<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    mc:Ignorable="d"
    d:DesignHeight="562"
    d:DesignWidth="1000"
    HorizontalAlignment="Stretch"
    VerticalAlignment="Top"
    FocusVisualStyle="{x:Null}"
    BorderThickness="0"
    Margin="0"
    Padding="0"
    Background="#000">
	<Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Height="265" Width="1366">
        <Image Source="{Binding Path=SelectedPlatform.BannerImagePath}" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Center" RenderOptions.BitmapScalingMode="HighQuality" />
    </Grid>
</UserControl>

 

These files may not be "perfect" in the programming sense as it was a lot of trial and error so, if anyone is reading this who has more knowledge, feel free to chime in and point out any mistakes. However, they seem to work for my setup with a stretched LCD so thought they might help someone else in the future.

Thanks to Retro808 and Faeran as we are all just standing on the shoulders of giants like that to get anywhere with this stuff (I know I am anyway!!!).

🙂

bro you are the man! Thank you!

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...