Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Changed the "useDefaultSetting" fields, getters and setters to "overr…

…ideSetting". Added clone() to scale. Added saveGifFile() method to OutputManager.
  • Loading branch information...
commit b9a01cb8a65bdd4a1cdfd9e6ac10a4ddf51d2232 1 parent db70b50
@myronmarston authored
Showing with 2,202 additions and 1,848 deletions.
  1. +14 −14 FractalComposer/build/cobertura-report/com.myronmarston.music.Dynamic.html
  2. +3 −3 FractalComposer/build/cobertura-report/com.myronmarston.music.GermIsEmptyException.html
  3. +1 −1  FractalComposer/build/cobertura-report/com.myronmarston.music.IncorrectNoteStringException.html
  4. +30 −30 FractalComposer/build/cobertura-report/com.myronmarston.music.Instrument.html
  5. +42 −42 FractalComposer/build/cobertura-report/com.myronmarston.music.MidiNote.html
  6. +120 −120 FractalComposer/build/cobertura-report/com.myronmarston.music.Note.html
  7. +34 −34 FractalComposer/build/cobertura-report/com.myronmarston.music.NoteList.html
  8. +72 −72 FractalComposer/build/cobertura-report/com.myronmarston.music.NoteName.html
  9. +1 −1  FractalComposer/build/cobertura-report/com.myronmarston.music.NoteStringInvalidPartException.html
  10. +1 −1  FractalComposer/build/cobertura-report/com.myronmarston.music.NoteStringParseException.html
  11. +110 −92 FractalComposer/build/cobertura-report/com.myronmarston.music.OutputManager.html
  12. +18 −18 FractalComposer/build/cobertura-report/com.myronmarston.music.SheetMusicCreator.html
  13. +27 −27 FractalComposer/build/cobertura-report/com.myronmarston.music.Tempo.html
  14. +14 −14 FractalComposer/build/cobertura-report/com.myronmarston.music.scales.ChromaticScale.html
  15. +4 −4 FractalComposer/build/cobertura-report/com.myronmarston.music.scales.HarmonicMinorScale.html
  16. +1 −1  FractalComposer/build/cobertura-report/com.myronmarston.music.scales.InvalidKeySignatureException.html
  17. +33 −33 FractalComposer/build/cobertura-report/com.myronmarston.music.scales.KeySignature.html
  18. +9 −9 FractalComposer/build/cobertura-report/com.myronmarston.music.scales.MajorPentatonicScale.html
  19. +9 −9 FractalComposer/build/cobertura-report/com.myronmarston.music.scales.MajorScale.html
  20. +7 −7 FractalComposer/build/cobertura-report/com.myronmarston.music.scales.MinorPentatonicScale.html
  21. +9 −9 FractalComposer/build/cobertura-report/com.myronmarston.music.scales.MinorScale.html
  22. +87 −68 FractalComposer/build/cobertura-report/com.myronmarston.music.scales.Scale.html
  23. +21 −21 FractalComposer/build/cobertura-report/com.myronmarston.music.scales.Tonality.html
  24. +15 −15 FractalComposer/build/cobertura-report/com.myronmarston.music.settings.AbstractVoiceOrSection.html
  25. +105 −105 FractalComposer/build/cobertura-report/com.myronmarston.music.settings.FractalPiece.html
  26. +1 −1  FractalComposer/build/cobertura-report/com.myronmarston.music.settings.InvalidTimeSignatureException.html
  27. +1 −1  FractalComposer/build/cobertura-report/com.myronmarston.music.settings.NonPositiveTimeSignatureException.html
  28. +202 −152 FractalComposer/build/cobertura-report/com.myronmarston.music.settings.Section.html
  29. +27 −27 FractalComposer/build/cobertura-report/com.myronmarston.music.settings.SectionSettings.html
  30. +35 −35 FractalComposer/build/cobertura-report/com.myronmarston.music.settings.SelfSimilaritySettings.html
  31. +39 −39 FractalComposer/build/cobertura-report/com.myronmarston.music.settings.TimeSignature.html
  32. +1 −1  ...r/build/cobertura-report/com.myronmarston.music.settings.TimeSignatureDenominatorNotAPowerOf2Exception.html
  33. +25 −25 FractalComposer/build/cobertura-report/com.myronmarston.music.settings.Voice.html
  34. +39 −39 FractalComposer/build/cobertura-report/com.myronmarston.music.settings.VoiceOrSectionList.html
  35. +294 −324 FractalComposer/build/cobertura-report/com.myronmarston.music.settings.VoiceSection.html
  36. +15 −15 FractalComposer/build/cobertura-report/com.myronmarston.music.settings.VoiceSectionHashMapKey.html
  37. +13 −13 FractalComposer/build/cobertura-report/com.myronmarston.music.settings.VoiceSectionList.html
  38. +45 −45 FractalComposer/build/cobertura-report/com.myronmarston.music.settings.VoiceSettings.html
  39. +1 −1  FractalComposer/build/cobertura-report/com.myronmarston.music.transformers.InversionTransformer.html
  40. +12 −12 FractalComposer/build/cobertura-report/com.myronmarston.music.transformers.OctaveTransformer.html
  41. +1 −1  FractalComposer/build/cobertura-report/com.myronmarston.music.transformers.RetrogradeTransformer.html
  42. +16 −16 FractalComposer/build/cobertura-report/com.myronmarston.music.transformers.RhythmicDurationTransformer.html
  43. +9 −9 FractalComposer/build/cobertura-report/com.myronmarston.music.transformers.SelfSimilarityTransformer.html
  44. +1 −1  FractalComposer/build/cobertura-report/com.myronmarston.music.transformers.Transformer.html
  45. +1 −1  FractalComposer/build/cobertura-report/com.myronmarston.music.transformers.TransposeTransformer.html
  46. +1 −1  FractalComposer/build/cobertura-report/com.myronmarston.music.transformers.VolumeTransformer.html
  47. +15 −15 FractalComposer/build/cobertura-report/com.myronmarston.util.AbstractPublisher.html
  48. +27 −27 FractalComposer/build/cobertura-report/com.myronmarston.util.ClassHelper.html
  49. +21 −21 FractalComposer/build/cobertura-report/com.myronmarston.util.FileHelper.html
  50. +61 −61 FractalComposer/build/cobertura-report/com.myronmarston.util.Fraction.html
  51. +12 −12 FractalComposer/build/cobertura-report/com.myronmarston.util.MathHelper.html
  52. +7 −7 FractalComposer/build/cobertura-report/com.myronmarston.util.ProcessRunner.html
  53. +1 −1  FractalComposer/build/cobertura-report/com.myronmarston.util.Publisher.html
  54. +1 −1  FractalComposer/build/cobertura-report/com.myronmarston.util.Subscriber.html
  55. +12 −12 FractalComposer/build/cobertura-report/com.myronmarston.util.ThreadedInputStreamRedirector.html
  56. +1 −1  FractalComposer/build/cobertura-report/frame-sourcefiles-com.myronmarston.music.scales.html
  57. +1 −1  FractalComposer/build/cobertura-report/frame-sourcefiles.html
  58. +5 −5 FractalComposer/build/cobertura-report/frame-summary-com.myronmarston.music.html
  59. +4 −4 FractalComposer/build/cobertura-report/frame-summary-com.myronmarston.music.scales.html
  60. +4 −4 FractalComposer/build/cobertura-report/frame-summary-com.myronmarston.music.settings.html
  61. +1 −1  FractalComposer/build/cobertura-report/frame-summary-com.myronmarston.music.transformers.html
  62. +1 −1  FractalComposer/build/cobertura-report/frame-summary-com.myronmarston.util.html
  63. +5 −5 FractalComposer/build/cobertura-report/frame-summary.html
  64. +26 −2 FractalComposer/dist/javadoc/com/myronmarston/music/OutputManager.html
  65. +1 −1  FractalComposer/dist/javadoc/com/myronmarston/music/class-use/SheetMusicCreator.html
  66. +1 −1  FractalComposer/dist/javadoc/com/myronmarston/music/package-tree.html
  67. +5 −2 FractalComposer/dist/javadoc/com/myronmarston/music/scales/ChromaticScale.html
  68. +5 −2 FractalComposer/dist/javadoc/com/myronmarston/music/scales/HarmonicMinorScale.html
  69. +1 −1  FractalComposer/dist/javadoc/com/myronmarston/music/scales/KeySignature.html
  70. +5 −2 FractalComposer/dist/javadoc/com/myronmarston/music/scales/MajorPentatonicScale.html
  71. +5 −2 FractalComposer/dist/javadoc/com/myronmarston/music/scales/MajorScale.html
  72. +5 −2 FractalComposer/dist/javadoc/com/myronmarston/music/scales/MinorPentatonicScale.html
  73. +5 −2 FractalComposer/dist/javadoc/com/myronmarston/music/scales/MinorScale.html
  74. +54 −2 FractalComposer/dist/javadoc/com/myronmarston/music/scales/Scale.html
  75. +2 −1  FractalComposer/dist/javadoc/com/myronmarston/music/scales/package-tree.html
  76. +56 −3 FractalComposer/dist/javadoc/com/myronmarston/music/settings/Section.html
  77. +52 −52 FractalComposer/dist/javadoc/com/myronmarston/music/settings/VoiceSection.html
  78. +15 −8 FractalComposer/dist/javadoc/index-files/index-16.html
  79. +3 −0  FractalComposer/dist/javadoc/index-files/index-2.html
  80. +12 −8 FractalComposer/dist/javadoc/index-files/index-6.html
  81. +2 −1  FractalComposer/dist/javadoc/overview-tree.html
  82. +11 −1 FractalComposer/src/com/myronmarston/music/OutputManager.java
  83. +1 −1  FractalComposer/src/com/myronmarston/music/scales/KeySignature.java
  84. +12 −1 FractalComposer/src/com/myronmarston/music/scales/Scale.java
  85. +47 −3 FractalComposer/src/com/myronmarston/music/settings/Section.java
  86. +30 −31 FractalComposer/src/com/myronmarston/music/settings/VoiceSection.java
  87. +17 −0 FractalComposer/test/com/myronmarston/music/OutputManagerTest.java
  88. +0 −1  FractalComposer/test/com/myronmarston/music/SheetMusicCreatorTest.java
  89. +7 −0 FractalComposer/test/com/myronmarston/music/scales/ScaleTest.java
  90. +2 −1  FractalComposer/test/com/myronmarston/music/settings/PieceTest.java
  91. +45 −3 FractalComposer/test/com/myronmarston/music/settings/SectionTest.java
  92. +13 −12 FractalComposer/test/com/myronmarston/music/settings/VoiceSectionTest.java
  93. +9 −9 FractalComposer/test/com/myronmarston/music/settings/VoiceTest.java
  94. +8 −5 FractalComposer/test/com/myronmarston/music/settings/XmlSerializationTest.java
