arduino_midi_library/a00037.html

612 lines
47 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Arduino MIDI Library: MIDI Input</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Arduino MIDI Library
&#160;<span id="projectnumber">Version 4.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('a00037.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#groups">Modules</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">MIDI Input</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
Modules</h2></td></tr>
<tr class="memitem:a00038"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html">Callbacks</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga77b72b026ff0096aa7157d012405e365"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ga77b72b026ff0096aa7157d012405e365">MidiInterface&lt; SerialPort, _Settings &gt;::read</a> ()</td></tr>
<tr class="memdesc:ga77b72b026ff0096aa7157d012405e365"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read messages from the serial port using the main input channel. <a href="#ga77b72b026ff0096aa7157d012405e365">More...</a><br /></td></tr>
<tr class="separator:ga77b72b026ff0096aa7157d012405e365"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafc4cd3ade3754607de336a9b0ef51562"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#gafc4cd3ade3754607de336a9b0ef51562">MidiInterface&lt; SerialPort, _Settings &gt;::read</a> (<a class="el" href="a00027.html#af0fba1bdf23d6f77614ea9697290325d">Channel</a> inChannel)</td></tr>
<tr class="memdesc:gafc4cd3ade3754607de336a9b0ef51562"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read messages on a specified channel. <a href="#gafc4cd3ade3754607de336a9b0ef51562">More...</a><br /></td></tr>
<tr class="separator:gafc4cd3ade3754607de336a9b0ef51562"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab326ef6f5b5510f1d25baf17bcfe7fd5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00027.html#af8bb3cf501a6b530be54ef36864af943">MidiType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#gab326ef6f5b5510f1d25baf17bcfe7fd5">MidiInterface&lt; SerialPort, _Settings &gt;::getType</a> () const </td></tr>
<tr class="memdesc:gab326ef6f5b5510f1d25baf17bcfe7fd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the last received message's type. <a href="#gab326ef6f5b5510f1d25baf17bcfe7fd5">More...</a><br /></td></tr>
<tr class="separator:gab326ef6f5b5510f1d25baf17bcfe7fd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1e653fc11aaec776bca87dcfff13c610"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00027.html#af0fba1bdf23d6f77614ea9697290325d">Channel</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ga1e653fc11aaec776bca87dcfff13c610">MidiInterface&lt; SerialPort, _Settings &gt;::getChannel</a> () const </td></tr>
<tr class="memdesc:ga1e653fc11aaec776bca87dcfff13c610"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the channel of the message stored in the structure. <a href="#ga1e653fc11aaec776bca87dcfff13c610">More...</a><br /></td></tr>
<tr class="separator:ga1e653fc11aaec776bca87dcfff13c610"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga32c64fd9603f0682fa254106c994d6d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00027.html#a7c1eccfe3d7d44de8ee9138d5378cd91">DataByte</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ga32c64fd9603f0682fa254106c994d6d8">MidiInterface&lt; SerialPort, _Settings &gt;::getData1</a> () const </td></tr>
<tr class="memdesc:ga32c64fd9603f0682fa254106c994d6d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the first data byte of the last received message. <a href="#ga32c64fd9603f0682fa254106c994d6d8">More...</a><br /></td></tr>
<tr class="separator:ga32c64fd9603f0682fa254106c994d6d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad8baa0422e4ddc0ce08b6b73deec4572"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00027.html#a7c1eccfe3d7d44de8ee9138d5378cd91">DataByte</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#gad8baa0422e4ddc0ce08b6b73deec4572">MidiInterface&lt; SerialPort, _Settings &gt;::getData2</a> () const </td></tr>
<tr class="memdesc:gad8baa0422e4ddc0ce08b6b73deec4572"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the second data byte of the last received message. <a href="#gad8baa0422e4ddc0ce08b6b73deec4572">More...</a><br /></td></tr>
<tr class="separator:gad8baa0422e4ddc0ce08b6b73deec4572"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadfe8c45f580dff62a2f48734c7989152"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00027.html#ab8ef12fab634c171394422d0ee8baf94">byte</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#gadfe8c45f580dff62a2f48734c7989152">MidiInterface&lt; SerialPort, _Settings &gt;::getSysExArray</a> () const </td></tr>
<tr class="memdesc:gadfe8c45f580dff62a2f48734c7989152"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the System Exclusive byte array. <a href="#gadfe8c45f580dff62a2f48734c7989152">More...</a><br /></td></tr>
<tr class="separator:gadfe8c45f580dff62a2f48734c7989152"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0732725386bdd0c7f04c6ad91a3b6f26"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ga0732725386bdd0c7f04c6ad91a3b6f26">MidiInterface&lt; SerialPort, _Settings &gt;::getSysExArrayLength</a> () const </td></tr>
<tr class="memdesc:ga0732725386bdd0c7f04c6ad91a3b6f26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the lenght of the System Exclusive array. <a href="#ga0732725386bdd0c7f04c6ad91a3b6f26">More...</a><br /></td></tr>
<tr class="separator:ga0732725386bdd0c7f04c6ad91a3b6f26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0192ac6ac2971d50a85a457f2041af13"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ga0192ac6ac2971d50a85a457f2041af13">MidiInterface&lt; SerialPort, _Settings &gt;::check</a> () const </td></tr>
<tr class="memdesc:ga0192ac6ac2971d50a85a457f2041af13"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a valid message is stored in the structure. <a href="#ga0192ac6ac2971d50a85a457f2041af13">More...</a><br /></td></tr>
<tr class="separator:ga0192ac6ac2971d50a85a457f2041af13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga414b3426cd08e148d612f94d3e462344"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00027.html#af0fba1bdf23d6f77614ea9697290325d">Channel</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ga414b3426cd08e148d612f94d3e462344">MidiInterface&lt; SerialPort, _Settings &gt;::getInputChannel</a> () const </td></tr>
<tr class="separator:ga414b3426cd08e148d612f94d3e462344"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga576df6ff055ecb72c1af9073fae9e1f0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ga576df6ff055ecb72c1af9073fae9e1f0">MidiInterface&lt; SerialPort, _Settings &gt;::setInputChannel</a> (<a class="el" href="a00027.html#af0fba1bdf23d6f77614ea9697290325d">Channel</a> inChannel)</td></tr>
<tr class="memdesc:ga576df6ff055ecb72c1af9073fae9e1f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the value for the input MIDI channel. <a href="#ga576df6ff055ecb72c1af9073fae9e1f0">More...</a><br /></td></tr>
<tr class="separator:ga576df6ff055ecb72c1af9073fae9e1f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5fe93ef5d57c050691348e44e1588e16"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00027.html#af8bb3cf501a6b530be54ef36864af943">MidiType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ga5fe93ef5d57c050691348e44e1588e16">MidiInterface&lt; SerialPort, _Settings &gt;::getTypeFromStatusByte</a> (<a class="el" href="a00027.html#ab8ef12fab634c171394422d0ee8baf94">byte</a> inStatus)</td></tr>
<tr class="memdesc:ga5fe93ef5d57c050691348e44e1588e16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extract an enumerated MIDI type from a status byte. <a href="#ga5fe93ef5d57c050691348e44e1588e16">More...</a><br /></td></tr>
<tr class="separator:ga5fe93ef5d57c050691348e44e1588e16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4c50a2be0160dfb169126c7d9e6d1458"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00027.html#af0fba1bdf23d6f77614ea9697290325d">Channel</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ga4c50a2be0160dfb169126c7d9e6d1458">MidiInterface&lt; SerialPort, _Settings &gt;::getChannelFromStatusByte</a> (<a class="el" href="a00027.html#ab8ef12fab634c171394422d0ee8baf94">byte</a> inStatus)</td></tr>
<tr class="memdesc:ga4c50a2be0160dfb169126c7d9e6d1458"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns channel in the range 1-16. <a href="#ga4c50a2be0160dfb169126c7d9e6d1458">More...</a><br /></td></tr>
<tr class="separator:ga4c50a2be0160dfb169126c7d9e6d1458"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga833885e236de37d75838cb6447fdc694"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ga833885e236de37d75838cb6447fdc694">MidiInterface&lt; SerialPort, _Settings &gt;::isChannelMessage</a> (<a class="el" href="a00027.html#af8bb3cf501a6b530be54ef36864af943">MidiType</a> inType)</td></tr>
<tr class="separator:ga833885e236de37d75838cb6447fdc694"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga0192ac6ac2971d50a85a457f2041af13"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class SerialPort , class Settings &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="a00017.html">MidiInterface</a>&lt; SerialPort, Settings &gt;::check </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Check if a valid message is stored in the structure. </p>
<p>Definition at line <a class="el" href="a00026_source.html#l01064">1064</a> of file <a class="el" href="a00026_source.html">MIDI.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;{</div><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160; <span class="keywordflow">return</span> mMessage.<a class="code" href="a00016.html#a715befa071b78dc19c48c4871bd5f293">valid</a>;</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;}</div><div class="ttc" id="a00016_html_a715befa071b78dc19c48c4871bd5f293"><div class="ttname"><a href="a00016.html#a715befa071b78dc19c48c4871bd5f293">Message::valid</a></div><div class="ttdeci">bool valid</div><div class="ttdef"><b>Definition:</b> <a href="a00028_source.html#l00090">midi_Message.h:90</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="ga1e653fc11aaec776bca87dcfff13c610"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class SerialPort , class Settings &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00027.html#af0fba1bdf23d6f77614ea9697290325d">Channel</a> <a class="el" href="a00017.html">MidiInterface</a>&lt; SerialPort, Settings &gt;::getChannel </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the channel of the message stored in the structure. </p>
<dl class="section return"><dt>Returns</dt><dd>Channel range is 1 to 16. For non-channel messages, this will return 0. </dd></dl>
<p>Definition at line <a class="el" href="a00026_source.html#l01022">1022</a> of file <a class="el" href="a00026_source.html">MIDI.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160;{</div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160; <span class="keywordflow">return</span> mMessage.<a class="code" href="a00016.html#a3e088d88b4c2c84efd78f080a6ba3384">channel</a>;</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;}</div><div class="ttc" id="a00016_html_a3e088d88b4c2c84efd78f080a6ba3384"><div class="ttname"><a href="a00016.html#a3e088d88b4c2c84efd78f080a6ba3384">Message::channel</a></div><div class="ttdeci">Channel channel</div><div class="ttdef"><b>Definition:</b> <a href="a00028_source.html#l00062">midi_Message.h:62</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="ga4c50a2be0160dfb169126c7d9e6d1458"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class SerialPort , class Settings &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00027.html#af0fba1bdf23d6f77614ea9697290325d">Channel</a> <a class="el" href="a00017.html">MidiInterface</a>&lt; SerialPort, Settings &gt;::getChannelFromStatusByte </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00027.html#ab8ef12fab634c171394422d0ee8baf94">byte</a>&#160;</td>
<td class="paramname"><em>inStatus</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns channel in the range 1-16. </p>
<p>Definition at line <a class="el" href="a00026_source.html#l01118">1118</a> of file <a class="el" href="a00026_source.html">MIDI.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160;{</div><div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160; <span class="keywordflow">return</span> (inStatus &amp; 0x0f) + 1;</div><div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="ga32c64fd9603f0682fa254106c994d6d8"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class SerialPort , class Settings &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00027.html#a7c1eccfe3d7d44de8ee9138d5378cd91">DataByte</a> <a class="el" href="a00017.html">MidiInterface</a>&lt; SerialPort, Settings &gt;::getData1 </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the first data byte of the last received message. </p>
<p>Definition at line <a class="el" href="a00026_source.html#l01029">1029</a> of file <a class="el" href="a00026_source.html">MIDI.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160;{</div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160; <span class="keywordflow">return</span> mMessage.<a class="code" href="a00016.html#a92150532e5720f95013e16a2f49a8df8">data1</a>;</div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;}</div><div class="ttc" id="a00016_html_a92150532e5720f95013e16a2f49a8df8"><div class="ttname"><a href="a00016.html#a92150532e5720f95013e16a2f49a8df8">Message::data1</a></div><div class="ttdeci">DataByte data1</div><div class="ttdef"><b>Definition:</b> <a href="a00028_source.html#l00072">midi_Message.h:72</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="gad8baa0422e4ddc0ce08b6b73deec4572"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class SerialPort , class Settings &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00027.html#a7c1eccfe3d7d44de8ee9138d5378cd91">DataByte</a> <a class="el" href="a00017.html">MidiInterface</a>&lt; SerialPort, Settings &gt;::getData2 </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the second data byte of the last received message. </p>
<p>Definition at line <a class="el" href="a00026_source.html#l01036">1036</a> of file <a class="el" href="a00026_source.html">MIDI.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;{</div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160; <span class="keywordflow">return</span> mMessage.<a class="code" href="a00016.html#af6ca8f3ba3f77fe769a259de3b88c36c">data2</a>;</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;}</div><div class="ttc" id="a00016_html_af6ca8f3ba3f77fe769a259de3b88c36c"><div class="ttname"><a href="a00016.html#af6ca8f3ba3f77fe769a259de3b88c36c">Message::data2</a></div><div class="ttdeci">DataByte data2</div><div class="ttdef"><b>Definition:</b> <a href="a00028_source.html#l00078">midi_Message.h:78</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="ga414b3426cd08e148d612f94d3e462344"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class SerialPort , class Settings &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00027.html#af0fba1bdf23d6f77614ea9697290325d">Channel</a> <a class="el" href="a00017.html">MidiInterface</a>&lt; SerialPort, Settings &gt;::getInputChannel </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="a00026_source.html#l01072">1072</a> of file <a class="el" href="a00026_source.html">MIDI.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;{</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160; <span class="keywordflow">return</span> mInputChannel;</div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="gadfe8c45f580dff62a2f48734c7989152"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class SerialPort , class Settings &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="a00027.html#ab8ef12fab634c171394422d0ee8baf94">byte</a> * <a class="el" href="a00017.html">MidiInterface</a>&lt; SerialPort, Settings &gt;::getSysExArray </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the System Exclusive byte array. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00037.html#ga0732725386bdd0c7f04c6ad91a3b6f26" title="Get the lenght of the System Exclusive array. ">getSysExArrayLength</a> to get the array's length in bytes. </dd></dl>
<p>Definition at line <a class="el" href="a00026_source.html#l01046">1046</a> of file <a class="el" href="a00026_source.html">MIDI.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;{</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160; <span class="keywordflow">return</span> mMessage.<a class="code" href="a00016.html#a4f63b5d7cc89e5f96c8fed1367832c2b">sysexArray</a>;</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;}</div><div class="ttc" id="a00016_html_a4f63b5d7cc89e5f96c8fed1367832c2b"><div class="ttname"><a href="a00016.html#a4f63b5d7cc89e5f96c8fed1367832c2b">Message::sysexArray</a></div><div class="ttdeci">DataByte sysexArray[sSysExMaxSize]</div><div class="ttdef"><b>Definition:</b> <a href="a00028_source.html#l00084">midi_Message.h:84</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="ga0732725386bdd0c7f04c6ad91a3b6f26"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class SerialPort , class Settings &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">unsigned <a class="el" href="a00017.html">MidiInterface</a>&lt; SerialPort, Settings &gt;::getSysExArrayLength </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the lenght of the System Exclusive array. </p>
<p>It is coded using data1 as LSB and data2 as MSB. </p><dl class="section return"><dt>Returns</dt><dd>The array's length, in bytes. </dd></dl>
<p>Definition at line <a class="el" href="a00026_source.html#l01057">1057</a> of file <a class="el" href="a00026_source.html">MIDI.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160;{</div><div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160; <span class="keywordflow">return</span> mMessage.<a class="code" href="a00016.html#a6c72b14a27625012b1215c518fd4576e">getSysExSize</a>();</div><div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;}</div><div class="ttc" id="a00016_html_a6c72b14a27625012b1215c518fd4576e"><div class="ttname"><a href="a00016.html#a6c72b14a27625012b1215c518fd4576e">Message::getSysExSize</a></div><div class="ttdeci">unsigned getSysExSize() const </div><div class="ttdef"><b>Definition:</b> <a href="a00028_source.html#l00092">midi_Message.h:92</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="gab326ef6f5b5510f1d25baf17bcfe7fd5"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class SerialPort , class Settings &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00027.html#af8bb3cf501a6b530be54ef36864af943">MidiType</a> <a class="el" href="a00017.html">MidiInterface</a>&lt; SerialPort, Settings &gt;::getType </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the last received message's type. </p>
<p>Returns an enumerated type. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="a00027.html#af8bb3cf501a6b530be54ef36864af943">MidiType</a> </dd></dl>
<p>Definition at line <a class="el" href="a00026_source.html#l01011">1011</a> of file <a class="el" href="a00026_source.html">MIDI.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;{</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160; <span class="keywordflow">return</span> mMessage.<a class="code" href="a00016.html#abfe2249141ed2a0b529f35343affb0e0">type</a>;</div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;}</div><div class="ttc" id="a00016_html_abfe2249141ed2a0b529f35343affb0e0"><div class="ttname"><a href="a00016.html#abfe2249141ed2a0b529f35343affb0e0">Message::type</a></div><div class="ttdeci">MidiType type</div><div class="ttdef"><b>Definition:</b> <a href="a00028_source.html#l00067">midi_Message.h:67</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="ga5fe93ef5d57c050691348e44e1588e16"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class SerialPort , class Settings &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00027.html#af8bb3cf501a6b530be54ef36864af943">MidiType</a> <a class="el" href="a00017.html">MidiInterface</a>&lt; SerialPort, Settings &gt;::getTypeFromStatusByte </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00027.html#ab8ef12fab634c171394422d0ee8baf94">byte</a>&#160;</td>
<td class="paramname"><em>inStatus</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Extract an enumerated MIDI type from a status byte. </p>
<p>This is a utility static method, used internally, made public so you can handle MidiTypes more easily. </p>
<p>Definition at line <a class="el" href="a00026_source.html#l01095">1095</a> of file <a class="el" href="a00026_source.html">MIDI.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160;{</div><div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160; <span class="keywordflow">if</span> ((inStatus &lt; 0x80) ||</div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160; (inStatus == 0xf4) ||</div><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160; (inStatus == 0xf5) ||</div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160; (inStatus == 0xf9) ||</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160; (inStatus == 0xfD))</div><div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160; {</div><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160; <span class="comment">// Data bytes and undefined.</span></div><div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160; <span class="keywordflow">return</span> <a class="code" href="a00027.html#af8bb3cf501a6b530be54ef36864af943a791c6b5c1e5f30ce6c7b0937e93adbbb">InvalidType</a>;</div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160; }</div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160; <span class="keywordflow">if</span> (inStatus &lt; 0xf0)</div><div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160; {</div><div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160; <span class="comment">// Channel message, remove channel nibble.</span></div><div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160; <span class="keywordflow">return</span> <a class="code" href="a00027.html#af8bb3cf501a6b530be54ef36864af943">MidiType</a>(inStatus &amp; 0xf0);</div><div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160; }</div><div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160;</div><div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160; <span class="keywordflow">return</span> <a class="code" href="a00027.html#af8bb3cf501a6b530be54ef36864af943">MidiType</a>(inStatus);</div><div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160;}</div><div class="ttc" id="a00027_html_af8bb3cf501a6b530be54ef36864af943"><div class="ttname"><a href="a00027.html#af8bb3cf501a6b530be54ef36864af943">MidiType</a></div><div class="ttdeci">MidiType</div><div class="ttdef"><b>Definition:</b> <a href="a00027_source.html#l00066">midi_Defs.h:66</a></div></div>
<div class="ttc" id="a00027_html_af8bb3cf501a6b530be54ef36864af943a791c6b5c1e5f30ce6c7b0937e93adbbb"><div class="ttname"><a href="a00027.html#af8bb3cf501a6b530be54ef36864af943a791c6b5c1e5f30ce6c7b0937e93adbbb">InvalidType</a></div><div class="ttdoc">For notifying errors. </div><div class="ttdef"><b>Definition:</b> <a href="a00027_source.html#l00068">midi_Defs.h:68</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="ga833885e236de37d75838cb6447fdc694"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class SerialPort , class Settings &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="a00017.html">MidiInterface</a>&lt; SerialPort, Settings &gt;::isChannelMessage </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00027.html#af8bb3cf501a6b530be54ef36864af943">MidiType</a>&#160;</td>
<td class="paramname"><em>inType</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="a00026_source.html#l01124">1124</a> of file <a class="el" href="a00026_source.html">MIDI.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160;{</div><div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160; <span class="keywordflow">return</span> (inType == <a class="code" href="a00027.html#af8bb3cf501a6b530be54ef36864af943ad37718bd43a7976d5e89e8ee7819e5fd">NoteOff</a> ||</div><div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160; inType == <a class="code" href="a00027.html#af8bb3cf501a6b530be54ef36864af943affc541f2571710265776574dd39fc319">NoteOn</a> ||</div><div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160; inType == <a class="code" href="a00027.html#af8bb3cf501a6b530be54ef36864af943ac150258f2e69ec1e535cee9df3f5bb1e">ControlChange</a> ||</div><div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160; inType == <a class="code" href="a00027.html#af8bb3cf501a6b530be54ef36864af943aef074e16a30d86e0a42b873dd6843cd2">AfterTouchPoly</a> ||</div><div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160; inType == <a class="code" href="a00027.html#af8bb3cf501a6b530be54ef36864af943a040c84d19624cf23edd3f54c2d432793">AfterTouchChannel</a> ||</div><div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160; inType == <a class="code" href="a00027.html#af8bb3cf501a6b530be54ef36864af943ad0eed86b1606c722a91a0cb9e71305e6">PitchBend</a> ||</div><div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160; inType == <a class="code" href="a00027.html#af8bb3cf501a6b530be54ef36864af943a1b28117f91e20a90f91f6a6886023186">ProgramChange</a>);</div><div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160;}</div><div class="ttc" id="a00027_html_af8bb3cf501a6b530be54ef36864af943ad0eed86b1606c722a91a0cb9e71305e6"><div class="ttname"><a href="a00027.html#af8bb3cf501a6b530be54ef36864af943ad0eed86b1606c722a91a0cb9e71305e6">PitchBend</a></div><div class="ttdoc">Pitch Bend. </div><div class="ttdef"><b>Definition:</b> <a href="a00027_source.html#l00075">midi_Defs.h:75</a></div></div>
<div class="ttc" id="a00027_html_af8bb3cf501a6b530be54ef36864af943aef074e16a30d86e0a42b873dd6843cd2"><div class="ttname"><a href="a00027.html#af8bb3cf501a6b530be54ef36864af943aef074e16a30d86e0a42b873dd6843cd2">AfterTouchPoly</a></div><div class="ttdoc">Polyphonic AfterTouch. </div><div class="ttdef"><b>Definition:</b> <a href="a00027_source.html#l00071">midi_Defs.h:71</a></div></div>
<div class="ttc" id="a00027_html_af8bb3cf501a6b530be54ef36864af943ad37718bd43a7976d5e89e8ee7819e5fd"><div class="ttname"><a href="a00027.html#af8bb3cf501a6b530be54ef36864af943ad37718bd43a7976d5e89e8ee7819e5fd">NoteOff</a></div><div class="ttdoc">Note Off. </div><div class="ttdef"><b>Definition:</b> <a href="a00027_source.html#l00069">midi_Defs.h:69</a></div></div>
<div class="ttc" id="a00027_html_af8bb3cf501a6b530be54ef36864af943ac150258f2e69ec1e535cee9df3f5bb1e"><div class="ttname"><a href="a00027.html#af8bb3cf501a6b530be54ef36864af943ac150258f2e69ec1e535cee9df3f5bb1e">ControlChange</a></div><div class="ttdoc">Control Change / Channel Mode. </div><div class="ttdef"><b>Definition:</b> <a href="a00027_source.html#l00072">midi_Defs.h:72</a></div></div>
<div class="ttc" id="a00027_html_af8bb3cf501a6b530be54ef36864af943a040c84d19624cf23edd3f54c2d432793"><div class="ttname"><a href="a00027.html#af8bb3cf501a6b530be54ef36864af943a040c84d19624cf23edd3f54c2d432793">AfterTouchChannel</a></div><div class="ttdoc">Channel (monophonic) AfterTouch. </div><div class="ttdef"><b>Definition:</b> <a href="a00027_source.html#l00074">midi_Defs.h:74</a></div></div>
<div class="ttc" id="a00027_html_af8bb3cf501a6b530be54ef36864af943affc541f2571710265776574dd39fc319"><div class="ttname"><a href="a00027.html#af8bb3cf501a6b530be54ef36864af943affc541f2571710265776574dd39fc319">NoteOn</a></div><div class="ttdoc">Note On. </div><div class="ttdef"><b>Definition:</b> <a href="a00027_source.html#l00070">midi_Defs.h:70</a></div></div>
<div class="ttc" id="a00027_html_af8bb3cf501a6b530be54ef36864af943a1b28117f91e20a90f91f6a6886023186"><div class="ttname"><a href="a00027.html#af8bb3cf501a6b530be54ef36864af943a1b28117f91e20a90f91f6a6886023186">ProgramChange</a></div><div class="ttdoc">Program Change. </div><div class="ttdef"><b>Definition:</b> <a href="a00027_source.html#l00073">midi_Defs.h:73</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="ga77b72b026ff0096aa7157d012405e365"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class SerialPort , class Settings &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="a00017.html">MidiInterface</a>&lt; SerialPort, Settings &gt;::read </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Read messages from the serial port using the main input channel. </p>
<dl class="section return"><dt>Returns</dt><dd>True if a valid message has been stored in the structure, false if not. A valid message is a message that matches the input channel. <br />
<br />
If the <a class="el" href="a00020.html">Thru</a> is enabled and the message matches the filter, it is sent back on the MIDI output. </dd></dl>
<dl class="section see"><dt>See also</dt><dd>see <a class="el" href="a00037.html#ga576df6ff055ecb72c1af9073fae9e1f0" title="Set the value for the input MIDI channel. ">setInputChannel()</a> </dd></dl>
<p>Definition at line <a class="el" href="a00026_source.html#l00644">644</a> of file <a class="el" href="a00026_source.html">MIDI.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160;{</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; <span class="keywordflow">return</span> <a class="code" href="a00037.html#ga77b72b026ff0096aa7157d012405e365">read</a>(mInputChannel);</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160;}</div><div class="ttc" id="a00037_html_ga77b72b026ff0096aa7157d012405e365"><div class="ttname"><a href="a00037.html#ga77b72b026ff0096aa7157d012405e365">MidiInterface::read</a></div><div class="ttdeci">bool read()</div><div class="ttdoc">Read messages from the serial port using the main input channel. </div><div class="ttdef"><b>Definition:</b> <a href="a00026_source.html#l00644">MIDI.hpp:644</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="gafc4cd3ade3754607de336a9b0ef51562"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class SerialPort , class Settings &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="a00017.html">MidiInterface</a>&lt; SerialPort, Settings &gt;::read </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00027.html#af0fba1bdf23d6f77614ea9697290325d">Channel</a>&#160;</td>
<td class="paramname"><em>inChannel</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Read messages on a specified channel. </p>
<p>Definition at line <a class="el" href="a00026_source.html#l00652">652</a> of file <a class="el" href="a00026_source.html">MIDI.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160;{</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; <span class="keywordflow">if</span> (inChannel &gt;= <a class="code" href="a00027.html#ae5f8dc293002c1090c3551ba40f6aee8">MIDI_CHANNEL_OFF</a>)</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>; <span class="comment">// MIDI Input disabled.</span></div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160;</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; <span class="keywordflow">if</span> (!parse())</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160;</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; handleNullVelocityNoteOnAsNoteOff();</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; <span class="keyword">const</span> <span class="keywordtype">bool</span> channelMatch = inputFilter(inChannel);</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160;</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; <span class="keywordflow">if</span> (channelMatch)</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; {</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; launchCallback();</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; }</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160;</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; thruFilter(inChannel);</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160;</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; <span class="keywordflow">return</span> channelMatch;</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160;}</div><div class="ttc" id="a00027_html_ae5f8dc293002c1090c3551ba40f6aee8"><div class="ttname"><a href="a00027.html#ae5f8dc293002c1090c3551ba40f6aee8">MIDI_CHANNEL_OFF</a></div><div class="ttdeci">#define MIDI_CHANNEL_OFF</div><div class="ttdef"><b>Definition:</b> <a href="a00027_source.html#l00050">midi_Defs.h:50</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="ga576df6ff055ecb72c1af9073fae9e1f0"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class SerialPort , class Settings &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="a00017.html">MidiInterface</a>&lt; SerialPort, Settings &gt;::setInputChannel </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00027.html#af0fba1bdf23d6f77614ea9697290325d">Channel</a>&#160;</td>
<td class="paramname"><em>inChannel</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the value for the input MIDI channel. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">inChannel</td><td>the channel value. Valid values are 1 to 16, MIDI_CHANNEL_OMNI if you want to listen to all channels, and MIDI_CHANNEL_OFF to disable input. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="a00026_source.html#l01082">1082</a> of file <a class="el" href="a00026_source.html">MIDI.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160;{</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160; mInputChannel = inChannel;</div><div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Nov 2 2016 19:56:40 for Arduino MIDI Library by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
</ul>
</div>
</body>
</html>