mirror of
https://github.com/azaion/annotations.git
synced 2026-04-22 08:56:30 +00:00
62623b7123
rewrite zmq to DEALER and ROUTER add GET_USER command to get CurrentUser from Python all auth is on the python side inference run and validate annotations on python
542 lines
34 KiB
XML
542 lines
34 KiB
XML
<Window x:Class="Azaion.Annotator.Annotator"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:wpf="clr-namespace:LibVLCSharp.WPF;assembly=LibVLCSharp.WPF" xmlns:controls="clr-namespace:Azaion.Annotator.Controls"
|
|
xmlns:controls1="clr-namespace:Azaion.Common.Controls;assembly=Azaion.Common"
|
|
xmlns:controls2="clr-namespace:Azaion.Annotator.Controls;assembly=Azaion.Common"
|
|
mc:Ignorable="d"
|
|
Title="Azaion Annotator" Height="800" Width="1100"
|
|
WindowState="Maximized"
|
|
>
|
|
|
|
<Window.Resources>
|
|
<Style x:Key="DataGridCellStyle1" TargetType="{x:Type DataGridCell}">
|
|
<Setter Property="Background" Value="Transparent"/>
|
|
<Setter Property="BorderBrush" Value="Transparent"/>
|
|
<Setter Property="BorderThickness" Value="1"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type DataGridCell}">
|
|
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True">
|
|
<ContentPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
|
|
</Border>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Style.Triggers>
|
|
<Trigger Property="IsSelected" Value="True">
|
|
<Setter Property="Background" Value="SteelBlue"/>
|
|
<Setter Property="Foreground" Value="White"/>
|
|
<Setter Property="BorderBrush" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
|
|
</Trigger>
|
|
<Trigger Property="IsKeyboardFocusWithin" Value="True">
|
|
<Setter Property="BorderBrush" Value="{DynamicResource {x:Static DataGrid.FocusBorderBrushKey}}"/>
|
|
</Trigger>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="IsSelected" Value="true"/>
|
|
<Condition Property="Selector.IsSelectionActive" Value="false"/>
|
|
</MultiTrigger.Conditions>
|
|
<Setter Property="Background" Value="SteelBlue"/>
|
|
<Setter Property="Foreground" Value="White"/>
|
|
<Setter Property="BorderBrush" Value="{DynamicResource {x:Static SystemColors.InactiveSelectionHighlightBrushKey}}"/>
|
|
</MultiTrigger>
|
|
<Trigger Property="IsEnabled" Value="false">
|
|
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
|
|
</Trigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Window.Resources>
|
|
|
|
<Grid Name="GlobalGrid"
|
|
ShowGridLines="False"
|
|
Background="Black">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*"></RowDefinition>
|
|
<RowDefinition Height="28"></RowDefinition>
|
|
<RowDefinition Height="32"></RowDefinition>
|
|
</Grid.RowDefinitions>
|
|
|
|
<Grid
|
|
Name="MainGrid"
|
|
ShowGridLines="False"
|
|
Background="Black"
|
|
HorizontalAlignment="Stretch">
|
|
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="28"></RowDefinition>
|
|
<RowDefinition Height="28"></RowDefinition>
|
|
<RowDefinition Height="28"></RowDefinition>
|
|
<RowDefinition Height="*"></RowDefinition>
|
|
<RowDefinition Height="*"></RowDefinition>
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="250" />
|
|
<ColumnDefinition Width="4"/>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="4"/>
|
|
<ColumnDefinition Width="200" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<Menu Grid.Row="0"
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="4"
|
|
Background="Black">
|
|
<MenuItem Header="Файл" Foreground="#FFBDBCBC" Margin="0,3,0,0">
|
|
<MenuItem x:Name="OpenFolderItem"
|
|
Foreground="Black"
|
|
IsEnabled="True" Header="Відкрити папку..." Click="OpenFolderItemClick"/>
|
|
</MenuItem>
|
|
<MenuItem Header="Допомога" Foreground="#FFBDBCBC" Margin="0,3,0,0">
|
|
<MenuItem x:Name="OpenHelpWindow"
|
|
Foreground="Black"
|
|
IsEnabled="True" Header="Як анотувати" Click="OpenHelpWindowClick"/>
|
|
</MenuItem>
|
|
</Menu>
|
|
<Grid
|
|
HorizontalAlignment="Stretch"
|
|
Grid.Column="0"
|
|
Grid.Row="1">
|
|
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="30"/>
|
|
</Grid.ColumnDefinitions>
|
|
<TextBox
|
|
Grid.Column="0"
|
|
Grid.Row="0"
|
|
HorizontalAlignment="Stretch"
|
|
Margin="1"
|
|
x:Name="TbFolder"></TextBox>
|
|
<Button
|
|
Grid.Row="0"
|
|
Grid.Column="1"
|
|
Margin="1"
|
|
Click="OpenFolderButtonClick">
|
|
. . .
|
|
</Button>
|
|
</Grid>
|
|
|
|
<Grid
|
|
HorizontalAlignment="Stretch"
|
|
Grid.Column="0"
|
|
Grid.Row="2">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="50" />
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Label
|
|
Grid.Column="0"
|
|
Grid.Row="0"
|
|
HorizontalAlignment="Stretch"
|
|
Margin="1"
|
|
Foreground="LightGray"
|
|
Content="Фільтр: "/>
|
|
<TextBox
|
|
Grid.Column="1"
|
|
Grid.Row="0"
|
|
HorizontalAlignment="Stretch"
|
|
Margin="1"
|
|
x:Name="TbFilter"
|
|
TextChanged="TbFilter_OnTextChanged">
|
|
</TextBox>
|
|
</Grid>
|
|
|
|
<ListView Grid.Row="3"
|
|
Grid.Column="0"
|
|
Name="LvFiles"
|
|
Background="Black"
|
|
SelectedItem="{Binding Path=SelectedVideo}" Foreground="#FFA4AFCC"
|
|
>
|
|
<ListView.Resources>
|
|
<Style TargetType="{x:Type ListViewItem}">
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding HasAnnotations}" Value="true">
|
|
<Setter Property="Background" Value="Gray"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
<EventSetter Event="ContextMenuOpening" Handler="LvFilesContextOpening"></EventSetter>
|
|
</Style>
|
|
</ListView.Resources>
|
|
<ListView.ContextMenu>
|
|
<ContextMenu Name="LvFilesContextMenu">
|
|
<MenuItem Header="Відкрити папку..." Click="OpenContainingFolder" Background="WhiteSmoke" />
|
|
</ContextMenu>
|
|
</ListView.ContextMenu>
|
|
<ListView.View>
|
|
<GridView>
|
|
<GridViewColumn Width="Auto"
|
|
Header="Файл"
|
|
DisplayMemberBinding="{Binding Path=Name}"/>
|
|
<GridViewColumn Width="Auto"
|
|
Header="Тривалість"
|
|
DisplayMemberBinding="{Binding Path=DurationStr}"/>
|
|
</GridView>
|
|
</ListView.View>
|
|
</ListView>
|
|
<controls1:DetectionClasses
|
|
x:Name="LvClasses"
|
|
Grid.Column="0"
|
|
Grid.Row="4">
|
|
</controls1:DetectionClasses>
|
|
|
|
<GridSplitter
|
|
Background="DarkGray"
|
|
ResizeDirection="Columns"
|
|
Grid.Column="1"
|
|
Grid.Row="1"
|
|
Grid.RowSpan="4"
|
|
ResizeBehavior="PreviousAndNext"
|
|
HorizontalAlignment="Stretch"
|
|
VerticalAlignment="Stretch"
|
|
DragCompleted="Thumb_OnDragCompleted"/>
|
|
|
|
<wpf:VideoView
|
|
Grid.Row="1"
|
|
Grid.Column="2"
|
|
Grid.RowSpan="4"
|
|
x:Name="VideoView">
|
|
<controls1:CanvasEditor x:Name="Editor"
|
|
Background="#01000000"
|
|
VerticalAlignment="Stretch"
|
|
HorizontalAlignment="Stretch" />
|
|
</wpf:VideoView>
|
|
|
|
<GridSplitter
|
|
Background="DarkGray"
|
|
ResizeDirection="Columns"
|
|
Grid.Column="3"
|
|
Grid.Row="1"
|
|
Grid.RowSpan="4"
|
|
ResizeBehavior="PreviousAndNext"
|
|
HorizontalAlignment="Stretch"
|
|
VerticalAlignment="Stretch"
|
|
DragCompleted="Thumb_OnDragCompleted"
|
|
/>
|
|
|
|
<DataGrid x:Name="DgAnnotations"
|
|
Grid.Column="4"
|
|
Grid.Row="1"
|
|
Grid.RowSpan="4"
|
|
Background="Black"
|
|
RowBackground="#252525"
|
|
Foreground="White"
|
|
RowHeaderWidth="0"
|
|
Padding="2 0 0 0"
|
|
AutoGenerateColumns="False"
|
|
SelectionMode="Extended"
|
|
CellStyle="{DynamicResource DataGridCellStyle1}"
|
|
IsReadOnly="True"
|
|
CanUserResizeRows="False"
|
|
CanUserResizeColumns="False">
|
|
<DataGrid.Columns>
|
|
<DataGridTextColumn
|
|
Width="60"
|
|
Header="Кадр"
|
|
CanUserSort="False"
|
|
Binding="{Binding Path=TimeStr}">
|
|
<DataGridTextColumn.HeaderStyle>
|
|
<Style TargetType="DataGridColumnHeader">
|
|
<Setter Property="Background" Value="#252525"></Setter>
|
|
</Style>
|
|
</DataGridTextColumn.HeaderStyle>
|
|
</DataGridTextColumn>
|
|
<DataGridTextColumn
|
|
Width="*"
|
|
Header="Клас"
|
|
Binding="{Binding Path=ClassName}"
|
|
CanUserSort="False">
|
|
<DataGridTextColumn.HeaderStyle>
|
|
<Style TargetType="DataGridColumnHeader">
|
|
<Setter Property="Background" Value="#252525"></Setter>
|
|
</Style>
|
|
</DataGridTextColumn.HeaderStyle>
|
|
<DataGridTextColumn.CellStyle>
|
|
<Style TargetType="DataGridCell">
|
|
<Setter Property="Background">
|
|
<Setter.Value>
|
|
<LinearGradientBrush StartPoint="0 0 " EndPoint="1 0">
|
|
<GradientStop Offset="0.3" Color="{Binding Path=ClassColor0}" />
|
|
<GradientStop Offset="0.5" Color="{Binding Path=ClassColor1}" />
|
|
<GradientStop Offset="0.8" Color="{Binding Path=ClassColor2}" />
|
|
<GradientStop Offset="0.99" Color="{Binding Path=ClassColor3}" />
|
|
</LinearGradientBrush>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
</DataGridTextColumn.CellStyle>
|
|
</DataGridTextColumn>
|
|
</DataGrid.Columns>
|
|
</DataGrid>
|
|
</Grid>
|
|
|
|
<controls2:UpdatableProgressBar x:Name="VideoSlider"
|
|
Grid.Column="0"
|
|
Grid.Row="1"
|
|
Background="#252525"
|
|
Foreground="LightBlue">
|
|
</controls2:UpdatableProgressBar>
|
|
|
|
<!-- Buttons -->
|
|
<Grid
|
|
Name="Buttons"
|
|
Grid.Row="2"
|
|
Background="Black"
|
|
>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="28" /> <!-- 0 -->
|
|
<ColumnDefinition Width="28" /> <!-- 1 -->
|
|
<ColumnDefinition Width="28" /> <!-- 2 -->
|
|
<ColumnDefinition Width="28" /> <!-- 3 -->
|
|
<ColumnDefinition Width="28" /> <!-- 4 -->
|
|
<ColumnDefinition Width="28" /> <!-- 5 -->
|
|
<ColumnDefinition Width="28" /> <!-- 6 -->
|
|
<ColumnDefinition Width="28" /> <!-- 7 -->
|
|
<ColumnDefinition Width="28" /> <!-- 8 -->
|
|
<ColumnDefinition Width="56" /> <!-- 9 -->
|
|
<ColumnDefinition Width="28" /> <!-- 10 -->
|
|
<ColumnDefinition Width="*" /> <!-- 11 -->
|
|
</Grid.ColumnDefinitions>
|
|
<Button Grid.Column="0" Padding="5" ToolTip="Включити програвання" Background="Black" BorderBrush="Black"
|
|
Click="PlayClick">
|
|
<Path Stretch="Fill" Fill="LightGray" Data="m295.84 146.049-256-144c-4.96-2.784-11.008-2.72-15.904.128-4.928
|
|
2.88-7.936 8.128-7.936 13.824v288c0 5.696 3.008 10.944 7.936 13.824 2.496 1.44 5.28 2.176 8.064 2.176 2.688
|
|
0 5.408-.672 7.84-2.048l256-144c5.024-2.848 8.16-8.16 8.16-13.952s-3.136-11.104-8.16-13.952z" />
|
|
</Button>
|
|
<Button Grid.Column="1" Padding="2" Width="25" Height="25" ToolTip="Пауза/Відновити. Клавіша: [Пробіл]" Background="Black" BorderBrush="Black"
|
|
Click="PauseClick">
|
|
<Image>
|
|
<Image.Source>
|
|
<DrawingImage>
|
|
<DrawingImage.Drawing>
|
|
<DrawingGroup ClipGeometry="M0,0 V320 H320 V0 H0 Z">
|
|
<GeometryDrawing Brush="LightGray" Geometry="F1 M320,320z M0,0z M112,0L16,0C7.168,0,0,7.168,0,16L0,304C0,312.832,7.168,320,16,320L112,320C120.832,320,128,312.832,128,304L128,16C128,7.168,120.832,0,112,0z" />
|
|
<GeometryDrawing Brush="LightGray" Geometry="F1 M320,320z M0,0z M304,0L208,0C199.168,0,192,7.168,192,16L192,304C192,312.832,199.168,320,208,320L304,320C312.832,320,320,312.832,320,304L320,16C320,7.168,312.832,0,304,0z" />
|
|
</DrawingGroup>
|
|
</DrawingImage.Drawing>
|
|
</DrawingImage>
|
|
</Image.Source>
|
|
</Image>
|
|
</Button>
|
|
<Button Grid.Column="2" Padding="2" Width="25" Height="25" ToolTip="Зупинити перегляд" Background="Black" BorderBrush="Black"
|
|
Click="StopClick">
|
|
<Path Stretch="Fill" Fill="LightGray" Data="m288 0h-256c-17.632 0-32 14.368-32 32v256c0 17.632 14.368 32 32 32h256c17.632
|
|
0 32-14.368 32-32v-256c0-17.632-14.368-32-32-32z" />
|
|
</Button>
|
|
<Button Grid.Column="3" Padding="2" Width="25" Height="25" ToolTip="На 1 кадр назад. +[Ctrl] на 5 секунд назад. Клавіша: [Вліво]" Background="Black" BorderBrush="Black"
|
|
Click="PreviousFrameClick">
|
|
<Image>
|
|
<Image.Source>
|
|
<DrawingImage>
|
|
<DrawingImage.Drawing>
|
|
<DrawingGroup ClipGeometry="M0,0 V320 H320 V0 H0 Z">
|
|
<GeometryDrawing Brush="LightGray" Geometry="m23.026 4.99579v22.00155c.00075.77029-.83285 1.25227-1.49993.86724l-19.05188-11.00078c-.66693-.38492-.66693-1.34761
|
|
0-1.73254l19.05188-11.00078c.62227-.35929 1.49993.0539 1.49993.86531z" />
|
|
<GeometryDrawing Brush="LightGray" Geometry="m29.026 4h-2c-.554 0-1 .446-1 1v22c0 .554.446 1 1 1h2c.554 0 1-.446 1-1v-22c0-.554-.446-1-1-1z" />
|
|
</DrawingGroup>
|
|
</DrawingImage.Drawing>
|
|
</DrawingImage>
|
|
</Image.Source>
|
|
</Image>
|
|
</Button>
|
|
<Button Grid.Column="4" Padding="2" Width="25" Height="25" ToolTip="На 1 кадр вперед. +[Ctrl] на 5 секунд вперед. Клавіша: [Вправо]" Background="Black" BorderBrush="Black"
|
|
Click="NextFrameClick">
|
|
<Image>
|
|
<Image.Source>
|
|
<DrawingImage>
|
|
<DrawingImage.Drawing>
|
|
<DrawingGroup ClipGeometry="M0,0 V320 H320 V0 H0 Z">
|
|
<GeometryDrawing Brush="LightGray" Geometry="m8.974 4.99579v22.00155c-.00075.77029.83285 1.25227 1.49993.86724l19.05188-11.00078c.66693-.38492.66693-1.34761
|
|
0-1.73254l-19.05188-11.00078c-.62227-.35929-1.49993.0539-1.49993.86531z" />
|
|
<GeometryDrawing Brush="LightGray" Geometry="m2.974 4h2c.554 0 1 .446 1 1v22c0 .554-.446 1-1 1h-2c-.554 0-1-.446-1-1v-22c0-.554.446-1 1-1z" />
|
|
</DrawingGroup>
|
|
</DrawingImage.Drawing>
|
|
</DrawingImage>
|
|
</Image.Source>
|
|
</Image>
|
|
</Button>
|
|
<Button Grid.Column="5" Padding="2" Width="25" Height="25" ToolTip="Зберегти анотації та продовжити. Клавіша: [Ентер]" Background="Black" BorderBrush="Black"
|
|
Click="SaveAnnotationsClick">
|
|
<Image>
|
|
<Image.Source>
|
|
<DrawingImage>
|
|
<DrawingImage.Drawing>
|
|
<DrawingGroup ClipGeometry="M0,0 V320 H320 V0 H0 Z">
|
|
<GeometryDrawing Brush="LightGray" Geometry="m30.71 7.29-6-6a1 1 0 0 0 -.71-.29h-2v8a2 2 0 0 1 -2 2h-8a2 2 0 0
|
|
1 -2-2v-8h-6a3 3 0 0 0 -3 3v24a3 3 0 0 0 3 3h2v-9a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v9h2a3 3 0 0 0 3-3v-20a1 1 0 0 0 -.29-.71z" />
|
|
<GeometryDrawing Brush="LightGray" Geometry="m12 1h8v8h-8z" />
|
|
<GeometryDrawing Brush="LightGray" Geometry="m23 21h-14a1 1 0 0 0 -1 1v9h16v-9a1 1 0 0 0 -1-1z" />
|
|
</DrawingGroup>
|
|
</DrawingImage.Drawing>
|
|
</DrawingImage>
|
|
</Image.Source>
|
|
</Image>
|
|
</Button>
|
|
<Button Grid.Column="6" Padding="2" Width="25" Height="25" ToolTip="Видалити обрані анотації. Клавіша: [Del]" Background="Black" BorderBrush="Black"
|
|
Click="RemoveSelectedClick">
|
|
<Path Stretch="Fill" Fill="LightGray" Data="M395.439,368.206h18.158v45.395h-45.395v-18.158h27.236V368.206z M109.956,413.601h64.569v-18.158h-64.569V413.601z
|
|
M239.082,413.601h64.558v-18.158h-64.558V413.601z M18.161,368.206H0.003v45.395h45.395v-18.158H18.161V368.206z M18.161,239.079
|
|
H0.003v64.562h18.158V239.079z M18.161,109.958H0.003v64.563h18.158V109.958z M0.003,45.395h18.158V18.158h27.237V0H0.003V45.395z
|
|
M174.519,0h-64.563v18.158h64.563V0z M303.64,0h-64.558v18.158h64.558V0z M368.203,0v18.158h27.236v27.237h18.158V0H368.203z
|
|
M395.439,303.642h18.158v-64.562h-18.158V303.642z M395.439,174.521h18.158v-64.563h-18.158V174.521z M325.45,93.187
|
|
c-11.467-11.464-30.051-11.464-41.518,0l-77.135,77.129l-77.129-77.129c-11.476-11.464-30.056-11.464-41.521,0
|
|
c-11.476,11.47-11.476,30.062,0,41.532l77.118,77.123l-77.124,77.124c-11.476,11.479-11.476,30.062,0,41.529
|
|
c5.73,5.733,13.243,8.605,20.762,8.605c7.516,0,15.028-2.872,20.765-8.605l77.129-77.124l77.129,77.124
|
|
c5.728,5.733,13.246,8.605,20.765,8.605c7.513,0,15.025-2.872,20.759-8.605c11.479-11.467,11.479-30.062,0-41.529l-77.124-77.124
|
|
l77.124-77.123C336.923,123.243,336.923,104.656,325.45,93.187z" />
|
|
</Button>
|
|
<Button Grid.Column="7" Padding="2" Width="25" Height="25" ToolTip="Видалити всі аннотації. Клавіша: [X]" Background="Black" BorderBrush="Black"
|
|
Click="RemoveAllClick">
|
|
<Image>
|
|
<Image.Source>
|
|
<DrawingImage>
|
|
<DrawingImage.Drawing>
|
|
<DrawingGroup ClipGeometry="M0,0 V320 H320 V0 H0 Z">
|
|
<GeometryDrawing Brush="LightGray" Geometry="m66.1455 13.1562c2.2083-4.26338 7.4546-5.92939 11.718-3.72109 4.2702 2.21179
|
|
5.9335 7.47029 3.7121 11.73549l-8.9288 17.1434c-.3573.6862-.8001 1.3124-1.312 1.8677 2.44 3.6128 3.1963 8.2582 1.6501
|
|
12.6558-.3523 1.002-.7242 2.0466-1.1108 3.1145-.1645.4546-.6923.659-1.1208.4351l-28.8106-15.0558c-.4666-.2438-.5746-.8639-.2219-1.2547.7171-.7943
|
|
1.4152-1.5917 2.0855-2.3761 3.1513-3.6881 7.8213-5.7743 12.5381-5.6197.0534-.1099.1097-.2193.1689-.3283z" />
|
|
<GeometryDrawing Brush="LightGray" Geometry="m37.7187 44.9911c-.3028-.1582-.6723-.1062-.9226.1263-1.7734 1.6478-3.5427
|
|
3.0861-5.1934 4.1101-5.5739 3.4578-10.1819 4.704-13.0435 5.1463-1.6736.2587-3.032 1.3362-3.6937 2.7335-.6912 1.4595-.6391
|
|
3.3721.7041 4.8522 1.48 1.6309 3.6724 3.7893 6.8345 6.3861.1854.1523.4298.2121.665.1649 2.2119-.4446 4.5148-.8643
|
|
6.5245-1.9149.5849-.3058 1.4606-.8505 2.5588-1.7923 1.0935-.9379 2.7579-.8372 3.7175.2247.9595 1.062.8509 2.6831-.2426
|
|
3.621-1.3886 1.1908-2.596 1.965-3.5534 2.4655-.7833.4094-1.603.7495-2.4399 1.0396-.6358.2203-.7846 1.0771-.2325 1.4619
|
|
1.5928 1.1099 3.3299 2.2689 5.223 3.4729.9682.6158 1.9229 1.1946 2.8588 1.7383.2671.1552.6002.141.8515-.0387 1.351-.9664
|
|
2.5145-1.9362 3.463-2.8261 2.1458-2.013 3.9974-4.231 5.4947-6.7819.7286-1.2414 2.3312-1.6783 3.5794-.9757s1.6693 2.2785.9406
|
|
3.52c-1.7525 2.9859-3.9213 5.6002-6.4356 7.9591-.4351.4082-.9081.8302-1.4172 1.2601-.4505.3805-.3701 1.1048.1642 1.3543 3.184
|
|
1.4867 5.8634 2.4904 7.7071 3.1131 2.6745.9033 5.5327-.1298 7.0673-2.4281 1.9401-2.9057 5.3476-8.3855 8.2732-15.0533.7591-1.7301
|
|
1.5313-3.6163 2.2883-5.5494.1485-.3793-.0133-.8092-.3743-.9978z" />
|
|
<GeometryDrawing Brush="LightGray" Geometry="m22.9737 37.9072c2.0802 0 3.7666-1.6864 3.7666-3.7667 0-2.0802-1.6864-3.7666-3.7666-3.7666-2.0803
|
|
0-3.7667 1.6864-3.7667 3.7666 0 2.0803 1.6864 3.7667 3.7667 3.7667z" />
|
|
<GeometryDrawing Brush="LightGray" Geometry="m12.7198 49.4854c2.0802 0 3.7666-1.6864 3.7666-3.7667 0-2.0802-1.6864-3.7666-3.7666-3.7666-2.0803
|
|
0-3.76667 1.6864-3.76668 3.7666 0 2.0803 1.68638 3.7667 3.76668 3.7667z" />
|
|
</DrawingGroup>
|
|
</DrawingImage.Drawing>
|
|
</DrawingImage>
|
|
</Image.Source>
|
|
</Image>
|
|
</Button>
|
|
<Button
|
|
x:Name="TurnOffVolumeBtn"
|
|
Visibility="Visible"
|
|
Grid.Column="8" Padding="2" Width="25"
|
|
Height="25"
|
|
ToolTip="Виключити звук. Клавіша: [M]" Background="Black" BorderBrush="Black"
|
|
Click="TurnOffVolume">
|
|
<Path Stretch="Fill" Fill="LightGray" Data="m9.383 3.07602c.18269.07574.33881.20395.44863.36842.10983.16447.16837.35781.16837
|
|
.55558v11.99998c-.00004.1978-.05871.3911-.1686.5555-.10988.1644-.26605.2925-.44875.3682s-.38373.0955-.57768.0569-.37212-.1338-.51197-.2736l-3.707
|
|
-3.707h-2.586c-.26522 0-.51957-.1053-.70711-.2929-.18753-.1875-.29289-.4419-.29289-.7071v-3.99998c0-.26522.10536-.51957.29289-.70711.18754-.18754
|
|
.44189-.29289.70711-.29289h2.586l3.707-3.707c.13985-.13994.31805-.23524.51208-.27387.19402-.03863.39515-.01884.57792.05687zm5.274-.147c.1875-.18747
|
|
.4418-.29279.707-.29279s.5195.10532.707.29279c.9298.92765 1.6672 2.02985 2.1699 3.24331.5026 1.21345.7606 2.51425.7591 3.82767.0015 1.3135-.2565
|
|
2.6143-.7591 3.8277-.5027 1.2135-1.2401 2.3157-2.1699 3.2433-.1886.1822-.4412.283-.7034.2807s-.513-.1075-.6984-.2929-.2906-.4362-.2929-.6984
|
|
.0985-.5148.2807-.7034c.7441-.7419 1.3342-1.6237 1.7363-2.5945.4022-.9709.6083-2.0117.6067-3.0625 0-2.20998-.894-4.20798-2.343-5.65698-.1875
|
|
-.18753-.2928-.44184-.2928-.707 0-.26517.1053-.51948.2928-.707zm-2.829 2.828c.0929-.09298.2032-.16674.3246-.21706.1214-.05033.2515-.07623.3829
|
|
-.07623s.2615.0259.3829.07623c.1214.05032.2317.12408.3246.21706.5579.55666 1.0003 1.21806 1.3018 1.94621.3015.72814.4562 1.50868.4552 2.29677.001
|
|
.7881-.1537 1.5686-.4553 2.2968-.3015.7281-.7439 1.3895-1.3017 1.9462-.1876.1877-.4421.2931-.7075.2931s-.5199-.1054-.7075-.2931c-.1876-.1876
|
|
-.2931-.4421-.2931-.7075 0-.2653.1055-.5198.2931-.7075.3722-.3708.6673-.8116.8685-1.2969.2011-.4854.3043-1.0057.3035-1.5311.0008-.52537-.1023
|
|
-1.04572-.3035-1.53107-.2011-.48536-.4963-.92612-.8685-1.29691-.093-.09288-.1667-.20316-.2171-.32456-.0503-.1214-.0762-.25153-.0762-.38294
|
|
0-.13142.0259-.26155.0762-.38294.0504-.1214.1241-.23169.2171-.32456z" />
|
|
</Button>
|
|
<Button
|
|
x:Name="TurnOnVolumeBtn"
|
|
Visibility="Collapsed"
|
|
Grid.Column="8" Padding="2" Width="25"
|
|
Height="25"
|
|
ToolTip="Включити звук. Клавіша: [M]" Background="Black" BorderBrush="Black"
|
|
Click="TurnOnVolume">
|
|
<Image>
|
|
<Image.Source>
|
|
<DrawingImage>
|
|
<DrawingImage.Drawing>
|
|
<DrawingGroup ClipGeometry="M0,0 V320 H320 V0 H0 Z">
|
|
<GeometryDrawing Brush="LightGray" Geometry="m9.38268 3.07615c.37368.15478.61732.51942.61732.92388v11.99997c0
|
|
.4045-.24364.7691-.61732.9239-.37367.1548-.80379.0692-1.08979-.2168l-3.7071-3.7071h-2.58579c-.55228
|
|
0-1-.4477-1-1v-3.99997c0-.55229.44772-1 1-1h2.58579l3.7071-3.70711c.286-.286.71612-.37155 1.08979-.21677z" />
|
|
<GeometryDrawing Brush="LightGray" Geometry="m12.2929 7.29289c.3905-.39052 1.0237-.39052 1.4142 0l1.2929
|
|
1.2929 1.2929-1.2929c.3905-.39052 1.0237-.39052 1.4142 0 .3905.39053.3905 1.02369 0 1.41422l-1.2929 1.29289
|
|
1.2929 1.2929c.3905.3905.3905 1.0237 0 1.4142s-1.0237.3905-1.4142 0l-1.2929-1.2929-1.2929
|
|
1.2929c-.3905.3905-1.0237.3905-1.4142 0s-.3905-1.0237 0-1.4142l1.2929-1.2929-1.2929-1.29289c-.3905-.39053-.3905-1.02369
|
|
0-1.41422z" />
|
|
</DrawingGroup>
|
|
</DrawingImage.Drawing>
|
|
</DrawingImage>
|
|
</Image.Source>
|
|
</Image>
|
|
</Button>
|
|
|
|
<controls2:UpdatableProgressBar
|
|
x:Name="Volume"
|
|
Grid.Column="9"
|
|
Width="70" Height="15"
|
|
HorizontalAlignment="Stretch"
|
|
Background="#252525" BorderBrush="#252525" Foreground="LightBlue"
|
|
Maximum="100" Minimum="0">
|
|
</controls2:UpdatableProgressBar>
|
|
|
|
<Button
|
|
x:Name="AIDetectBtn"
|
|
Grid.Column="10"
|
|
Padding="2" Width="25"
|
|
Height="25"
|
|
ToolTip="Розпізнати за допомогою AI. Клавіша: [R]" Background="Black" BorderBrush="Black"
|
|
Click="AutoDetect">
|
|
<Path Stretch="Fill" Fill="LightGray" Data="M144.317 85.269h223.368c15.381 0 29.391 6.325 39.567 16.494l.025-.024c10.163 10.164 16.477 24.193 16.477
|
|
39.599v189.728c0 15.401-6.326 29.425-16.485 39.584-10.159 10.159-24.183 16.484-39.584 16.484H144.317c-15.4
|
|
0-29.437-6.313-39.601-16.476-10.152-10.152-16.47-24.167-16.47-39.592V141.338c0-15.374 6.306-29.379 16.463-39.558l.078-.078c10.178-10.139
|
|
24.168-16.433 39.53-16.433zm59.98 204.329h-39.825l30.577-117.964h58.32l30.577 117.964h-39.825l-3.051-18.686h-33.725l-3.048 18.686zm15.645-81.726l-5.801
|
|
33.032h19.945l-5.61-33.032h-8.534zm74.007 81.726V171.634h37.749v117.964h-37.749zm161.348-35.797v30.763c0 3.165 2.587 5.751 5.752 5.751h45.199c3.165 0
|
|
5.752-2.586 5.752-5.751v-30.763c0-3.165-2.587-5.752-5.752-5.752h-45.199c-3.165 0-5.752 2.587-5.752 5.752zm0-70.639v30.762c0 3.163 2.587 5.752 5.752
|
|
5.752h45.199c3.165 0 5.752-2.589 5.752-5.752v-30.762c0-3.168-2.587-5.752-5.752-5.752h-45.199c-3.165 0-5.752 2.584-5.752 5.752zm0 141.278v30.763c0 3.165
|
|
2.587 5.752 5.752 5.752h45.199c3.165 0 5.752-2.587 5.752-5.752V324.44c0-3.165-2.587-5.751-5.752-5.751h-45.199c-3.165 0-5.752 2.586-5.752 5.751zm0-211.92v30.763c0
|
|
3.164 2.587 5.751 5.752 5.751h45.199c3.165 0 5.752-2.587 5.752-5.751V112.52c0-3.165-2.587-5.752-5.752-5.752h-45.199c-3.165 0-5.752 2.587-5.752 5.752zM56.703
|
|
253.801v30.763c0 3.165-2.587 5.751-5.752 5.751H5.752c-3.165 0-5.752-2.586-5.752-5.751v-30.763c0-3.165 2.587-5.752 5.752-5.752h45.199c3.165 0 5.752 2.587
|
|
5.752 5.752zm0-70.639v30.762c0 3.163-2.587 5.752-5.752 5.752H5.752c-3.165 0-5.752-2.589-5.752-5.752v-30.762c0-3.168 2.587-5.752 5.752-5.752h45.199c3.165
|
|
0 5.752 2.584 5.752 5.752zm0 141.278v30.763c0 3.165-2.587 5.752-5.752 5.752H5.752c-3.165 0-5.752-2.587-5.752-5.752V324.44c0-3.165 2.587-5.751
|
|
5.752-5.751h45.199c3.165 0 5.752 2.586 5.752 5.751zm0-211.92v30.763c0 3.164-2.587 5.751-5.752 5.751H5.752c-3.165 0-5.752-2.587-5.752-5.751V112.52c0-3.165
|
|
2.587-5.752 5.752-5.752h45.199c3.165 0 5.752 2.587 5.752 5.752zM346.579 415.7h30.763c3.162 0 5.751 2.587 5.751 5.752v45.199c0 3.165-2.589 5.752-5.751
|
|
5.752h-30.763c-3.167 0-5.752-2.587-5.752-5.752v-45.199c0-3.165 2.585-5.752 5.752-5.752zm-70.642 0H306.7c3.165 0 5.751 2.587 5.751 5.752v45.199c0 3.165-2.586
|
|
5.752-5.751 5.752h-30.763c-3.165 0-5.752-2.587-5.752-5.752v-45.199c0-3.165 2.587-5.752 5.752-5.752zm-70.639 0h30.762c3.165 0 5.752 2.587 5.752 5.752v45.199c0
|
|
3.165-2.587 5.752-5.752 5.752h-30.762c-3.165 0-5.752-2.587-5.752-5.752v-45.199c0-3.165 2.587-5.752 5.752-5.752zm-70.64 0h30.763c3.165 0 5.752 2.587 5.752
|
|
5.752v45.199c0 3.165-2.587 5.752-5.752 5.752h-30.763c-3.165 0-5.751-2.587-5.751-5.752v-45.199c0-3.165 2.586-5.752 5.751-5.752zM346.579 0h30.763c3.162 0 5.751
|
|
2.587 5.751 5.752v45.199c0 3.165-2.589 5.752-5.751 5.752h-30.763c-3.167 0-5.752-2.587-5.752-5.752V5.752c0-3.165 2.585-5.752 5.752-5.752zm-70.642 0H306.7c3.165
|
|
0 5.751 2.587 5.751 5.752v45.199c0 3.165-2.586 5.752-5.751 5.752h-30.763c-3.165 0-5.752-2.587-5.752-5.752V5.752c0-3.165 2.587-5.752 5.752-5.752zm-70.639
|
|
0h30.762c3.165 0 5.752 2.587 5.752 5.752v45.199c0 3.165-2.587 5.752-5.752 5.752h-30.762c-3.165 0-5.752-2.587-5.752-5.752V5.752c0-3.165 2.587-5.752
|
|
5.752-5.752zm-70.64 0h30.763c3.165 0 5.752 2.587 5.752 5.752v45.199c0 3.165-2.587 5.752-5.752 5.752h-30.763c-3.165 0-5.751-2.587-5.751-5.752V5.752c0-3.165
|
|
2.586-5.752 5.751-5.752zm233.027 111.097H144.317a30.11 30.11 0 00-21.35 8.844l-.049.049a30.117 30.117 0 00-8.844 21.348v189.728c0 8.292 3.414 15.847 8.9
|
|
21.333 5.494 5.493 13.058 8.907 21.343 8.907h223.368c8.273 0 15.833-3.421 21.326-8.914s8.915-13.053
|
|
8.915-21.326V141.338c0-8.283-3.414-15.848-8.908-21.341v-.049c-5.454-5.456-13.006-8.851-21.333-8.851z" />
|
|
</Button>
|
|
|
|
<StatusBar Grid.Column="11"
|
|
Background="#252525"
|
|
Foreground="White">
|
|
<StatusBar.ItemsPanel>
|
|
<ItemsPanelTemplate>
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
</Grid>
|
|
</ItemsPanelTemplate>
|
|
</StatusBar.ItemsPanel>
|
|
<StatusBarItem Grid.Column="0">
|
|
<TextBlock Margin="3 0 0 0" x:Name="StatusClock" FontSize="16" Text="00:00 / 00:00"></TextBlock>
|
|
</StatusBarItem>
|
|
<Separator Grid.Column="1" />
|
|
<StatusBarItem Grid.Column="2">
|
|
<TextBlock Margin="3 0 0 0" x:Name="StatusHelp" FontSize="12" ></TextBlock>
|
|
</StatusBarItem>
|
|
<StatusBarItem Grid.Column="3">
|
|
<TextBlock x:Name="Status"></TextBlock>
|
|
</StatusBarItem>
|
|
</StatusBar>
|
|
</Grid>
|
|
<!-- /Buttons -->
|
|
</Grid>
|
|
</Window>
|