View
28 FractalComposer/build/cobertura-report/com.myronmarston.music.Dynamic.html
@@ -69,15 +69,15 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @author Myron</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;26</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;27</td> <td class="nbHitsCovered">&nbsp;67</td> <td class="src"><pre class="src">&nbsp;<span class="keyword">public</span> enum Dynamic {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;28</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; PPP(10),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;29</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; PP(25),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;30</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; P(50),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;31</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; MP(60),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;32</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; MF(70),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;33</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; F(85),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;34</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; FF(100),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;35</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; FFF(120);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;27</td> <td class="nbHitsCovered">&nbsp;69</td> <td class="src"><pre class="src">&nbsp;<span class="keyword">public</span> enum Dynamic {</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;28</td> <td class="nbHitsCovered">&nbsp;23</td> <td class="src"><pre class="src">&nbsp; PPP(10),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;29</td> <td class="nbHitsCovered">&nbsp;23</td> <td class="src"><pre class="src">&nbsp; PP(25),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;30</td> <td class="nbHitsCovered">&nbsp;23</td> <td class="src"><pre class="src">&nbsp; P(50),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;31</td> <td class="nbHitsCovered">&nbsp;23</td> <td class="src"><pre class="src">&nbsp; MP(60),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;32</td> <td class="nbHitsCovered">&nbsp;23</td> <td class="src"><pre class="src">&nbsp; MF(70),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;33</td> <td class="nbHitsCovered">&nbsp;23</td> <td class="src"><pre class="src">&nbsp; F(85),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;34</td> <td class="nbHitsCovered">&nbsp;23</td> <td class="src"><pre class="src">&nbsp; FF(100),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;35</td> <td class="nbHitsCovered">&nbsp;23</td> <td class="src"><pre class="src">&nbsp; FFF(120);</pre></td></tr>
<tr> <td class="numLine">&nbsp;36</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
<tr> <td class="numLine">&nbsp;37</td> <td class="nbHits">&nbsp;</td>
@@ -86,9 +86,9 @@
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">static</span> String regexPattern;</pre></td></tr>
<tr> <td class="numLine">&nbsp;39</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;40</td> <td class="nbHitsCovered">&nbsp;168</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> Dynamic(<span class="keyword">int</span> midiVolume) {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;41</td> <td class="nbHitsCovered">&nbsp;168</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.midiVolume = midiVolume;</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;42</td> <td class="nbHitsCovered">&nbsp;168</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;40</td> <td class="nbHitsCovered">&nbsp;184</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> Dynamic(<span class="keyword">int</span> midiVolume) {</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;41</td> <td class="nbHitsCovered">&nbsp;184</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.midiVolume = midiVolume;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;42</td> <td class="nbHitsCovered">&nbsp;184</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;43</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
<tr> <td class="numLine">&nbsp;44</td> <td class="nbHits">&nbsp;</td>
@@ -103,7 +103,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;49</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">int</span> getMidiVolume() {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;50</td> <td class="nbHitsCovered">&nbsp;228</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> <span class="keyword">this</span>.midiVolume;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;50</td> <td class="nbHitsCovered">&nbsp;268</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> <span class="keyword">this</span>.midiVolume;</pre></td></tr>
<tr> <td class="numLine">&nbsp;51</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;52</td> <td class="nbHits">&nbsp;</td>
@@ -161,6 +161,6 @@
<td class="src"><pre class="src">&nbsp;}</pre></td></tr>
</table>
-<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 1.9 on 6/2/08 8:55 PM.</div>
+<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 1.9 on 6/4/08 11:25 AM.</div>
</body>
</html>
View
6 FractalComposer/build/cobertura-report/com.myronmarston.music.GermIsEmptyException.html
@@ -83,12 +83,12 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;33</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> GermIsEmptyException() {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;34</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">super</span>(<span class="string">"The germ is empty. A midi sequence cannot be created without it."</span>);</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;35</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;34</td> <td class="nbHitsCovered">&nbsp;3</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">super</span>(<span class="string">"The germ is empty. A midi sequence cannot be created without it."</span>);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;35</td> <td class="nbHitsCovered">&nbsp;3</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;36</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;}</pre></td></tr>
</table>
-<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 1.9 on 6/2/08 8:55 PM.</div>
+<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 1.9 on 6/4/08 11:25 AM.</div>
</body>
</html>
View
2  FractalComposer/build/cobertura-report/com.myronmarston.music.IncorrectNoteStringException.html
@@ -95,6 +95,6 @@
<td class="src"><pre class="src">&nbsp;}</pre></td></tr>
</table>
-<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 1.9 on 6/2/08 8:55 PM.</div>
+<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 1.9 on 6/4/08 11:25 AM.</div>
</body>
</html>
View
60 FractalComposer/build/cobertura-report/com.myronmarston.music.Instrument.html
@@ -99,9 +99,9 @@
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> List&lt;String&gt; AVAILABLE_INSTRUMENTS;</pre></td></tr>
<tr> <td class="numLine">&nbsp;41</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;42</td> <td class="nbHitsCovered">&nbsp;1920</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> Instrument(javax.sound.midi.Instrument midiInstrument) {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;43</td> <td class="nbHitsCovered">&nbsp;1920</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.midiInstrument = midiInstrument; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;44</td> <td class="nbHitsCovered">&nbsp;1920</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;42</td> <td class="nbHitsCovered">&nbsp;2176</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> Instrument(javax.sound.midi.Instrument midiInstrument) {</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;43</td> <td class="nbHitsCovered">&nbsp;2176</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.midiInstrument = midiInstrument; </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;44</td> <td class="nbHitsCovered">&nbsp;2176</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;45</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
<tr> <td class="numLine">&nbsp;46</td> <td class="nbHits">&nbsp;</td>
@@ -112,44 +112,44 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;49</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">static</span> {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;50</td> <td class="nbHitsCovered">&nbsp;15</td> <td class="src"><pre class="src">&nbsp; HashMap&lt;String, Instrument&gt; map = <span class="keyword">new</span> HashMap&lt;String, Instrument&gt;(); </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;51</td> <td class="nbHitsCovered">&nbsp;15</td> <td class="src"><pre class="src">&nbsp; List&lt;String&gt; list = <span class="keyword">new</span> ArrayList&lt;String&gt;();</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;52</td> <td class="nbHitsCovered">&nbsp;15</td> <td class="src"><pre class="src">&nbsp; Synthesizer synth = <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;50</td> <td class="nbHitsCovered">&nbsp;17</td> <td class="src"><pre class="src">&nbsp; HashMap&lt;String, Instrument&gt; map = <span class="keyword">new</span> HashMap&lt;String, Instrument&gt;(); </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;51</td> <td class="nbHitsCovered">&nbsp;17</td> <td class="src"><pre class="src">&nbsp; List&lt;String&gt; list = <span class="keyword">new</span> ArrayList&lt;String&gt;();</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;52</td> <td class="nbHitsCovered">&nbsp;17</td> <td class="src"><pre class="src">&nbsp; Synthesizer synth = <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;53</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
<tr> <td class="numLine">&nbsp;54</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">try</span> {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;55</td> <td class="nbHitsCovered">&nbsp;15</td> <td class="src"><pre class="src">&nbsp; synth = MidiSystem.getSynthesizer();</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;56</td> <td class="nbHitsCovered">&nbsp;15</td> <td class="src"><pre class="src">&nbsp; synth.open();</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;55</td> <td class="nbHitsCovered">&nbsp;17</td> <td class="src"><pre class="src">&nbsp; synth = MidiSystem.getSynthesizer();</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;56</td> <td class="nbHitsCovered">&nbsp;17</td> <td class="src"><pre class="src">&nbsp; synth.open();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;57</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; } <span class="keyword">catch</span> (MidiUnavailableException ex) {</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;58</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">throw</span> <span class="keyword">new</span> UndeclaredThrowableException(ex, <span class="string">"An error occurred while opening the midi system synthesizer."</span>);</span></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;59</td> <td class="nbHitsCovered">&nbsp;15</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;59</td> <td class="nbHitsCovered">&nbsp;17</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;60</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;61</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">try</span> { </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;62</td> <td class="nbHitsCovered">&nbsp;15</td> <td class="src"><pre class="src">&nbsp; Soundbank bank = synth.getDefaultSoundbank();</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;63</td> <td class="nbHitsCovered">&nbsp;6180</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">for</span> (javax.sound.midi.Instrument i : bank.getInstruments()) {</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;62</td> <td class="nbHitsCovered">&nbsp;17</td> <td class="src"><pre class="src">&nbsp; Soundbank bank = synth.getDefaultSoundbank();</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;63</td> <td class="nbHitsCovered">&nbsp;7004</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">for</span> (javax.sound.midi.Instrument i : bank.getInstruments()) {</pre></td></tr>
<tr> <td class="numLine">&nbsp;64</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// there are several hundred instruments, but we only care about the</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;65</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// "regular" ones like piano, violin, cello, etc.</span></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;66</td> <td class="nbHitsCovered">&nbsp;6165</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">if</span> (i.getPatch().getBank() == REGULAR_INSTRUMENT_BANK) { </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;67</td> <td class="nbHitsCovered">&nbsp;1920</td> <td class="src"><pre class="src">&nbsp; map.put(i.getName().toLowerCase(Locale.ENGLISH), <span class="keyword">new</span> Instrument(i));</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;68</td> <td class="nbHitsCovered">&nbsp;1920</td> <td class="src"><pre class="src">&nbsp; list.add(i.getName());</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;66</td> <td class="nbHitsCovered">&nbsp;6987</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">if</span> (i.getPatch().getBank() == REGULAR_INSTRUMENT_BANK) { </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;67</td> <td class="nbHitsCovered">&nbsp;2176</td> <td class="src"><pre class="src">&nbsp; map.put(i.getName().toLowerCase(Locale.ENGLISH), <span class="keyword">new</span> Instrument(i));</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;68</td> <td class="nbHitsCovered">&nbsp;2176</td> <td class="src"><pre class="src">&nbsp; list.add(i.getName());</pre></td></tr>
<tr> <td class="numLine">&nbsp;69</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;70</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;71</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } <span class="keyword">finally</span> {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;72</td> <td class="nbHitsCovered">&nbsp;15</td> <td class="src"><pre class="src">&nbsp; synth.close();</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;73</td> <td class="nbHitsCovered">&nbsp;15</td> <td class="src"><pre class="src">&nbsp; } </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;72</td> <td class="nbHitsCovered">&nbsp;17</td> <td class="src"><pre class="src">&nbsp; synth.close();</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;73</td> <td class="nbHitsCovered">&nbsp;17</td> <td class="src"><pre class="src">&nbsp; } </pre></td></tr>
<tr> <td class="numLine">&nbsp;74</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;75</td> <td class="nbHitsCovered">&nbsp;15</td> <td class="src"><pre class="src">&nbsp; INSTRUMENT_MAP = Collections.unmodifiableMap(map); </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;76</td> <td class="nbHitsCovered">&nbsp;15</td> <td class="src"><pre class="src">&nbsp; AVAILABLE_INSTRUMENTS = Collections.unmodifiableList(list);</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;77</td> <td class="nbHitsCovered">&nbsp;15</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;75</td> <td class="nbHitsCovered">&nbsp;17</td> <td class="src"><pre class="src">&nbsp; INSTRUMENT_MAP = Collections.unmodifiableMap(map); </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;76</td> <td class="nbHitsCovered">&nbsp;17</td> <td class="src"><pre class="src">&nbsp; AVAILABLE_INSTRUMENTS = Collections.unmodifiableList(list);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;77</td> <td class="nbHitsCovered">&nbsp;17</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;78</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;79</td> <td class="nbHits">&nbsp;</td>
@@ -164,7 +164,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;84</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">protected</span> javax.sound.midi.Instrument getMidiInstrument() {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;85</td> <td class="nbHitsCovered">&nbsp;26</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> midiInstrument;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;85</td> <td class="nbHitsCovered">&nbsp;47</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> midiInstrument;</pre></td></tr>
<tr> <td class="numLine">&nbsp;86</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } </pre></td></tr>
<tr> <td class="numLine">&nbsp;87</td> <td class="nbHits">&nbsp;</td>
@@ -181,7 +181,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;93</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">static</span> Instrument getDefault() {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;94</td> <td class="nbHitsCovered">&nbsp;294</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> getInstrument(<span class="string">"piano"</span>);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;94</td> <td class="nbHitsCovered">&nbsp;320</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> getInstrument(<span class="string">"piano"</span>);</pre></td></tr>
<tr> <td class="numLine">&nbsp;95</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;96</td> <td class="nbHits">&nbsp;</td>
@@ -200,7 +200,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span> </pre></td></tr>
<tr> <td class="numLine">&nbsp;103</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">static</span> Instrument getInstrument(String name) {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;104</td> <td class="nbHitsCovered">&nbsp;324</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> INSTRUMENT_MAP.get(name.toLowerCase(Locale.ENGLISH));</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;104</td> <td class="nbHitsCovered">&nbsp;352</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> INSTRUMENT_MAP.get(name.toLowerCase(Locale.ENGLISH));</pre></td></tr>
<tr> <td class="numLine">&nbsp;105</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;106</td> <td class="nbHits">&nbsp;</td>
@@ -217,7 +217,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;112</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> String getName() {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;113</td> <td class="nbHitsCovered">&nbsp;166</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> <span class="keyword">this</span>.midiInstrument.getName();</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;113</td> <td class="nbHitsCovered">&nbsp;192</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> <span class="keyword">this</span>.midiInstrument.getName();</pre></td></tr>
<tr> <td class="numLine">&nbsp;114</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;115</td> <td class="nbHits">&nbsp;</td>
@@ -234,7 +234,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;121</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> String toGuidoString() {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;122</td> <td class="nbHitsCovered">&nbsp;24</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> <span class="string">"\\instr&lt;\""</span> + <span class="keyword">this</span>.getName() + <span class="string">"\", \"MIDI "</span> + <span class="keyword">this</span>.getMidiInstrument().getPatch().getProgram() + <span class="string">"\"&gt;"</span>;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;122</td> <td class="nbHitsCovered">&nbsp;45</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> <span class="string">"\\instr&lt;\""</span> + <span class="keyword">this</span>.getName() + <span class="string">"\", \"MIDI "</span> + <span class="keyword">this</span>.getMidiInstrument().getPatch().getProgram() + <span class="string">"\"&gt;"</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;123</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;124</td> <td class="nbHits">&nbsp;</td>
@@ -255,28 +255,28 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;132</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> MidiEvent getProgramChangeMidiEvent(<span class="keyword">int</span> midiChannel) {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;133</td> <td class="nbHitsUncovered"><a title="Line 133: Conditional coverage 50% (2/4) [each condition: 50%, 50%].">&nbsp;105</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 133: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">if</span> (midiChannel &lt; MidiNote.MIN_CHANNEL || midiChannel &gt; MidiNote.MAX_CHANNEL) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;133</td> <td class="nbHitsUncovered"><a title="Line 133: Conditional coverage 50% (2/4) [each condition: 50%, 50%].">&nbsp;128</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 133: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">if</span> (midiChannel &lt; MidiNote.MIN_CHANNEL || midiChannel &gt; MidiNote.MAX_CHANNEL) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;134</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(String.format(<span class="string">"The midi channel must be between %d and %d."</span>, MidiNote.MIN_CHANNEL, MidiNote.MAX_CHANNEL));</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;135</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } </pre></td></tr>
<tr> <td class="numLine">&nbsp;136</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;137</td> <td class="nbHitsCovered">&nbsp;105</td> <td class="src"><pre class="src">&nbsp; ShortMessage msg = <span class="keyword">new</span> ShortMessage();</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;137</td> <td class="nbHitsCovered">&nbsp;128</td> <td class="src"><pre class="src">&nbsp; ShortMessage msg = <span class="keyword">new</span> ShortMessage();</pre></td></tr>
<tr> <td class="numLine">&nbsp;138</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">try</span> {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;139</td> <td class="nbHitsCovered">&nbsp;105</td> <td class="src"><pre class="src">&nbsp; msg.setMessage(ShortMessage.PROGRAM_CHANGE, midiChannel, <span class="keyword">this</span>.midiInstrument.getPatch().getProgram(), midiChannel);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;139</td> <td class="nbHitsCovered">&nbsp;128</td> <td class="src"><pre class="src">&nbsp; msg.setMessage(ShortMessage.PROGRAM_CHANGE, midiChannel, <span class="keyword">this</span>.midiInstrument.getPatch().getProgram(), midiChannel);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;140</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; } <span class="keyword">catch</span> (InvalidMidiDataException ex) {</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;141</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">throw</span> <span class="keyword">new</span> UndeclaredThrowableException(ex, <span class="string">"The program change midi event could not be created for an unknown reason. This indicates a programming error."</span>);</span></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;142</td> <td class="nbHitsCovered">&nbsp;105</td> <td class="src"><pre class="src">&nbsp; } </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;142</td> <td class="nbHitsCovered">&nbsp;128</td> <td class="src"><pre class="src">&nbsp; } </pre></td></tr>
<tr> <td class="numLine">&nbsp;143</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;144</td> <td class="nbHitsCovered">&nbsp;105</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> <span class="keyword">new</span> MidiEvent(msg, 0);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;144</td> <td class="nbHitsCovered">&nbsp;128</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> <span class="keyword">new</span> MidiEvent(msg, 0);</pre></td></tr>
<tr> <td class="numLine">&nbsp;145</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;146</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;}</pre></td></tr>
</table>
-<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 1.9 on 6/2/08 8:55 PM.</div>
+<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 1.9 on 6/4/08 11:25 AM.</div>
</body>
</html>
View
84 FractalComposer/build/cobertura-report/com.myronmarston.music.MidiNote.html
@@ -107,7 +107,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> * The default velocity (volume) of the note</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;45</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;46</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> <span class="keyword">int</span> DEFAULT_VELOCITY = Dynamic.MF.getMidiVolume(); </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;46</td> <td class="nbHitsCovered">&nbsp;23</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> <span class="keyword">int</span> DEFAULT_VELOCITY = Dynamic.MF.getMidiVolume(); </pre></td></tr>
<tr> <td class="numLine">&nbsp;47</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
<tr> <td class="numLine">&nbsp;48</td> <td class="nbHits">&nbsp;</td>
@@ -237,10 +237,10 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> * for each parameter.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;116</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;117</td> <td class="nbHitsCovered">&nbsp;1211</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> MidiNote() {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;118</td> <td class="nbHitsCovered">&nbsp;1211</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.setChannel(DEFAULT_CHANNEL);</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;119</td> <td class="nbHitsCovered">&nbsp;1211</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.setVelocity(DEFAULT_VELOCITY);</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;120</td> <td class="nbHitsCovered">&nbsp;1211</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;117</td> <td class="nbHitsCovered">&nbsp;1290</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> MidiNote() {</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;118</td> <td class="nbHitsCovered">&nbsp;1290</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.setChannel(DEFAULT_CHANNEL);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;119</td> <td class="nbHitsCovered">&nbsp;1290</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.setVelocity(DEFAULT_VELOCITY);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;120</td> <td class="nbHitsCovered">&nbsp;1290</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;121</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
<tr> <td class="numLine">&nbsp;122</td> <td class="nbHits">&nbsp;</td>
@@ -255,7 +255,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;127</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">int</span> getPitch() {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;128</td> <td class="nbHitsCovered">&nbsp;6761</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> pitch;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;128</td> <td class="nbHitsCovered">&nbsp;7189</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> pitch;</pre></td></tr>
<tr> <td class="numLine">&nbsp;129</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;130</td> <td class="nbHits">&nbsp;</td>
@@ -272,9 +272,9 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;136</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">void</span> setPitch(<span class="keyword">int</span> pitch) {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;137</td> <td class="nbHitsCovered"><a title="Line 137: Conditional coverage 100% (2/2).">&nbsp;1336</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 137: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (<span class="keyword">this</span>.pitch != pitch) clearNoteEvents();</a></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;138</td> <td class="nbHitsCovered">&nbsp;1336</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.pitch = pitch; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;139</td> <td class="nbHitsCovered">&nbsp;1336</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;137</td> <td class="nbHitsCovered"><a title="Line 137: Conditional coverage 100% (2/2).">&nbsp;1415</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 137: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (<span class="keyword">this</span>.pitch != pitch) clearNoteEvents();</a></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;138</td> <td class="nbHitsCovered">&nbsp;1415</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.pitch = pitch; </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;139</td> <td class="nbHitsCovered">&nbsp;1415</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;140</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
<tr> <td class="numLine">&nbsp;141</td> <td class="nbHits">&nbsp;</td>
@@ -289,7 +289,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;146</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">long</span> getDuration() {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;147</td> <td class="nbHitsCovered">&nbsp;1172</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> duration;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;147</td> <td class="nbHitsCovered">&nbsp;1251</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> duration;</pre></td></tr>
<tr> <td class="numLine">&nbsp;148</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;149</td> <td class="nbHits">&nbsp;</td>
@@ -306,9 +306,9 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;155</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">void</span> setDuration(<span class="keyword">long</span> duration) {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;156</td> <td class="nbHitsUncovered"><a title="Line 156: Conditional coverage 50% (1/2).">&nbsp;1198</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 156: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (<span class="keyword">this</span>.duration != duration) clearNoteEvents();</a></span></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;157</td> <td class="nbHitsCovered">&nbsp;1198</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.duration = duration; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;158</td> <td class="nbHitsCovered">&nbsp;1198</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;156</td> <td class="nbHitsUncovered"><a title="Line 156: Conditional coverage 50% (1/2).">&nbsp;1277</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 156: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (<span class="keyword">this</span>.duration != duration) clearNoteEvents();</a></span></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;157</td> <td class="nbHitsCovered">&nbsp;1277</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.duration = duration; </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;158</td> <td class="nbHitsCovered">&nbsp;1277</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;159</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
<tr> <td class="numLine">&nbsp;160</td> <td class="nbHits">&nbsp;</td>
@@ -323,7 +323,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;165</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">long</span> getStartTime() {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;166</td> <td class="nbHitsCovered">&nbsp;2300</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> startTime;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;166</td> <td class="nbHitsCovered">&nbsp;2458</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> startTime;</pre></td></tr>
<tr> <td class="numLine">&nbsp;167</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } </pre></td></tr>
<tr> <td class="numLine">&nbsp;168</td> <td class="nbHits">&nbsp;</td>
@@ -340,9 +340,9 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;174</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">void</span> setStartTime(<span class="keyword">long</span> startTime) {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;175</td> <td class="nbHitsCovered"><a title="Line 175: Conditional coverage 100% (2/2).">&nbsp;1198</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 175: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (<span class="keyword">this</span>.startTime != startTime) clearNoteEvents();</a></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;176</td> <td class="nbHitsCovered">&nbsp;1198</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.startTime = startTime; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;177</td> <td class="nbHitsCovered">&nbsp;1198</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;175</td> <td class="nbHitsCovered"><a title="Line 175: Conditional coverage 100% (2/2).">&nbsp;1277</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 175: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (<span class="keyword">this</span>.startTime != startTime) clearNoteEvents();</a></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;176</td> <td class="nbHitsCovered">&nbsp;1277</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.startTime = startTime; </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;177</td> <td class="nbHitsCovered">&nbsp;1277</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;178</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;179</td> <td class="nbHits">&nbsp;</td>
@@ -357,7 +357,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;184</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">int</span> getVelocity() {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;185</td> <td class="nbHitsCovered">&nbsp;1172</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> velocity;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;185</td> <td class="nbHitsCovered">&nbsp;1251</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> velocity;</pre></td></tr>
<tr> <td class="numLine">&nbsp;186</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;187</td> <td class="nbHits">&nbsp;</td>
@@ -374,9 +374,9 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;193</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">void</span> setVelocity(<span class="keyword">int</span> velocity) {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;194</td> <td class="nbHitsCovered"><a title="Line 194: Conditional coverage 100% (2/2).">&nbsp;2409</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 194: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (<span class="keyword">this</span>.velocity != velocity) clearNoteEvents();</a></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;195</td> <td class="nbHitsCovered">&nbsp;2409</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.velocity = velocity; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;196</td> <td class="nbHitsCovered">&nbsp;2409</td> <td class="src"><pre class="src">&nbsp; } </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;194</td> <td class="nbHitsCovered"><a title="Line 194: Conditional coverage 100% (2/2).">&nbsp;2567</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 194: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (<span class="keyword">this</span>.velocity != velocity) clearNoteEvents();</a></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;195</td> <td class="nbHitsCovered">&nbsp;2567</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.velocity = velocity; </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;196</td> <td class="nbHitsCovered">&nbsp;2567</td> <td class="src"><pre class="src">&nbsp; } </pre></td></tr>
<tr> <td class="numLine">&nbsp;197</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
<tr> <td class="numLine">&nbsp;198</td> <td class="nbHits">&nbsp;</td>
@@ -391,7 +391,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;203</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">int</span> getChannel() {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;204</td> <td class="nbHitsCovered">&nbsp;2261</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> channel;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;204</td> <td class="nbHitsCovered">&nbsp;2419</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> channel;</pre></td></tr>
<tr> <td class="numLine">&nbsp;205</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;206</td> <td class="nbHits">&nbsp;</td>
@@ -408,10 +408,10 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;212</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">void</span> setChannel(<span class="keyword">int</span> channel) {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;213</td> <td class="nbHitsUncovered"><a title="Line 213: Conditional coverage 75% (3/4) [each condition: 50%, 100%].">&nbsp;2410</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 213: Conditional coverage 75% (3/4) [each condition: 50%, 100%]."> <span class="keyword">if</span> (channel &lt; MIN_CHANNEL || channel &gt; MAX_CHANNEL) <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(String.format(<span class="string">"The channel must be between %d and %d."</span>, MIN_CHANNEL, MAX_CHANNEL));</a></span></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;214</td> <td class="nbHitsCovered"><a title="Line 214: Conditional coverage 100% (2/2).">&nbsp;2409</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 214: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (<span class="keyword">this</span>.channel != channel) clearNoteEvents();</a></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;215</td> <td class="nbHitsCovered">&nbsp;2409</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.channel = channel; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;216</td> <td class="nbHitsCovered">&nbsp;2409</td> <td class="src"><pre class="src">&nbsp; } </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;213</td> <td class="nbHitsUncovered"><a title="Line 213: Conditional coverage 75% (3/4) [each condition: 50%, 100%].">&nbsp;2568</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 213: Conditional coverage 75% (3/4) [each condition: 50%, 100%]."> <span class="keyword">if</span> (channel &lt; MIN_CHANNEL || channel &gt; MAX_CHANNEL) <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(String.format(<span class="string">"The channel must be between %d and %d."</span>, MIN_CHANNEL, MAX_CHANNEL));</a></span></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;214</td> <td class="nbHitsCovered"><a title="Line 214: Conditional coverage 100% (2/2).">&nbsp;2567</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 214: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (<span class="keyword">this</span>.channel != channel) clearNoteEvents();</a></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;215</td> <td class="nbHitsCovered">&nbsp;2567</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.channel = channel; </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;216</td> <td class="nbHitsCovered">&nbsp;2567</td> <td class="src"><pre class="src">&nbsp; } </pre></td></tr>
<tr> <td class="numLine">&nbsp;217</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
<tr> <td class="numLine">&nbsp;218</td> <td class="nbHits">&nbsp;</td>
@@ -428,7 +428,7 @@
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">int</span> getGuidoOctave() {</pre></td></tr>
<tr> <td class="numLine">&nbsp;224</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// Pitches 60-71 (Middle C - B) are octave 1</span></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;225</td> <td class="nbHitsCovered">&nbsp;1251</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> (<span class="keyword">this</span>.getPitch() / Scale.NUM_CHROMATIC_PITCHES_PER_OCTAVE) - 4;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;225</td> <td class="nbHitsCovered">&nbsp;1330</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> (<span class="keyword">this</span>.getPitch() / Scale.NUM_CHROMATIC_PITCHES_PER_OCTAVE) - 4;</pre></td></tr>
<tr> <td class="numLine">&nbsp;226</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;227</td> <td class="nbHits">&nbsp;</td>
@@ -451,8 +451,8 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;236</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> MidiEvent getNoteOnEvent() <span class="keyword">throws</span> InvalidMidiDataException {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;237</td> <td class="nbHitsUncovered"><a title="Line 237: Conditional coverage 50% (1/2).">&nbsp;1128</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 237: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (noteOnEvent == <span class="keyword">null</span>) createNoteEvents(); </a></span></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;238</td> <td class="nbHitsCovered">&nbsp;1128</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> noteOnEvent;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;237</td> <td class="nbHitsUncovered"><a title="Line 237: Conditional coverage 50% (1/2).">&nbsp;1207</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 237: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (noteOnEvent == <span class="keyword">null</span>) createNoteEvents(); </a></span></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;238</td> <td class="nbHitsCovered">&nbsp;1207</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> noteOnEvent;</pre></td></tr>
<tr> <td class="numLine">&nbsp;239</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;240</td> <td class="nbHits">&nbsp;</td>
@@ -475,8 +475,8 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;249</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> MidiEvent getNoteOffEvent() <span class="keyword">throws</span> InvalidMidiDataException {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;250</td> <td class="nbHitsUncovered"><a title="Line 250: Conditional coverage 50% (1/2).">&nbsp;1128</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 250: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (noteOffEvent == <span class="keyword">null</span>) createNoteEvents();</a></span></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;251</td> <td class="nbHitsCovered">&nbsp;1128</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> noteOffEvent;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;250</td> <td class="nbHitsUncovered"><a title="Line 250: Conditional coverage 50% (1/2).">&nbsp;1207</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 250: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (noteOffEvent == <span class="keyword">null</span>) createNoteEvents();</a></span></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;251</td> <td class="nbHitsCovered">&nbsp;1207</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> noteOffEvent;</pre></td></tr>
<tr> <td class="numLine">&nbsp;252</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;253</td> <td class="nbHits">&nbsp;</td>
@@ -508,9 +508,9 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;267</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">void</span> clearNoteEvents() {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;268</td> <td class="nbHitsCovered">&nbsp;6118</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.noteOnEvent = <span class="keyword">null</span>;</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;269</td> <td class="nbHitsCovered">&nbsp;6118</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.noteOffEvent = <span class="keyword">null</span>;</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;270</td> <td class="nbHitsCovered">&nbsp;6118</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;268</td> <td class="nbHitsCovered">&nbsp;6490</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.noteOnEvent = <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;269</td> <td class="nbHitsCovered">&nbsp;6490</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.noteOffEvent = <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;270</td> <td class="nbHitsCovered">&nbsp;6490</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;271</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
<tr> <td class="numLine">&nbsp;272</td> <td class="nbHits">&nbsp;</td>
@@ -527,7 +527,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;278</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">void</span> createNoteEvents() <span class="keyword">throws</span> InvalidMidiDataException {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;279</td> <td class="nbHitsCovered">&nbsp;1128</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.noteOnEvent = createNoteEvent(</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;279</td> <td class="nbHitsCovered">&nbsp;1207</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.noteOnEvent = createNoteEvent(</pre></td></tr>
<tr> <td class="numLine">&nbsp;280</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; ShortMessage.NOTE_ON, </pre></td></tr>
<tr> <td class="numLine">&nbsp;281</td> <td class="nbHits">&nbsp;</td>
@@ -540,7 +540,7 @@
<td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.getStartTime()); </pre></td></tr>
<tr> <td class="numLine">&nbsp;285</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;286</td> <td class="nbHitsCovered">&nbsp;1128</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.noteOffEvent = createNoteEvent(</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;286</td> <td class="nbHitsCovered">&nbsp;1207</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.noteOffEvent = createNoteEvent(</pre></td></tr>
<tr> <td class="numLine">&nbsp;287</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; ShortMessage.NOTE_OFF, </pre></td></tr>
<tr> <td class="numLine">&nbsp;288</td> <td class="nbHits">&nbsp;</td>
@@ -551,7 +551,7 @@
<td class="src"><pre class="src">&nbsp; 0, <span class="comment">// velocity should always be 0 for note off events</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;291</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.getStartTime() + <span class="keyword">this</span>.getDuration());</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;292</td> <td class="nbHitsCovered">&nbsp;1128</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;292</td> <td class="nbHitsCovered">&nbsp;1207</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;293</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
<tr> <td class="numLine">&nbsp;294</td> <td class="nbHits">&nbsp;</td>
@@ -566,16 +566,16 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span> </pre></td></tr>
<tr> <td class="numLine">&nbsp;299</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">static</span> MidiEvent createNoteEvent(<span class="keyword">int</span> command, <span class="keyword">int</span> channel, <span class="keyword">int</span> pitch, <span class="keyword">int</span> velocity, <span class="keyword">long</span> tick) <span class="keyword">throws</span> javax.sound.midi.InvalidMidiDataException { </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;300</td> <td class="nbHitsCovered">&nbsp;2256</td> <td class="src"><pre class="src">&nbsp; ShortMessage message = <span class="keyword">new</span> ShortMessage(); </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;301</td> <td class="nbHitsCovered">&nbsp;2256</td> <td class="src"><pre class="src">&nbsp; message.setMessage(command, channel, pitch, velocity);</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;302</td> <td class="nbHitsCovered">&nbsp;2256</td> <td class="src"><pre class="src">&nbsp; MidiEvent event = <span class="keyword">new</span> MidiEvent(message, tick);</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;303</td> <td class="nbHitsCovered">&nbsp;2256</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> event;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;300</td> <td class="nbHitsCovered">&nbsp;2414</td> <td class="src"><pre class="src">&nbsp; ShortMessage message = <span class="keyword">new</span> ShortMessage(); </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;301</td> <td class="nbHitsCovered">&nbsp;2414</td> <td class="src"><pre class="src">&nbsp; message.setMessage(command, channel, pitch, velocity);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;302</td> <td class="nbHitsCovered">&nbsp;2414</td> <td class="src"><pre class="src">&nbsp; MidiEvent event = <span class="keyword">new</span> MidiEvent(message, tick);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;303</td> <td class="nbHitsCovered">&nbsp;2414</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> event;</pre></td></tr>
<tr> <td class="numLine">&nbsp;304</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } </pre></td></tr>
<tr> <td class="numLine">&nbsp;305</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;}</pre></td></tr>
</table>
-<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 1.9 on 6/2/08 8:55 PM.</div>
+<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 1.9 on 6/4/08 11:25 AM.</div>
</body>
</html>
View
240 FractalComposer/build/cobertura-report/com.myronmarston.music.Note.html
120 additions, 120 deletions not shown
View
68 FractalComposer/build/cobertura-report/com.myronmarston.music.NoteList.html
@@ -109,8 +109,8 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;46</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> NoteList() {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;47</td> <td class="nbHitsCovered">&nbsp;262</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">super</span>();</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;48</td> <td class="nbHitsCovered">&nbsp;262</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;47</td> <td class="nbHitsCovered">&nbsp;324</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">super</span>();</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;48</td> <td class="nbHitsCovered">&nbsp;324</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;49</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
<tr> <td class="numLine">&nbsp;50</td> <td class="nbHits">&nbsp;</td>
@@ -125,8 +125,8 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;55</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> NoteList(<span class="keyword">int</span> initialCapacity) {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;56</td> <td class="nbHitsCovered">&nbsp;1059</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">super</span>(initialCapacity); </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;57</td> <td class="nbHitsCovered">&nbsp;1059</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;56</td> <td class="nbHitsCovered">&nbsp;1083</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">super</span>(initialCapacity); </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;57</td> <td class="nbHitsCovered">&nbsp;1083</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;58</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;59</td> <td class="nbHits">&nbsp;</td>
@@ -141,7 +141,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;64</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> Instrument getInstrument() {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;65</td> <td class="nbHitsCovered">&nbsp;208</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> instrument;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;65</td> <td class="nbHitsCovered">&nbsp;233</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> instrument;</pre></td></tr>
<tr> <td class="numLine">&nbsp;66</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;67</td> <td class="nbHits">&nbsp;</td>
@@ -158,8 +158,8 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span> </pre></td></tr>
<tr> <td class="numLine">&nbsp;73</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">void</span> setInstrument(Instrument instrument) {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;74</td> <td class="nbHitsCovered">&nbsp;26</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.instrument = instrument;</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;75</td> <td class="nbHitsCovered">&nbsp;26</td> <td class="src"><pre class="src">&nbsp; } </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;74</td> <td class="nbHitsCovered">&nbsp;28</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.instrument = instrument;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;75</td> <td class="nbHitsCovered">&nbsp;28</td> <td class="src"><pre class="src">&nbsp; } </pre></td></tr>
<tr> <td class="numLine">&nbsp;76</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
<tr> <td class="numLine">&nbsp;77</td> <td class="nbHits">&nbsp;</td>
@@ -200,9 +200,9 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;97</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> Fraction getDuration() {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;98</td> <td class="nbHitsCovered">&nbsp;977</td> <td class="src"><pre class="src">&nbsp; Fraction duration = <span class="keyword">new</span> Fraction(0, 1);</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;99</td> <td class="nbHitsCovered"><a title="Line 99: Conditional coverage 100% (2/2).">&nbsp;977</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 99: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Note n : <span class="keyword">this</span>) duration = duration.plus(n.getDuration()); </a></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;100</td> <td class="nbHitsCovered">&nbsp;977</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> duration; </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;98</td> <td class="nbHitsCovered">&nbsp;1061</td> <td class="src"><pre class="src">&nbsp; Fraction duration = <span class="keyword">new</span> Fraction(0, 1);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;99</td> <td class="nbHitsCovered"><a title="Line 99: Conditional coverage 100% (2/2).">&nbsp;1061</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 99: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Note n : <span class="keyword">this</span>) duration = duration.plus(n.getDuration()); </a></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;100</td> <td class="nbHitsCovered">&nbsp;1061</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> duration; </pre></td></tr>
<tr> <td class="numLine">&nbsp;101</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;102</td> <td class="nbHits">&nbsp;</td>
@@ -229,29 +229,29 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;113</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">static</span> NoteList parseNoteListString(String noteListString, Scale scale) <span class="keyword">throws</span> NoteStringParseException { </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;114</td> <td class="nbHitsCovered">&nbsp;123</td> <td class="src"><pre class="src">&nbsp; Note note = <span class="keyword">null</span>;</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;115</td> <td class="nbHitsCovered">&nbsp;123</td> <td class="src"><pre class="src">&nbsp; Fraction defaultDuration = <span class="keyword">null</span>;</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;116</td> <td class="nbHitsCovered">&nbsp;123</td> <td class="src"><pre class="src">&nbsp; Integer defaultVolume = <span class="keyword">null</span>; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;117</td> <td class="nbHitsCovered">&nbsp;123</td> <td class="src"><pre class="src">&nbsp; StringTokenizer st = <span class="keyword">new</span> StringTokenizer(noteListString);</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;118</td> <td class="nbHitsCovered">&nbsp;123</td> <td class="src"><pre class="src">&nbsp; NoteList list = <span class="keyword">new</span> NoteList();</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;114</td> <td class="nbHitsCovered">&nbsp;161</td> <td class="src"><pre class="src">&nbsp; Note note = <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;115</td> <td class="nbHitsCovered">&nbsp;161</td> <td class="src"><pre class="src">&nbsp; Fraction defaultDuration = <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;116</td> <td class="nbHitsCovered">&nbsp;161</td> <td class="src"><pre class="src">&nbsp; Integer defaultVolume = <span class="keyword">null</span>; </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;117</td> <td class="nbHitsCovered">&nbsp;161</td> <td class="src"><pre class="src">&nbsp; StringTokenizer st = <span class="keyword">new</span> StringTokenizer(noteListString);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;118</td> <td class="nbHitsCovered">&nbsp;161</td> <td class="src"><pre class="src">&nbsp; NoteList list = <span class="keyword">new</span> NoteList();</pre></td></tr>
<tr> <td class="numLine">&nbsp;119</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;120</td> <td class="nbHitsCovered"><a title="Line 120: Conditional coverage 100% (2/2).">&nbsp;670</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 120: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (st.hasMoreTokens()) {</a></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;121</td> <td class="nbHitsCovered">&nbsp;547</td> <td class="src"><pre class="src">&nbsp; note = Note.parseNoteString(st.nextToken(), scale, defaultDuration, defaultVolume);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;120</td> <td class="nbHitsCovered"><a title="Line 120: Conditional coverage 100% (2/2).">&nbsp;788</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 120: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (st.hasMoreTokens()) {</a></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;121</td> <td class="nbHitsCovered">&nbsp;627</td> <td class="src"><pre class="src">&nbsp; note = Note.parseNoteString(st.nextToken(), scale, defaultDuration, defaultVolume);</pre></td></tr>
<tr> <td class="numLine">&nbsp;122</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
<tr> <td class="numLine">&nbsp;123</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// get our defaults for the next note from this note...</span></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;124</td> <td class="nbHitsCovered">&nbsp;547</td> <td class="src"><pre class="src">&nbsp; defaultDuration = note.getDuration(); </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;125</td> <td class="nbHitsCovered"><a title="Line 125: Conditional coverage 100% (2/2).">&nbsp;547</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 125: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!note.isRest()) defaultVolume = note.getVolume();</a></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;124</td> <td class="nbHitsCovered">&nbsp;627</td> <td class="src"><pre class="src">&nbsp; defaultDuration = note.getDuration(); </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;125</td> <td class="nbHitsCovered"><a title="Line 125: Conditional coverage 100% (2/2).">&nbsp;627</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 125: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!note.isRest()) defaultVolume = note.getVolume();</a></pre></td></tr>
<tr> <td class="numLine">&nbsp;126</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;127</td> <td class="nbHitsCovered">&nbsp;547</td> <td class="src"><pre class="src">&nbsp; list.add(note);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;127</td> <td class="nbHitsCovered">&nbsp;627</td> <td class="src"><pre class="src">&nbsp; list.add(note);</pre></td></tr>
<tr> <td class="numLine">&nbsp;128</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;129</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;130</td> <td class="nbHitsCovered">&nbsp;123</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> list;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;130</td> <td class="nbHitsCovered">&nbsp;161</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> list;</pre></td></tr>
<tr> <td class="numLine">&nbsp;131</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;132</td> <td class="nbHits">&nbsp;</td>
@@ -270,18 +270,18 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;139</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> List&lt;Note&gt; getListWithNormalizedRests() {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;140</td> <td class="nbHitsCovered">&nbsp;103</td> <td class="src"><pre class="src">&nbsp; ArrayList&lt;Note&gt; newList = <span class="keyword">new</span> ArrayList&lt;Note&gt;();</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;140</td> <td class="nbHitsCovered">&nbsp;126</td> <td class="src"><pre class="src">&nbsp; ArrayList&lt;Note&gt; newList = <span class="keyword">new</span> ArrayList&lt;Note&gt;();</pre></td></tr>
<tr> <td class="numLine">&nbsp;141</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;142</td> <td class="nbHitsCovered">&nbsp;103</td> <td class="src"><pre class="src">&nbsp; Fraction currentRestDuration = <span class="keyword">new</span> Fraction(0, 1);</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;143</td> <td class="nbHitsCovered"><a title="Line 143: Conditional coverage 100% (2/2).">&nbsp;103</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 143: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Note n : <span class="keyword">this</span>) {</a></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;144</td> <td class="nbHitsCovered"><a title="Line 144: Conditional coverage 100% (2/2).">&nbsp;1152</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 144: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (n.isRest()) {</a></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;142</td> <td class="nbHitsCovered">&nbsp;126</td> <td class="src"><pre class="src">&nbsp; Fraction currentRestDuration = <span class="keyword">new</span> Fraction(0, 1);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;143</td> <td class="nbHitsCovered"><a title="Line 143: Conditional coverage 100% (2/2).">&nbsp;126</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 143: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Note n : <span class="keyword">this</span>) {</a></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;144</td> <td class="nbHitsCovered"><a title="Line 144: Conditional coverage 100% (2/2).">&nbsp;1231</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 144: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (n.isRest()) {</a></pre></td></tr>
<tr> <td class="numLine">&nbsp;145</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// sum up the rest durations...</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;146</td> <td class="nbHitsCovered">&nbsp;40</td> <td class="src"><pre class="src">&nbsp; currentRestDuration = currentRestDuration.plus(n.getDuration());</pre></td></tr>
<tr> <td class="numLine">&nbsp;147</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } <span class="keyword">else</span> {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;148</td> <td class="nbHitsCovered"><a title="Line 148: Conditional coverage 100% (2/2).">&nbsp;1112</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 148: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (currentRestDuration.numerator() != 0) {</a></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;148</td> <td class="nbHitsCovered"><a title="Line 148: Conditional coverage 100% (2/2).">&nbsp;1191</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 148: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (currentRestDuration.numerator() != 0) {</a></pre></td></tr>
<tr> <td class="numLine">&nbsp;149</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// the note(s) previous to this one were rests, and we now have</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;150</td> <td class="nbHits">&nbsp;</td>
@@ -296,17 +296,17 @@
<td class="src"><pre class="src">&nbsp; } </pre></td></tr>
<tr> <td class="numLine">&nbsp;156</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;157</td> <td class="nbHitsCovered">&nbsp;1112</td> <td class="src"><pre class="src">&nbsp; newList.add(n);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;157</td> <td class="nbHitsCovered">&nbsp;1191</td> <td class="src"><pre class="src">&nbsp; newList.add(n);</pre></td></tr>
<tr> <td class="numLine">&nbsp;158</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;159</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;160</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;161</td> <td class="nbHitsCovered"><a title="Line 161: Conditional coverage 100% (2/2).">&nbsp;103</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 161: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (currentRestDuration.numerator() != 0) newList.add(Note.createRest(currentRestDuration)); </a></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;161</td> <td class="nbHitsCovered"><a title="Line 161: Conditional coverage 100% (2/2).">&nbsp;126</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 161: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (currentRestDuration.numerator() != 0) newList.add(Note.createRest(currentRestDuration)); </a></pre></td></tr>
<tr> <td class="numLine">&nbsp;162</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;163</td> <td class="nbHitsCovered">&nbsp;103</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> newList;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;163</td> <td class="nbHitsCovered">&nbsp;126</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> newList;</pre></td></tr>
<tr> <td class="numLine">&nbsp;164</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;165</td> <td class="nbHits">&nbsp;</td>
@@ -321,22 +321,22 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;170</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> Object clone() {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;171</td> <td class="nbHitsCovered">&nbsp;366</td> <td class="src"><pre class="src">&nbsp; NoteList clone = (NoteList) <span class="keyword">super</span>.clone();</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;171</td> <td class="nbHitsCovered">&nbsp;402</td> <td class="src"><pre class="src">&nbsp; NoteList clone = (NoteList) <span class="keyword">super</span>.clone();</pre></td></tr>
<tr> <td class="numLine">&nbsp;172</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;173</td> <td class="nbHitsCovered"><a title="Line 173: Conditional coverage 100% (2/2).">&nbsp;2125</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 173: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i &lt; clone.size(); i++) {</a></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;174</td> <td class="nbHitsCovered">&nbsp;1759</td> <td class="src"><pre class="src">&nbsp; clone.set(i, (Note) clone.get(i).clone());</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;173</td> <td class="nbHitsCovered"><a title="Line 173: Conditional coverage 100% (2/2).">&nbsp;2197</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 173: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i &lt; clone.size(); i++) {</a></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;174</td> <td class="nbHitsCovered">&nbsp;1795</td> <td class="src"><pre class="src">&nbsp; clone.set(i, (Note) clone.get(i).clone());</pre></td></tr>
<tr> <td class="numLine">&nbsp;175</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;176</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;177</td> <td class="nbHitsCovered">&nbsp;366</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> clone;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;177</td> <td class="nbHitsCovered">&nbsp;402</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> clone;</pre></td></tr>
<tr> <td class="numLine">&nbsp;178</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } </pre></td></tr>
<tr> <td class="numLine">&nbsp;179</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;}</pre></td></tr>
</table>
-<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 1.9 on 6/2/08 8:55 PM.</div>
+<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 1.9 on 6/4/08 11:25 AM.</div>
</body>
</html>
View
144 FractalComposer/build/cobertura-report/com.myronmarston.music.NoteName.html
@@ -85,54 +85,54 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @author Myron</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;34</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;35</td> <td class="nbHitsCovered">&nbsp;133</td> <td class="src"><pre class="src">&nbsp;<span class="keyword">public</span> enum NoteName { </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;36</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; Cbb(0, -2),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;37</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; Cb(0, -1, -7, Tonality.INVALID_KEY),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;38</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; C(0, 0, 0, -3, <span class="keyword">true</span>), <span class="comment">// C is 0 because the octave designations begin with C as the first note</span></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;39</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; Cs(0, 1, 7, 4, <span class="keyword">true</span>), </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;40</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; Cx(0, 2),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;35</td> <td class="nbHitsCovered">&nbsp;145</td> <td class="src"><pre class="src">&nbsp;<span class="keyword">public</span> enum NoteName { </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;36</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; Cbb(0, -2),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;37</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; Cb(0, -1, -7, Tonality.INVALID_KEY),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;38</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; C(0, 0, 0, -3, <span class="keyword">true</span>), <span class="comment">// C is 0 because the octave designations begin with C as the first note</span></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;39</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; Cs(0, 1, 7, 4, <span class="keyword">true</span>), </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;40</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; Cx(0, 2),</pre></td></tr>
<tr> <td class="numLine">&nbsp;41</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;42</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; Dbb(1, 0),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;43</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; Db(1, 1, -5, Tonality.INVALID_KEY), </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;44</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; D(1, 2, 2, -1, <span class="keyword">true</span>),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;45</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; Ds(1, 3, Tonality.INVALID_KEY, 6),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;46</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; Dx(1, 4),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;42</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; Dbb(1, 0),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;43</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; Db(1, 1, -5, Tonality.INVALID_KEY), </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;44</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; D(1, 2, 2, -1, <span class="keyword">true</span>),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;45</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; Ds(1, 3, Tonality.INVALID_KEY, 6),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;46</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; Dx(1, 4),</pre></td></tr>
<tr> <td class="numLine">&nbsp;47</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;48</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; Ebb(2, 2),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;49</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; Eb(2, 3, -3, -6, <span class="keyword">true</span>), </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;50</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; E(2, 4, 4, 1, <span class="keyword">true</span>),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;51</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; Es(2, 5),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;52</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; Ex(2, 6),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;48</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; Ebb(2, 2),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;49</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; Eb(2, 3, -3, -6, <span class="keyword">true</span>), </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;50</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; E(2, 4, 4, 1, <span class="keyword">true</span>),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;51</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; Es(2, 5),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;52</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; Ex(2, 6),</pre></td></tr>
<tr> <td class="numLine">&nbsp;53</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;54</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; Fbb(3, 3),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;55</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; Fb(3, 4), </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;56</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; F(3, 5, -1, -4, <span class="keyword">true</span>),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;57</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; Fs(3, 6, 6, 3, <span class="keyword">true</span>),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;58</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; Fx(3, 7),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;54</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; Fbb(3, 3),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;55</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; Fb(3, 4), </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;56</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; F(3, 5, -1, -4, <span class="keyword">true</span>),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;57</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; Fs(3, 6, 6, 3, <span class="keyword">true</span>),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;58</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; Fx(3, 7),</pre></td></tr>
<tr> <td class="numLine">&nbsp;59</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;60</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; Gbb(4, 5),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;61</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; Gb(4, 6, -6, Tonality.INVALID_KEY),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;62</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; G(4, 7, 1, -2, <span class="keyword">true</span>),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;63</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; Gs(4, 8, Tonality.INVALID_KEY, 5),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;64</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; Gx(4, 9),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;60</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; Gbb(4, 5),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;61</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; Gb(4, 6, -6, Tonality.INVALID_KEY),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;62</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; G(4, 7, 1, -2, <span class="keyword">true</span>),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;63</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; Gs(4, 8, Tonality.INVALID_KEY, 5),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;64</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; Gx(4, 9),</pre></td></tr>
<tr> <td class="numLine">&nbsp;65</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;66</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; Abb(5, 7),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;67</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; Ab(5, 8, -4, -7, <span class="keyword">true</span>),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;68</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; A(5, 9, 3, 0, <span class="keyword">true</span>), </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;69</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; As(5, 10, Tonality.INVALID_KEY, 7),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;70</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; Ax(5, 11),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;66</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; Abb(5, 7),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;67</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; Ab(5, 8, -4, -7, <span class="keyword">true</span>),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;68</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; A(5, 9, 3, 0, <span class="keyword">true</span>), </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;69</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; As(5, 10, Tonality.INVALID_KEY, 7),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;70</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; Ax(5, 11),</pre></td></tr>
<tr> <td class="numLine">&nbsp;71</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;72</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; Bbb(6, 9),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;73</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; Bb(6, 10, -2, -5, <span class="keyword">true</span>),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;74</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; B(6, 11, 5, 2, <span class="keyword">true</span>), </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;75</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; Bs(6, 12),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;76</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; Bx(6, 13);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;72</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; Bbb(6, 9),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;73</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; Bb(6, 10, -2, -5, <span class="keyword">true</span>),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;74</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; B(6, 11, 5, 2, <span class="keyword">true</span>), </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;75</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; Bs(6, 12),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;76</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; Bx(6, 13);</pre></td></tr>
<tr> <td class="numLine">&nbsp;77</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
<tr> <td class="numLine">&nbsp;78</td> <td class="nbHits">&nbsp;</td>
@@ -163,36 +163,36 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;91</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">static</span> { </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;92</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; NOTE_NAME_HASH = <span class="keyword">new</span> HashMap&lt;String, NoteName&gt;(NoteName.values().length);</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;93</td> <td class="nbHitsCovered">&nbsp;684</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">for</span> (NoteName nn : NoteName.values()) {</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;92</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; NOTE_NAME_HASH = <span class="keyword">new</span> HashMap&lt;String, NoteName&gt;(NoteName.values().length);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;93</td> <td class="nbHitsCovered">&nbsp;756</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">for</span> (NoteName nn : NoteName.values()) {</pre></td></tr>
<tr> <td class="numLine">&nbsp;94</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// convert to upper case so that the case doesn't matter...</span></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;95</td> <td class="nbHitsCovered">&nbsp;665</td> <td class="src"><pre class="src">&nbsp; NOTE_NAME_HASH.put(nn.toString().toUpperCase(Locale.ENGLISH), nn);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;95</td> <td class="nbHitsCovered">&nbsp;735</td> <td class="src"><pre class="src">&nbsp; NOTE_NAME_HASH.put(nn.toString().toUpperCase(Locale.ENGLISH), nn);</pre></td></tr>
<tr> <td class="numLine">&nbsp;96</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;97</td> <td class="nbHitsCovered">&nbsp;19</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;97</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;98</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>