<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>problems with allegro&#39;s midi</title>
		<link>http://www.allegro.cc/forums/view/589500</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Tue, 09 Jan 2007 22:09:02 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m writing a sequencer and I&#39;m using allegro&#39;s midi routines.  Each time I start the program, allegro (or something) throws out midi messages to all 16 channels to set their respective volumes to 0.  So I wrote this simple program:</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#include &lt;allegro.h&gt;</span></td></tr><tr><td class="number">2</td><td>&#160;</td></tr><tr><td class="number">3</td><td><span class="k1">void</span> note_on<span class="k2">(</span><span class="k1">int</span> channel, <span class="k1">int</span> pitch, <span class="k1">int</span> vel<span class="k2">)</span></td></tr><tr><td class="number">4</td><td><span class="k2">{</span></td></tr><tr><td class="number">5</td><td>   <span class="k1">unsigned</span> <span class="k1">char</span> msg<span class="k2">[</span><span class="n">3</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">6</td><td>&#160;</td></tr><tr><td class="number">7</td><td>   msg<span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">0x90</span><span class="k3">+</span>channel<span class="k2">;</span></td></tr><tr><td class="number">8</td><td>   msg<span class="k2">[</span><span class="n">1</span><span class="k2">]</span> <span class="k3">=</span> pitch<span class="k2">;</span></td></tr><tr><td class="number">9</td><td>   msg<span class="k2">[</span><span class="n">2</span><span class="k2">]</span> <span class="k3">=</span> vel <span class="k3">/</span> <span class="n">2</span><span class="k2">;</span></td></tr><tr><td class="number">10</td><td>&#160;</td></tr><tr><td class="number">11</td><td>   <a href="http://www.allegro.cc/manual/midi_out" target="_blank"><span class="a">midi_out</span></a><span class="k2">(</span>msg, <span class="n">3</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td><span class="k2">}</span></td></tr><tr><td class="number">13</td><td>&#160;</td></tr><tr><td class="number">14</td><td>&#160;</td></tr><tr><td class="number">15</td><td><span class="k1">void</span> main<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">16</td><td><span class="k2">{</span></td></tr><tr><td class="number">17</td><td>     <a href="http://www.allegro.cc/manual/allegro_init" target="_blank"><span class="a">allegro_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">18</td><td>     </td></tr><tr><td class="number">19</td><td>     <a href="http://www.allegro.cc/manual/install_sound" target="_blank"><span class="a">install_sound</span></a><span class="k2">(</span>DIGI_NONE, MIDI_AUTODETECT, NULL<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">20</td><td>     </td></tr><tr><td class="number">21</td><td>     note_on<span class="k2">(</span><span class="n">0</span>, <span class="n">60</span>, <span class="n">64</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">22</td><td>     </td></tr><tr><td class="number">23</td><td><span class="k2">}</span> <a href="http://www.allegro.cc/manual/END_OF_MAIN" target="_blank"><span class="a">END_OF_MAIN</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr></tbody></table></div></div><p>

