-
Notifications
You must be signed in to change notification settings - Fork 33
/
Copy pathIvMixDataProvider.cs
40 lines (39 loc) · 1.46 KB
/
IvMixDataProvider.cs
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
using System.Collections.Generic;
using System.Windows;
namespace vMixControllerDataProvider
{
public interface IvMixDataProvider
{
/// <summary>
/// Period of updating data in msec, used for internal data provider needs
/// </summary>
int Period { get; set; }
/// <summary>
/// TRUE, if data provider has additional properties, which shows when user press "Properties" button.
/// </summary>
bool IsProvidingCustomProperties { get; }
/// <summary>
/// Data, provided by provider, it can be updated at every property get event.
/// </summary>
string[] Values { get; }
/// <summary>
/// Shows custom properties window.
/// </summary>
/// <param name="owner">Owner of window with custom properties.</param>
void ShowProperties(Window owner);
/// <summary>
/// Custom On-Widget UI.
/// </summary>
UIElement CustomUI { get; }
/// <summary>
/// Gets provider properties for saving into file.
/// </summary>
/// <returns>List of provider properties. Every property must be a serializable value.</returns>
List<object> GetProperties();
/// <summary>
/// Sets properties from list of objects.
/// </summary>
/// <param name="props">List of properties, provided by GetProperties method.</param>
void SetProperties(List<object> props);
}
}