-
Notifications
You must be signed in to change notification settings - Fork 0
/
OSC.cs
executable file
·60 lines (54 loc) · 1.53 KB
/
OSC.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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
//******************************************************************************
// Project: PeakToPeakoscope
// Version: 1.0.0 (2015-07-04)
// License: MIT
//
// Developer(s):
// - Martin Weigel <mail@MartinWeigel.com>
//******************************************************************************
using System;
using System.Collections.Generic;
using System.Text;
using Ventuz.OSC;
namespace PeakToPeakoscope
{
public class OSC : IDisposable
{
private UdpWriter writer;
private bool disposed;
public OSC(string ipAdress = "127.0.0.1", ushort port = 5001)
{
disposed = false;
writer = new UdpWriter(ipAdress, (int)port);
}
#region Destructors and Dispose
~OSC()
{
Dispose(true);
GC.SuppressFinalize(this);
}
//C# Disposing pattern
private void Dispose(bool disposing)
{
if (!disposed)
if (disposing)
Dispose();
disposed = true;
}
public void Dispose()
{
this.writer.Dispose();
}
#endregion
public void Send(int channel, float peakToPeak)
{
OscElement msg = new OscElement(
"/PeakToPeak",
(int)(DateTime.Now - new DateTime(1970, 1, 1)).TotalMilliseconds,
channel,
peakToPeak
);
writer.Send(msg);
}
}
}