summaryrefslogtreecommitdiffstats
path: root/win/CS/HandBrakeWPF/Views/VideoView.xaml
blob: 27f2a2f30c384e2c4119cf057bc84ad5967141e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<UserControl x:Class="HandBrakeWPF.Views.VideoView"
             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:Converters="clr-namespace:HandBrakeWPF.Converters"
             xmlns:Video="clr-namespace:HandBrakeWPF.Converters.Video" mc:Ignorable="d" >

    <UserControl.Resources>
        <Converters:BooleanConverter x:Key="boolConverter" />
        <Converters:BooleanToVisibilityConverter x:Key="boolToVisConverter" />
        <Converters:EnumComboConverter x:Key="enumComboConverter" />
        <Video:VideoEncoderConverter x:Key="videoEncoderConverter" />
    </UserControl.Resources>
   
    <Grid Margin="10,5,0,0">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>


        <Grid Grid.Row="1">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="*" />
            </Grid.ColumnDefinitions>

            <StackPanel Orientation="Vertical" Grid.Column="0" >

                <TextBlock Text="Video" FontWeight="Bold" Margin="0,0,0,10"/>

                <StackPanel Orientation="Horizontal" Margin="0,0,0,10" >
                    <TextBlock Text="Video Codec:" Width="100" />

                    <ComboBox Width="120">
                        <ComboBox.SelectedItem>
                            <MultiBinding Converter="{StaticResource videoEncoderConverter}">
                                <Binding Path="SelectedVideoEncoder" />
                            </MultiBinding>
                        </ComboBox.SelectedItem>
                        <ComboBox.ItemsSource>
                            <MultiBinding Converter="{StaticResource videoEncoderConverter}">
                                <Binding Path="VideoEncoders"/>
                                <Binding Path="Task" />
                            </MultiBinding>
                        </ComboBox.ItemsSource>
                    </ComboBox>
                    
                </StackPanel>

                <StackPanel Orientation="Horizontal">
                    <TextBlock Text="Framerate (FPS):" VerticalAlignment="Top" Margin="0,5,0,0" Width="100"/>
                    <StackPanel Orientation="Vertical">
                        <ComboBox Width="120" ItemsSource="{Binding Framerates}" SelectedItem="{Binding SelectedFramerate}" />
                        <RadioButton Content="Constant Framerate" IsChecked="{Binding IsConstantFramerate}" Margin="0,10,0,0" />
                        <RadioButton Content="Variable Framerate" IsChecked="{Binding IsVariableFramerate}" Visibility="{Binding ShowPeakFramerate, Converter={StaticResource boolToVisConverter}, ConverterParameter=true}" />
                        <RadioButton Content="Peak Framerate" IsChecked="{Binding IsPeakFramerate}" Visibility="{Binding ShowPeakFramerate, Converter={StaticResource boolToVisConverter}, ConverterParameter=false}" />
                    </StackPanel>
                </StackPanel>
            </StackPanel>


            <StackPanel Orientation="Vertical" Grid.Column="1" >
                <TextBlock Text="Quality" FontWeight="Bold" Margin="0,0,0,10"/>

                <StackPanel Orientation="Horizontal" Margin="0,0,0,10" >
                    <RadioButton Content="Constant Quality:" IsChecked="{Binding IsConstantQuantity}"  Margin="0,0,10,0"/>
                    <TextBlock Text="{Binding DisplayRF}" Width="25" />
                    <TextBlock Text="RF" FontWeight="Bold" />
                </StackPanel>

                <Slider Width="240" Value="{Binding RF}"  Maximum="{Binding QualityMax}" Minimum="{Binding QualityMin}"
                        IsEnabled="{Binding IsConstantQuantity}" Margin="0,0,0,20" />

                <StackPanel Orientation="Horizontal" Margin="0,0,0,10">
                    <RadioButton Content="Avg Bitrate (kbps):" IsChecked="{Binding IsConstantQuantity, Converter={StaticResource boolConverter}, ConverterParameter=true}" Margin="0,0,10,0"/>
                    <TextBox Width="75" Text="{Binding Task.VideoBitrate}" IsEnabled="{Binding IsConstantQuantity, Converter={StaticResource boolConverter}, ConverterParameter=true}" />
                </StackPanel>

                <StackPanel Orientation="Horizontal" Margin="30,0,0,0">
                    <CheckBox Content="2-Pass Encoding" IsEnabled="{Binding IsConstantQuantity, Converter={StaticResource boolConverter}, ConverterParameter=true}"
                              IsChecked="{Binding Task.TwoPass}" Margin="0,0,10,0" />
                    <CheckBox Content="Turbo first pass" IsEnabled="{Binding IsConstantQuantity, Converter={StaticResource boolConverter}, ConverterParameter=true}"
                              IsChecked="{Binding Task.TurboFirstPass}" />
                </StackPanel>

            </StackPanel>


            <!--<Grid Grid.Row="1" Margin="10,10,0,0" Visibility="{Binding DisplayX264Options, Converter={StaticResource boolToVisConverter}}">
                <Grid.RowDefinitions>
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="*" />
                </Grid.RowDefinitions>

                <StackPanel Grid.Row="0" Orientation="Vertical" Margin="0,0,0,10">

                    <TextBlock Text="X264 Advanced Options:" Margin="0,0,0,5" FontWeight="Bold" VerticalAlignment="Center" />

                    <StackPanel Grid.Row="1" Orientation="Horizontal" Margin="0,0,0,10">
                        <TextBlock Text="Preset:" VerticalAlignment="Center" />
                        <ComboBox Width="100" Grid.Column="3" Margin="5,0,5,0" Height="22"
                          ItemsSource="{Binding X264Presets, Converter={StaticResource x264DisplayConverter}}" 
                          SelectedItem="{Binding X264Preset, Converter={StaticResource x264DisplayConverter}}"/>

                        <TextBlock Text="Profile:" VerticalAlignment="Center" />
                        <ComboBox Width="100" Grid.Column="3" Margin="5,0,5,0" Height="22"
                          ItemsSource="{Binding X264Profiles, Converter={StaticResource x264DisplayConverter}}" 
                          SelectedItem="{Binding X264Profile, Converter={StaticResource x264DisplayConverter}}"/>


                        <TextBlock Text="Tune:" VerticalAlignment="Center" />
                        <ComboBox Width="100" Grid.Column="3" Margin="5,0,5,0" Height="22"
                          ItemsSource="{Binding X264Tunes, Converter={StaticResource x264DisplayConverter}}" 
                          SelectedItem="{Binding X264Tune, Converter={StaticResource x264DisplayConverter}}"/>
                    </StackPanel>
                </StackPanel>

            </Grid>

            <StackPanel Grid.Row="2" Margin="10" Height="100" VerticalAlignment="Top" >
                <TextBlock Text="Advanced Query" Margin="0,0,0,5" FontWeight="Bold" VerticalAlignment="Center" />
                <TextBox Text="{Binding Query}" 
                 VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Height="150" TextWrapping="Wrap" />
            </StackPanel>-->



        </Grid>

    </Grid>
</UserControl>