Jump to content
LaunchBox Community Forums

Greedy Guido

Members
  • Posts

    5
  • Joined

  • Last visited

Posts posted by Greedy Guido

  1. G'Day Trend Setters,

    I have BigBox in my arcade cabinet running MAME (love my retro games) however I have the full MAME files and BigBox shows more stuff then just the games (graphic emulators, computer emulators, etc).

    How do you make BigBox only show arcade games and ignore the rest.

    Thanks in advance.

  2. 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

×
×
  • Create New...