diff options
| author | Gary Scavone <gary@music.mcgill.ca> | 2013-10-11 15:10:46 +0200 |
|---|---|---|
| committer | Stephen Sinclair <sinclair@music.mcgill.ca> | 2013-10-11 15:10:46 +0200 |
| commit | b2694d0b8be5919ece4dcb9df2d11d1a51c2f071 (patch) | |
| tree | 97f8405e690814bc50f0e48f1671f2bf4efdd0de /doc/html/RtMidi_8h-source.html | |
| parent | e986a5617a3a1cf5a1b4c957edacc3183788d08e (diff) | |
Release 1.0.3 tarball1.0.3
Diffstat (limited to 'doc/html/RtMidi_8h-source.html')
| -rw-r--r-- | doc/html/RtMidi_8h-source.html | 255 |
1 files changed, 132 insertions, 123 deletions
diff --git a/doc/html/RtMidi_8h-source.html b/doc/html/RtMidi_8h-source.html index 402a828..f8e4af9 100644 --- a/doc/html/RtMidi_8h-source.html +++ b/doc/html/RtMidi_8h-source.html @@ -7,11 +7,11 @@ <CENTER> <a class="qindex" href="index.html">Tutorial</a> <a class="qindex" href="annotated.html">Class/Enum List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> </CENTER> <HR> -<!-- Generated by Doxygen 1.3.6 --> +<!-- Generated by Doxygen 1.3-rc3 --> <h1>RtMidi.h</h1><div class="fragment"><pre>00001 <span class="comment">/**********************************************************************/</span> 00036 <span class="comment">/**********************************************************************/</span> 00037 -00038 <span class="comment">// RtMidi: Version 1.0.2, 21 September 2004</span> +00038 <span class="comment">// RtMidi: Version 1.0.3, ??</span> 00039 00040 <span class="preprocessor">#ifndef RTMIDI_H</span> 00041 <span class="preprocessor"></span><span class="preprocessor">#define RTMIDI_H</span> @@ -21,140 +21,149 @@ 00045 <a name="l00046"></a><a class="code" href="classRtMidi.html">00046</a> <span class="keyword">class </span><a class="code" href="classRtMidi.html">RtMidi</a> 00047 { -00048 <span class="keyword">protected</span>: +00048 <span class="keyword">public</span>: 00049 -00050 <a class="code" href="classRtMidi.html">RtMidi</a>(); -00051 -00052 <span class="keyword">virtual</span> ~<a class="code" href="classRtMidi.html">RtMidi</a>() {}; -00053 -00054 <span class="comment">// A basic error reporting function for internal use in the RtMidi</span> -00055 <span class="comment">// subclasses. The behavior of this function can be modified to</span> -00056 <span class="comment">// suit specific needs.</span> -00057 <span class="keywordtype">void</span> error( RtError::Type type ); +00051 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classRtMidi.html#a0">openPort</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber = 0 ) = 0; +00052 +00054 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classRtMidi.html#a1">openVirtualPort</a>() = 0; +00055 +00057 <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classRtMidi.html#a2">getPortCount</a>() = 0; 00058 -00059 <span class="keyword">virtual</span> <span class="keywordtype">void</span> openPort( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber = 0 ) = 0; -00060 -00061 <span class="keywordtype">void</span> *apiData_; -00062 <span class="keywordtype">bool</span> connected_; -00063 std::string errorString_; -00064 }; -00065 -00066 <span class="comment">/**********************************************************************/</span> -00082 <span class="comment">/**********************************************************************/</span> -00083 -00084 <span class="preprocessor">#include <vector></span> -00085 <span class="preprocessor">#include <queue></span> -00086 -<a name="l00087"></a><a class="code" href="classRtMidiIn.html">00087</a> <span class="keyword">class </span><a class="code" href="classRtMidiIn.html">RtMidiIn</a> : <span class="keyword">public</span> <a class="code" href="classRtMidi.html">RtMidi</a> -00088 { -00089 <span class="keyword">public</span>: -00090 -<a name="l00092"></a><a class="code" href="classRtMidiIn.html#w0">00092</a> <span class="keyword">typedef</span> void (*<a class="code" href="classRtMidiIn.html#w0">RtMidiCallback</a>)( <span class="keywordtype">double</span> timeStamp, std::vector<unsigned char> *message, <span class="keywordtype">void</span> *userData); -00093 -00095 -00098 <a class="code" href="classRtMidiIn.html#a0">RtMidiIn</a>(); -00099 -00101 <a class="code" href="classRtMidiIn.html#a1">~RtMidiIn</a>(); -00102 +00060 <span class="keyword">virtual</span> std::string <a class="code" href="classRtMidi.html#a3">getPortName</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber = 0 ) = 0; +00061 +00063 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classRtMidi.html#a4">closePort</a>( <span class="keywordtype">void</span> ) = 0; +00064 +00065 <span class="keyword">protected</span>: +00066 +00067 <a class="code" href="classRtMidi.html">RtMidi</a>(); +00068 <span class="keyword">virtual</span> ~<a class="code" href="classRtMidi.html">RtMidi</a>() {}; +00069 +00070 <span class="comment">// A basic error reporting function for internal use in the RtMidi</span> +00071 <span class="comment">// subclasses. The behavior of this function can be modified to</span> +00072 <span class="comment">// suit specific needs.</span> +00073 <span class="keywordtype">void</span> error( RtError::Type type ); +00074 +00075 <span class="keywordtype">void</span> *apiData_; +00076 <span class="keywordtype">bool</span> connected_; +00077 std::string errorString_; +00078 }; +00079 +00080 <span class="comment">/**********************************************************************/</span> +00096 <span class="comment">/**********************************************************************/</span> +00097 +00098 <span class="preprocessor">#include <vector></span> +00099 <span class="preprocessor">#include <queue></span> +00100 +<a name="l00101"></a><a class="code" href="classRtMidiIn.html">00101</a> <span class="keyword">class </span><a class="code" href="classRtMidiIn.html">RtMidiIn</a> : <span class="keyword">public</span> <a class="code" href="classRtMidi.html">RtMidi</a> +00102 { +00103 <span class="keyword">public</span>: 00104 -00108 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a2">openPort</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber = 0 ); +<a name="l00106"></a><a class="code" href="classRtMidiIn.html#s0">00106</a> <span class="keyword">typedef</span> void (*RtMidiCallback)( <span class="keywordtype">double</span> timeStamp, std::vector<unsigned char> *message, <span class="keywordtype">void</span> *userData); +00107 00109 -00111 -00117 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a3">openVirtualPort</a>(); +00112 <a class="code" href="classRtMidiIn.html#a0">RtMidiIn</a>(); +00113 +00115 <a class="code" href="classRtMidiIn.html#a1">~RtMidiIn</a>(); +00116 00118 -00120 -00126 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a4">setCallback</a>( <a class="code" href="classRtMidiIn.html#w0">RtMidiCallback</a> callback, <span class="keywordtype">void</span> *userData = 0 ); -00127 -00129 -00133 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a5">cancelCallback</a>(); +00122 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a2">openPort</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber = 0 ); +00123 +00125 +00131 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a3">openVirtualPort</a>(); +00132 00134 -00136 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a6">closePort</a>( <span class="keywordtype">void</span> ); -00137 -00139 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classRtMidiIn.html#a7">getPortCount</a>(); -00140 -00142 -00145 std::string <a class="code" href="classRtMidiIn.html#a8">getPortName</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber = 0 ); -00146 +00140 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a4">setCallback</a>( RtMidiCallback callback, <span class="keywordtype">void</span> *userData = 0 ); +00141 +00143 +00147 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a5">cancelCallback</a>(); 00148 -00152 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a9">setQueueSizeLimit</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> queueSize ); -00153 -00155 -00162 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a10">ignoreTypes</a>( <span class="keywordtype">bool</span> midiSysex = <span class="keyword">true</span>, <span class="keywordtype">bool</span> midiTime = <span class="keyword">true</span>, <span class="keywordtype">bool</span> midiSense = <span class="keyword">true</span> ); -00163 -00165 -00172 <span class="keywordtype">double</span> <a class="code" href="classRtMidiIn.html#a11">getMessage</a>( std::vector<unsigned char> *message ); -00173 -00174 <span class="comment">// A MIDI structure used internally by the class to store incoming</span> -00175 <span class="comment">// messages. Each message represents one and only one MIDI message.</span> -00176 <span class="keyword">struct </span>MidiMessage { -00177 std::vector<unsigned char> bytes; -00178 <span class="keywordtype">double</span> timeStamp; +00150 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a6">closePort</a>( <span class="keywordtype">void</span> ); +00151 +00153 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classRtMidiIn.html#a7">getPortCount</a>(); +00154 +00156 +00159 std::string <a class="code" href="classRtMidiIn.html#a8">getPortName</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber = 0 ); +00160 +00162 +00166 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a9">setQueueSizeLimit</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> queueSize ); +00167 +00169 +00176 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a10">ignoreTypes</a>( <span class="keywordtype">bool</span> midiSysex = <span class="keyword">true</span>, <span class="keywordtype">bool</span> midiTime = <span class="keyword">true</span>, <span class="keywordtype">bool</span> midiSense = <span class="keyword">true</span> ); +00177 00179 -00180 <span class="comment">// Default constructor.</span> -00181 MidiMessage() -00182 :bytes(3), timeStamp(0.0) {} -00183 }; -00184 -00185 <span class="comment">// The RtMidiInData structure is used to pass private class data to</span> -00186 <span class="comment">// the MIDI input handling function or thread.</span> -00187 <span class="keyword">struct </span>RtMidiInData { -00188 std::queue<MidiMessage> queue; -00189 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> queueLimit; -00190 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> ignoreFlags; -00191 <span class="keywordtype">bool</span> doInput; -00192 <span class="keywordtype">bool</span> firstMessage; -00193 <span class="keywordtype">void</span> *apiData; -00194 <span class="keywordtype">bool</span> usingCallback; -00195 <span class="keywordtype">void</span> *userCallback; -00196 <span class="keywordtype">void</span> *userData; -00197 -00198 <span class="comment">// Default constructor.</span> -00199 RtMidiInData() -00200 : queueLimit(1024), ignoreFlags(7), doInput(false), firstMessage(true), -00201 apiData(0), usingCallback(false), userCallback(0), userData(0) {} -00202 }; -00203 -00204 <span class="keyword">private</span>: -00205 -00206 <span class="keywordtype">void</span> initialize( <span class="keywordtype">void</span> ); -00207 RtMidiInData inputData_; -00208 -00209 }; -00210 -00211 <span class="comment">/**********************************************************************/</span> -00223 <span class="comment">/**********************************************************************/</span> +00186 <span class="keywordtype">double</span> <a class="code" href="classRtMidiIn.html#a11">getMessage</a>( std::vector<unsigned char> *message ); +00187 +00188 <span class="comment">// A MIDI structure used internally by the class to store incoming</span> +00189 <span class="comment">// messages. Each message represents one and only one MIDI message.</span> +00190 <span class="keyword">struct </span>MidiMessage { +00191 std::vector<unsigned char> bytes; +00192 <span class="keywordtype">double</span> timeStamp; +00193 +00194 <span class="comment">// Default constructor.</span> +00195 MidiMessage() +00196 :bytes(3), timeStamp(0.0) {} +00197 }; +00198 +00199 <span class="comment">// The RtMidiInData structure is used to pass private class data to</span> +00200 <span class="comment">// the MIDI input handling function or thread.</span> +00201 <span class="keyword">struct </span>RtMidiInData { +00202 std::queue<MidiMessage> queue; +00203 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> queueLimit; +00204 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> ignoreFlags; +00205 <span class="keywordtype">bool</span> doInput; +00206 <span class="keywordtype">bool</span> firstMessage; +00207 <span class="keywordtype">void</span> *apiData; +00208 <span class="keywordtype">bool</span> usingCallback; +00209 <span class="keywordtype">void</span> *userCallback; +00210 <span class="keywordtype">void</span> *userData; +00211 +00212 <span class="comment">// Default constructor.</span> +00213 RtMidiInData() +00214 : queueLimit(1024), ignoreFlags(7), doInput(false), firstMessage(true), +00215 apiData(0), usingCallback(false), userCallback(0), userData(0) {} +00216 }; +00217 +00218 <span class="keyword">private</span>: +00219 +00220 <span class="keywordtype">void</span> initialize( <span class="keywordtype">void</span> ); +00221 RtMidiInData inputData_; +00222 +00223 }; 00224 -<a name="l00225"></a><a class="code" href="classRtMidiOut.html">00225</a> <span class="keyword">class </span><a class="code" href="classRtMidiOut.html">RtMidiOut</a> : <span class="keyword">public</span> <a class="code" href="classRtMidi.html">RtMidi</a> -00226 { -00227 <span class="keyword">public</span>: -00228 -00230 -00233 <a class="code" href="classRtMidiOut.html#a0">RtMidiOut</a>(); -00234 -00236 <a class="code" href="classRtMidiOut.html#a1">~RtMidiOut</a>(); -00237 -00239 -00245 <span class="keywordtype">void</span> <a class="code" href="classRtMidiOut.html#a2">openPort</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber = 0 ); -00246 -00248 <span class="keywordtype">void</span> <a class="code" href="classRtMidiOut.html#a3">closePort</a>(); -00249 +00225 <span class="comment">/**********************************************************************/</span> +00237 <span class="comment">/**********************************************************************/</span> +00238 +<a name="l00239"></a><a class="code" href="classRtMidiOut.html">00239</a> <span class="keyword">class </span><a class="code" href="classRtMidiOut.html">RtMidiOut</a> : <span class="keyword">public</span> <a class="code" href="classRtMidi.html">RtMidi</a> +00240 { +00241 <span class="keyword">public</span>: +00242 +00244 +00247 <a class="code" href="classRtMidiOut.html#a0">RtMidiOut</a>(); +00248 +00250 <a class="code" href="classRtMidiOut.html#a1">~RtMidiOut</a>(); 00251 -00259 <span class="keywordtype">void</span> <a class="code" href="classRtMidiOut.html#a4">openVirtualPort</a>(); +00253 +00259 <span class="keywordtype">void</span> <a class="code" href="classRtMidiOut.html#a2">openPort</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber = 0 ); 00260 -00262 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classRtMidiOut.html#a5">getPortCount</a>(); +00262 <span class="keywordtype">void</span> <a class="code" href="classRtMidiOut.html#a3">closePort</a>(); 00263 00265 -00268 std::string <a class="code" href="classRtMidiOut.html#a6">getPortName</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber ); -00269 -00271 -00275 <span class="keywordtype">void</span> <a class="code" href="classRtMidiOut.html#a7">sendMessage</a>( std::vector<unsigned char> *message ); -00276 -00277 <span class="keyword">private</span>: -00278 -00279 <span class="keywordtype">void</span> initialize( <span class="keywordtype">void</span> ); -00280 }; -00281 -00282 <span class="preprocessor">#endif</span> +00273 <span class="keywordtype">void</span> <a class="code" href="classRtMidiOut.html#a4">openVirtualPort</a>(); +00274 +00276 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classRtMidiOut.html#a5">getPortCount</a>(); +00277 +00279 +00282 std::string <a class="code" href="classRtMidiOut.html#a6">getPortName</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber ); +00283 +00285 +00289 <span class="keywordtype">void</span> <a class="code" href="classRtMidiOut.html#a7">sendMessage</a>( std::vector<unsigned char> *message ); +00290 +00291 <span class="keyword">private</span>: +00292 +00293 <span class="keywordtype">void</span> initialize( <span class="keywordtype">void</span> ); +00294 }; +00295 +00296 <span class="preprocessor">#endif</span> </pre></div><HR> <table><tr><td><img src="../images/mcgill.gif" width=165></td> |
