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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
/*
*
* For information on usage and redistribution, and for a DISCLAIMER OF ALL
* WARRANTIES, see the file, "LICENSE.txt," in this distribution.
*/
using LibPDBinding.Native;
using System;
using System.Runtime.CompilerServices;
namespace LibPDBinding
{
public static partial class LibPD
{
#region Send Midi
/// <summary>
/// sends a note on event to pd
/// </summary>
/// <param name="channel">
/// starting at 0 </param>
/// <param name="pitch">
/// 0..0x7f </param>
/// <param name="velocity">
/// 0..0x7f </param>
/// <returns> error code, 0 on success </returns>
[Obsolete ("Use LibPDBinding.Managed.Midi.SendNoteOn()")]
[MethodImpl (MethodImplOptions.Synchronized)]
public static int SendNoteOn (int channel, int pitch, int velocity)
{
return Midi.noteon (channel, pitch, velocity);
}
/// <summary>
/// sends a control change event to pd
/// </summary>
/// <param name="channel">
/// starting at 0 </param>
/// <param name="controller">
/// 0..0x7f </param>
/// <param name="value">
/// 0..0x7f </param>
/// <returns> error code, 0 on success </returns>
[Obsolete ("Use LibPDBinding.Managed.Midi.SendControlChange()")]
[MethodImpl (MethodImplOptions.Synchronized)]
public static int SendControlChange (int channel, int controller, int value)
{
return Midi.controlchange (channel, controller, value);
}
/// <summary>
/// sends a program change event to Pd
/// </summary>
/// <param name="channel">
/// starting at 0 </param>
/// <param name="value">
/// 0..0x7f </param>
/// <returns> error code, 0 on success </returns>
[Obsolete ("Use LibPDBinding.Managed.Midi.SendProgramChange()")]
[MethodImpl (MethodImplOptions.Synchronized)]
public static int SendProgramChange (int channel, int value)
{
return Midi.programchange (channel, value);
}
/// <summary>
/// sends a pitch bend event to pd
/// </summary>
/// <param name="channel">
/// starting at 0 </param>
/// <param name="value">
/// -8192..8191 (note that Pd has some offset bug in its pitch
/// bend objects, but libpd corrects for this) </param>
/// <returns> error code, 0 on success </returns>
[Obsolete ("Use LibPDBinding.Managed.Midi.SendPitchbend()")]
[MethodImpl (MethodImplOptions.Synchronized)]
public static int SendPitchbend (int channel, int value)
{
return Midi.pitchbend (channel, value);
}
/// <summary>
/// sends an aftertouch event to pd
/// </summary>
/// <param name="channel">
/// starting at 0 </param>
/// <param name="value">
/// 0..0x7f </param>
/// <returns> error code, 0 on success </returns>
[Obsolete ("Use LibPDBinding.Managed.Midi.SendAftertouch()")]
[MethodImpl (MethodImplOptions.Synchronized)]
public static int SendAftertouch (int channel, int value)
{
return Midi.aftertouch (channel, value);
}
/// <summary>
/// sends a polyphonic aftertouch event to pd
/// </summary>
/// <param name="channel">
/// starting at 0 </param>
/// <param name="pitch">
/// 0..0x7f </param>
/// <param name="value">
/// 0..0x7f </param>
/// <returns> error code, 0 on success </returns>
[Obsolete ("Use LibPDBinding.Managed.Midi.SendPolyAftertouch()")]
[MethodImpl (MethodImplOptions.Synchronized)]
public static int SendPolyAftertouch (int channel, int pitch, int value)
{
return Midi.polyaftertouch (channel, pitch, value);
}
/// <summary>
/// sends one raw MIDI byte to pd
/// </summary>
/// <param name="port">
/// 0..0x0fff </param>
/// <param name="value">
/// 0..0xff </param>
/// <returns> error code, 0 on success </returns>
[Obsolete ("Use LibPDBinding.Managed.Midi.SendMidiByte()")]
[MethodImpl (MethodImplOptions.Synchronized)]
public static int SendMidiByte (int port, int value)
{
return Midi.midibyte (port, value);
}
/// <summary>
/// sends one byte of a sysex message to pd
/// </summary>
/// <param name="port">
/// 0..0x0fff </param>
/// <param name="value">
/// 0..0x7f </param>
/// <returns> error code, 0 on success </returns>
[Obsolete ("Use LibPDBinding.Managed.Midi.SendSysex()")]
[MethodImpl (MethodImplOptions.Synchronized)]
public static int SendSysex (int port, int value)
{
return Midi.sysex (port, value);
}
/// <summary>
/// sends one byte to the realtimein object of pd
/// </summary>
/// <param name="port">
/// 0..0x0fff </param>
/// <param name="value">
/// 0..0xff </param>
/// <returns> error code, 0 on success </returns>
[Obsolete ("Use LibPDBinding.Managed.Midi.SendSysRealtime()")]
[MethodImpl (MethodImplOptions.Synchronized)]
public static int SendSysRealtime (int port, int value)
{
return Midi.sysrealtime (port, value);
}
#endregion Send Midi
}
}