Repository navigation
Expand file tree
/
Copy pathMainWindow.xaml.cs
More file actions
57 lines (49 loc) · 2.33 KB
/
Copy pathMainWindow.xaml.cs
File metadata and controls
57 lines (49 loc) · 2.33 KB
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
using System;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Input;
using System.Windows.Controls;
using System.Runtime.InteropServices;
using BMDSwitcherAPI;
namespace AtemSharp
{
public partial class MainWindow : Window
{
private IBMDSwitcherDiscovery bSwitcherDiscovery;
private IBMDSwitcher bSwitcher;
private IBMDSwitcherMixEffectBlock bSwitcherMixEffectBlock;
private SwitcherCallback bSwitcherCallback;
private MixEffectBlockCallback bMixEffectBlockCallback;
private List<InputCallback> bInputCallbacks = new List<InputCallback>();
private bool bMouseDown = false;
private bool bInTransition = false;
private Dictionary<long, string> bInputNamesById = new Dictionary<long, string>();
private Dictionary<string, long> bInputIdsByName = new Dictionary<string, long>();
public MainWindow()
{
InitializeComponent();
InitializeEventHandlers();
}
private void InitializeEventHandlers()
{
bSwitcherCallback = new SwitcherCallback();
bMixEffectBlockCallback = new MixEffectBlockCallback();
bSwitcherCallback.SwitcherDisconnected +=
() => Dispatcher.Invoke((Action)(() => OnSwitcherDisconnected()));
bMixEffectBlockCallback.ProgramInputChanged +=
() => Dispatcher.Invoke((Action)(() => OnProgramInputChanged()));
bMixEffectBlockCallback.PreviewInputChanged +=
() => Dispatcher.Invoke((Action)(() => OnPreviewInputChanged()));
bMixEffectBlockCallback.TransitionFramesRemainingChanged +=
() => Dispatcher.Invoke((Action)(() => OnTransitionFramesRemainingChanged()));
bMixEffectBlockCallback.TransitionPositionChanged +=
() => Dispatcher.Invoke((Action)(() => OnTransitionPositionChanged()));
bMixEffectBlockCallback.InTransitionChanged +=
() => Dispatcher.Invoke((Action)(() => OnInTransitionChanged()));
SliderTransition.AddHandler
(Slider.MouseDownEvent, new MouseButtonEventHandler(SliderTransition_MouseDown), true);
SliderTransition.AddHandler
(Slider.MouseUpEvent, new MouseButtonEventHandler(SliderTransition_MouseUp), true);
}
}
}