and the output of my sampler (Gigastudio) shows the following messages are sent to it once I run the program:</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td>&#160;</td></tr><tr><td class="number">2</td><td>Time</td></tr><tr><td class="number">3</td><td>Stamp   Port   Chan    Event        Data <span class="n">1</span>      Data <span class="n">2</span>    Flags</td></tr><tr><td class="number">4</td><td><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span> </td></tr><tr><td class="number">5</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">1</span>  Note On      C3      <span class="n">32</span> <span class="k2">(</span>velocity<span class="k2">)</span>  <span class="n">0x0</span>  </td></tr><tr><td class="number">6</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">1</span>  Controller Change  <span class="n">7</span> Channel Volume <span class="k2">(</span><span class="n">7</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">7</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">2</span>  Controller Change  <span class="n">7</span> Channel Volume <span class="k2">(</span><span class="n">7</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">8</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">3</span>  Controller Change  <span class="n">7</span> Channel Volume <span class="k2">(</span><span class="n">7</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">9</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">4</span>  Controller Change  <span class="n">7</span> Channel Volume <span class="k2">(</span><span class="n">7</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">10</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">5</span>  Controller Change  <span class="n">7</span> Channel Volume <span class="k2">(</span><span class="n">7</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">11</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">6</span>  Controller Change  <span class="n">7</span> Channel Volume <span class="k2">(</span><span class="n">7</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">12</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">7</span>  Controller Change  <span class="n">7</span> Channel Volume <span class="k2">(</span><span class="n">7</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">13</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">8</span>  Controller Change  <span class="n">7</span> Channel Volume <span class="k2">(</span><span class="n">7</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">14</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">9</span>  Controller Change  <span class="n">7</span> Channel Volume <span class="k2">(</span><span class="n">7</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">15</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">10</span>  Controller Change  <span class="n">7</span> Channel Volume <span class="k2">(</span><span class="n">7</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">16</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">11</span>  Controller Change  <span class="n">7</span> Channel Volume <span class="k2">(</span><span class="n">7</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">17</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">12</span>  Controller Change  <span class="n">7</span> Channel Volume <span class="k2">(</span><span class="n">7</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">18</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">13</span>  Controller Change  <span class="n">7</span> Channel Volume <span class="k2">(</span><span class="n">7</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">19</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">14</span>  Controller Change  <span class="n">7</span> Channel Volume <span class="k2">(</span><span class="n">7</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">20</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">15</span>  Controller Change  <span class="n">7</span> Channel Volume <span class="k2">(</span><span class="n">7</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">21</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">16</span>  Controller Change  <span class="n">7</span> Channel Volume <span class="k2">(</span><span class="n">7</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">22</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">1</span>  Controller Change  All Notes Off <span class="k2">(</span><span class="n">123</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">23</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">1</span>  Controller Change  All Sounds Off <span class="k2">(</span><span class="n">120</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">24</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">2</span>  Controller Change  All Notes Off <span class="k2">(</span><span class="n">123</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">25</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">2</span>  Controller Change  All Sounds Off <span class="k2">(</span><span class="n">120</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">26</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">3</span>  Controller Change  All Notes Off <span class="k2">(</span><span class="n">123</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">27</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">3</span>  Controller Change  All Sounds Off <span class="k2">(</span><span class="n">120</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">28</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">4</span>  Controller Change  All Notes Off <span class="k2">(</span><span class="n">123</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">29</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">4</span>  Controller Change  All Sounds Off <span class="k2">(</span><span class="n">120</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">30</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">5</span>  Controller Change  All Notes Off <span class="k2">(</span><span class="n">123</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">31</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">5</span>  Controller Change  All Sounds Off <span class="k2">(</span><span class="n">120</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">32</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">6</span>  Controller Change  All Notes Off <span class="k2">(</span><span class="n">123</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">33</td><td>&#160;</td></tr><tr><td class="number">34</td><td>Time</td></tr><tr><td class="number">35</td><td>Stamp   Port   Chan    Event        Data <span class="n">1</span>      Data <span class="n">2</span>    Flags</td></tr><tr><td class="number">36</td><td><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span> </td></tr><tr><td class="number">37</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">6</span>  Controller Change  All Sounds Off <span class="k2">(</span><span class="n">120</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">38</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">7</span>  Controller Change  All Notes Off <span class="k2">(</span><span class="n">123</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">39</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">7</span>  Controller Change  All Sounds Off <span class="k2">(</span><span class="n">120</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">40</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">8</span>  Controller Change  All Notes Off <span class="k2">(</span><span class="n">123</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">41</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">8</span>  Controller Change  All Sounds Off <span class="k2">(</span><span class="n">120</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">42</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">9</span>  Controller Change  All Notes Off <span class="k2">(</span><span class="n">123</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">43</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">9</span>  Controller Change  All Sounds Off <span class="k2">(</span><span class="n">120</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">44</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">10</span>  Controller Change  All Notes Off <span class="k2">(</span><span class="n">123</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">45</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">10</span>  Controller Change  All Sounds Off <span class="k2">(</span><span class="n">120</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">46</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">11</span>  Controller Change  All Notes Off <span class="k2">(</span><span class="n">123</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">47</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">11</span>  Controller Change  All Sounds Off <span class="k2">(</span><span class="n">120</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">48</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">12</span>  Controller Change  All Notes Off <span class="k2">(</span><span class="n">123</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">49</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">12</span>  Controller Change  All Sounds Off <span class="k2">(</span><span class="n">120</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">50</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">13</span>  Controller Change  All Notes Off <span class="k2">(</span><span class="n">123</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">51</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">13</span>  Controller Change  All Sounds Off <span class="k2">(</span><span class="n">120</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">52</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">14</span>  Controller Change  All Notes Off <span class="k2">(</span><span class="n">123</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">53</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">14</span>  Controller Change  All Sounds Off <span class="k2">(</span><span class="n">120</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">54</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">15</span>  Controller Change  All Notes Off <span class="k2">(</span><span class="n">123</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">55</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">15</span>  Controller Change  All Sounds Off <span class="k2">(</span><span class="n">120</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">56</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">16</span>  Controller Change  All Notes Off <span class="k2">(</span><span class="n">123</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span>  </td></tr><tr><td class="number">57</td><td><span class="n">72649</span>  <span class="n">1</span>  <span class="n">16</span>  Controller Change  All Sounds Off <span class="k2">(</span><span class="n">120</span><span class="k2">)</span>  <span class="n">0</span>    <span class="n">0x0</span></td></tr></tbody></table></div></div><p>

It seems to make sense that the &quot;all notes off&quot; commands come as the program is closing, but what&#39;s with the volume changes?</p><p>In my sequencer program, I noticed that the vol changes are only sent after the first midi message is sent, not when it does the install_sound().</p><p>does anybody know what might be causing this? <img src="http://www.allegro.cc/forums/smileys/huh.gif" alt="???" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Mark Oates)</author>
		<pubDate>Tue, 09 Jan 2007 22:09:02 +0000</pubDate>
	</item>
</rss>
