Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

I forgot to generate the code coverage reports for the last commit, s…

…o here they are.
  • Loading branch information...
commit a3c54f57af410e967c509ce466d95d201e7a839b 1 parent c58ffbf
@myronmarston authored
Showing with 5,076 additions and 4,694 deletions.
  1. +63 −63 FractalComposer/build/cobertura-report/com.myronmarston.music.AudioFileCreator.html
  2. +21 −21 FractalComposer/build/cobertura-report/com.myronmarston.music.Dynamic.html
  3. +3 −3 FractalComposer/build/cobertura-report/com.myronmarston.music.GermIsEmptyException.html
  4. +3 −3 FractalComposer/build/cobertura-report/com.myronmarston.music.IncorrectNoteStringException.html
  5. +32 −32 FractalComposer/build/cobertura-report/com.myronmarston.music.Instrument.html
  6. +286 −312 FractalComposer/build/cobertura-report/com.myronmarston.music.MidiNote.html
  7. +775 −861 FractalComposer/build/cobertura-report/com.myronmarston.music.Note.html
  8. +112 −74 FractalComposer/build/cobertura-report/com.myronmarston.music.NoteList.html
  9. +297 −311 FractalComposer/build/cobertura-report/com.myronmarston.music.NoteName.html
  10. +16 −16 FractalComposer/build/cobertura-report/com.myronmarston.music.NoteStringInvalidPartException.html
  11. +4 −4 FractalComposer/build/cobertura-report/com.myronmarston.music.NoteStringParseException.html
  12. +226 −178 FractalComposer/build/cobertura-report/com.myronmarston.music.OutputManager.html
  13. +20 −20 FractalComposer/build/cobertura-report/com.myronmarston.music.SheetMusicCreator.html
  14. +32 −32 FractalComposer/build/cobertura-report/com.myronmarston.music.Tempo.html
  15. +45 −21 FractalComposer/build/cobertura-report/com.myronmarston.music.scales.ChromaticScale.html
  16. +7 −7 FractalComposer/build/cobertura-report/com.myronmarston.music.scales.HarmonicMinorScale.html
  17. +3 −3 FractalComposer/build/cobertura-report/com.myronmarston.music.scales.InvalidKeySignatureException.html
  18. +192 −177 FractalComposer/build/cobertura-report/com.myronmarston.music.scales.KeySignature.html
  19. +9 −9 FractalComposer/build/cobertura-report/com.myronmarston.music.scales.MajorPentatonicScale.html
  20. +9 −9 FractalComposer/build/cobertura-report/com.myronmarston.music.scales.MajorScale.html
  21. +9 −9 FractalComposer/build/cobertura-report/com.myronmarston.music.scales.MinorPentatonicScale.html
  22. +38 −42 FractalComposer/build/cobertura-report/com.myronmarston.music.scales.MinorScale.html
  23. +320 −281 FractalComposer/build/cobertura-report/com.myronmarston.music.scales.Scale.html
  24. +21 −21 FractalComposer/build/cobertura-report/com.myronmarston.music.scales.Tonality.html
  25. +20 −20 FractalComposer/build/cobertura-report/com.myronmarston.music.settings.AbstractVoiceOrSection.html
  26. +345 −0 FractalComposer/build/cobertura-report/com.myronmarston.music.settings.AbstractVoiceOrSectionSettings.html
  27. +504 −527 FractalComposer/build/cobertura-report/com.myronmarston.music.settings.FractalPiece.html
  28. +3 −3 FractalComposer/build/cobertura-report/com.myronmarston.music.settings.InvalidTimeSignatureException.html
  29. +3 −3 FractalComposer/build/cobertura-report/com.myronmarston.music.settings.NonPositiveTimeSignatureException.html
  30. +395 −223 FractalComposer/build/cobertura-report/com.myronmarston.music.settings.Section.html
  31. +128 −184 FractalComposer/build/cobertura-report/com.myronmarston.music.settings.SectionSettings.html
  32. +119 −110 FractalComposer/build/cobertura-report/com.myronmarston.music.settings.SelfSimilaritySettings.html
  33. +60 −60 FractalComposer/build/cobertura-report/com.myronmarston.music.settings.TimeSignature.html
  34. +3 −3 ...r/build/cobertura-report/com.myronmarston.music.settings.TimeSignatureDenominatorNotAPowerOf2Exception.html
  35. +120 −173 FractalComposer/build/cobertura-report/com.myronmarston.music.settings.Voice.html
  36. +57 −57 FractalComposer/build/cobertura-report/com.myronmarston.music.settings.VoiceOrSectionList.html
  37. +325 −334 FractalComposer/build/cobertura-report/com.myronmarston.music.settings.VoiceSection.html
  38. +17 −17 FractalComposer/build/cobertura-report/com.myronmarston.music.settings.VoiceSectionHashMapKey.html
  39. +15 −15 FractalComposer/build/cobertura-report/com.myronmarston.music.settings.VoiceSectionList.html
  40. +177 −238 FractalComposer/build/cobertura-report/com.myronmarston.music.settings.VoiceSettings.html
  41. +12 −12 FractalComposer/build/cobertura-report/com.myronmarston.music.transformers.InversionTransformer.html
  42. +11 −11 FractalComposer/build/cobertura-report/com.myronmarston.music.transformers.OctaveTransformer.html
  43. +5 −5 FractalComposer/build/cobertura-report/com.myronmarston.music.transformers.RetrogradeTransformer.html
  44. +16 −16 FractalComposer/build/cobertura-report/com.myronmarston.music.transformers.RhythmicDurationTransformer.html
  45. +54 −48 FractalComposer/build/cobertura-report/com.myronmarston.music.transformers.SelfSimilarityTransformer.html
  46. +1 −1  FractalComposer/build/cobertura-report/com.myronmarston.music.transformers.Transformer.html
  47. +12 −12 FractalComposer/build/cobertura-report/com.myronmarston.music.transformers.TransposeTransformer.html
  48. +49 −31 FractalComposer/build/cobertura-report/com.myronmarston.music.transformers.VolumeTransformer.html
  49. +16 −16 FractalComposer/build/cobertura-report/com.myronmarston.util.AbstractPublisher.html
  50. +27 −27 FractalComposer/build/cobertura-report/com.myronmarston.util.ClassHelper.html
  51. +39 −39 FractalComposer/build/cobertura-report/com.myronmarston.util.FileHelper.html
Sorry, we could not display the entire diff because it was too big.
View
126 FractalComposer/build/cobertura-report/com.myronmarston.music.AudioFileCreator.html
@@ -90,11 +90,11 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @author Myron</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;36</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;37</td> <td class="nbHitsCovered">&nbsp;23</td> <td class="src"><pre class="src">&nbsp;<span class="keyword">public</span> <span class="keyword">class</span> AudioFileCreator {</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;37</td> <td class="nbHitsCovered">&nbsp;38</td> <td class="src"><pre class="src">&nbsp;<span class="keyword">public</span> <span class="keyword">class</span> AudioFileCreator {</pre></td></tr>
<tr> <td class="numLine">&nbsp;38</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">final</span> OutputManager outputManager; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;39</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> AudioFormat.Encoding MPEG1L3 = Encodings.getEncoding(<span class="string">"MPEG1L3"</span>);</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;40</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> AudioFileFormat.Type MP3 = AudioFileTypes.getType(<span class="string">"MP3"</span>, <span class="string">"mp3"</span>);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;39</td> <td class="nbHitsCovered">&nbsp;34</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> AudioFormat.Encoding MPEG1L3 = Encodings.getEncoding(<span class="string">"MPEG1L3"</span>);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;40</td> <td class="nbHitsCovered">&nbsp;34</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> AudioFileFormat.Type MP3 = AudioFileTypes.getType(<span class="string">"MP3"</span>, <span class="string">"mp3"</span>);</pre></td></tr>
<tr> <td class="numLine">&nbsp;41</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> <span class="keyword">double</span> MICROSECONDS_PER_SECOND = 1000000.0;</pre></td></tr>
<tr> <td class="numLine">&nbsp;42</td> <td class="nbHits">&nbsp;</td>
@@ -111,22 +111,22 @@
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
<tr> <td class="numLine">&nbsp;48</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;49</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; Synthesizer synth = <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;49</td> <td class="nbHitsCovered">&nbsp;34</td> <td class="src"><pre class="src">&nbsp; Synthesizer synth = <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;50</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">try</span> {</pre></td></tr>
<tr> <td class="numLine">&nbsp;51</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;52</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; synth = AudioFileCreator.getAudioSynthesizer();</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;52</td> <td class="nbHitsCovered">&nbsp;34</td> <td class="src"><pre class="src">&nbsp; synth = AudioFileCreator.getAudioSynthesizer();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;53</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;54</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 occured while getting the Midi synthesizer."</span>);</span></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;55</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;56</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; SOUNDBANK = synth.getDefaultSoundbank();</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;55</td> <td class="nbHitsCovered">&nbsp;34</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;56</td> <td class="nbHitsCovered">&nbsp;34</td> <td class="src"><pre class="src">&nbsp; SOUNDBANK = synth.getDefaultSoundbank();</pre></td></tr>
<tr> <td class="numLine">&nbsp;57</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;58</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">if</span> (synth != <span class="keyword">null</span>) synth.close();</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;58</td> <td class="nbHitsCovered">&nbsp;34</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">if</span> (synth != <span class="keyword">null</span>) synth.close();</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;21</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;60</td> <td class="nbHitsCovered">&nbsp;34</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;</pre></td></tr>
<tr> <td class="numLine">&nbsp;62</td> <td class="nbHits">&nbsp;</td>
@@ -141,9 +141,9 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> * to convert to a wav or mp3 file.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;67</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;68</td> <td class="nbHitsCovered">&nbsp;3</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> AudioFileCreator(OutputManager outputManager) {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;69</td> <td class="nbHitsCovered">&nbsp;3</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.outputManager = outputManager;</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;70</td> <td class="nbHitsCovered">&nbsp;3</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;68</td> <td class="nbHitsCovered">&nbsp;6</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> AudioFileCreator(OutputManager outputManager) {</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;69</td> <td class="nbHitsCovered">&nbsp;6</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.outputManager = outputManager;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;70</td> <td class="nbHitsCovered">&nbsp;6</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; </pre></td></tr>
<tr> <td class="numLine">&nbsp;72</td> <td class="nbHits">&nbsp;</td>
@@ -164,41 +164,41 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;80</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">protected</span> <span class="keyword">void</span> saveWavFile(<span class="keyword">final</span> String wavFileName) <span class="keyword">throws</span> MidiUnavailableException, IOException {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;81</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; AudioSynthesizer synth = <span class="keyword">null</span>;</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;82</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; AudioInputStream stream1 = <span class="keyword">null</span>;</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;83</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; AudioInputStream stream2 = <span class="keyword">null</span>; </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;81</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; AudioSynthesizer synth = <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;82</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; AudioInputStream stream1 = <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;83</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; AudioInputStream stream2 = <span class="keyword">null</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">try</span> {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;85</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; synth = AudioFileCreator.getAudioSynthesizer();</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;85</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; synth = AudioFileCreator.getAudioSynthesizer();</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>
<td class="src"><pre class="src">&nbsp; <span class="comment">// Open AudioStream from AudioSynthesizer with default values</span></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;88</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; stream1 = synth.openStream(<span class="keyword">null</span>, <span class="keyword">null</span>); </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;88</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; stream1 = synth.openStream(<span class="keyword">null</span>, <span class="keyword">null</span>); </pre></td></tr>
<tr> <td class="numLine">&nbsp;89</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;90</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// Play Sequence into AudioSynthesizer Receiver.</span></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;91</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">double</span> totalLength = <span class="keyword">this</span>.sendOutputSequenceMidiEvents(synth.getReceiver());</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;91</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">double</span> totalLength = <span class="keyword">this</span>.sendOutputSequenceMidiEvents(synth.getReceiver());</pre></td></tr>
<tr> <td class="numLine">&nbsp;92</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;93</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// Calculate how long the WAVE file needs to be.</span></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;94</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">long</span> len = (<span class="keyword">long</span>) (stream1.getFormat().getFrameRate() * (totalLength + 4));</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;95</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; stream2 = <span class="keyword">new</span> AudioInputStream(stream1, stream1.getFormat(), len);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;94</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">long</span> len = (<span class="keyword">long</span>) (stream1.getFormat().getFrameRate() * (totalLength + 4));</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;95</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; stream2 = <span class="keyword">new</span> AudioInputStream(stream1, stream1.getFormat(), len);</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="numLine">&nbsp;97</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// Write the wave file to disk</span></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;98</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; AudioSystem.write(stream2, AudioFileFormat.Type.WAVE, <span class="keyword">new</span> File(wavFileName)); </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;98</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; AudioSystem.write(stream2, AudioFileFormat.Type.WAVE, <span class="keyword">new</span> File(wavFileName)); </pre></td></tr>
<tr> <td class="numLine">&nbsp;99</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;100</td> <td class="nbHitsUncovered"><a title="Line 100: Conditional coverage 50% (1/2).">&nbsp;4</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 100: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (stream1 != <span class="keyword">null</span>) stream1.close();</a></span></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;101</td> <td class="nbHitsUncovered"><a title="Line 101: Conditional coverage 50% (1/2).">&nbsp;4</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 101: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (stream2 != <span class="keyword">null</span>) stream2.close();</a></span></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;102</td> <td class="nbHitsUncovered"><a title="Line 102: Conditional coverage 50% (1/2).">&nbsp;4</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 102: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (synth != <span class="keyword">null</span>) synth.close();</a></span></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;100</td> <td class="nbHitsUncovered"><a title="Line 100: Conditional coverage 50% (1/2).">&nbsp;8</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 100: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (stream1 != <span class="keyword">null</span>) stream1.close();</a></span></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;101</td> <td class="nbHitsUncovered"><a title="Line 101: Conditional coverage 50% (1/2).">&nbsp;8</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 101: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (stream2 != <span class="keyword">null</span>) stream2.close();</a></span></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;102</td> <td class="nbHitsUncovered"><a title="Line 102: Conditional coverage 50% (1/2).">&nbsp;8</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 102: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (synth != <span class="keyword">null</span>) synth.close();</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;103</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;104</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;104</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; }</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>
@@ -215,15 +215,15 @@
<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">protected</span> <span class="keyword">void</span> saveMp3File(<span class="keyword">final</span> String mp3FileName) <span class="keyword">throws</span> Exception {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;113</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; FileHelper.createAndUseTempFile(<span class="string">"TempWav"</span>, <span class="string">".wav"</span>, <span class="keyword">new</span> FileHelper.TempFileUser() {</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;113</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; FileHelper.createAndUseTempFile(<span class="string">"TempWav"</span>, <span class="string">".wav"</span>, <span class="keyword">new</span> FileHelper.TempFileUser() {</pre></td></tr>
<tr> <td class="numLine">&nbsp;114</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">void</span> useTempFile(String tempFileName) <span class="keyword">throws</span> Exception { </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;115</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; AudioFileCreator.<span class="keyword">this</span>.saveWavFile(tempFileName); </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;116</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; AudioFileCreator.convertWavToMp3(tempFileName, mp3FileName);</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;117</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;115</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; AudioFileCreator.<span class="keyword">this</span>.saveWavFile(tempFileName); </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;116</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; AudioFileCreator.convertWavToMp3(tempFileName, mp3FileName);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;117</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;118</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; });</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;119</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;119</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;120</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
<tr> <td class="numLine">&nbsp;121</td> <td class="nbHits">&nbsp;</td>
@@ -248,22 +248,22 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;131</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">int</span> convertWavToMp3(String wavFileName, String mp3FileName) <span class="keyword">throws</span> UnsupportedAudioFileException, IOException { </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;132</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; AudioInputStream streamToConvert = <span class="keyword">null</span>;</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;133</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; AudioInputStream streamThatCanConvertToMp3 = <span class="keyword">null</span>;</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;134</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; AudioInputStream mp3Stream = <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;132</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; AudioInputStream streamToConvert = <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;133</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; AudioInputStream streamThatCanConvertToMp3 = <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;134</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; AudioInputStream mp3Stream = <span class="keyword">null</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; <span class="keyword">try</span> {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;137</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; streamToConvert = AudioSystem.getAudioInputStream(<span class="keyword">new</span> File(wavFileName)); </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;138</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; streamThatCanConvertToMp3 = AudioFileCreator.getStreamThatCanConvertToMp3(streamToConvert); </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;139</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; mp3Stream = AudioSystem.getAudioInputStream(MPEG1L3, streamToConvert); </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;140</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> AudioSystem.write(mp3Stream, MP3, <span class="keyword">new</span> File(mp3FileName));</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;137</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; streamToConvert = AudioSystem.getAudioInputStream(<span class="keyword">new</span> File(wavFileName)); </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;138</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; streamThatCanConvertToMp3 = AudioFileCreator.getStreamThatCanConvertToMp3(streamToConvert); </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;139</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; mp3Stream = AudioSystem.getAudioInputStream(MPEG1L3, streamToConvert); </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;140</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> AudioSystem.write(mp3Stream, MP3, <span class="keyword">new</span> File(mp3FileName));</pre></td></tr>
<tr> <td class="numLine">&nbsp;141</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;142</td> <td class="nbHitsUncovered"><a title="Line 142: Conditional coverage 50% (1/2).">&nbsp;2</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 142: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (streamToConvert != <span class="keyword">null</span>) streamToConvert.close();</a></span></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;143</td> <td class="nbHitsUncovered"><a title="Line 143: Conditional coverage 50% (1/2).">&nbsp;2</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 143: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (streamThatCanConvertToMp3 != <span class="keyword">null</span>) streamThatCanConvertToMp3.close();</a></span></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;144</td> <td class="nbHitsUncovered"><a title="Line 144: Conditional coverage 50% (1/2).">&nbsp;2</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 144: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (mp3Stream != <span class="keyword">null</span>) mp3Stream.close();</a></span></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;142</td> <td class="nbHitsUncovered"><a title="Line 142: Conditional coverage 50% (1/2).">&nbsp;4</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 142: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (streamToConvert != <span class="keyword">null</span>) streamToConvert.close();</a></span></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;143</td> <td class="nbHitsUncovered"><a title="Line 143: Conditional coverage 50% (1/2).">&nbsp;4</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 143: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (streamThatCanConvertToMp3 != <span class="keyword">null</span>) streamThatCanConvertToMp3.close();</a></span></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;144</td> <td class="nbHitsUncovered"><a title="Line 144: Conditional coverage 50% (1/2).">&nbsp;4</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 144: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (mp3Stream != <span class="keyword">null</span>) mp3Stream.close();</a></span></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>
@@ -286,8 +286,8 @@
<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">private</span> <span class="keyword">static</span> AudioInputStream getStreamThatCanConvertToMp3(AudioInputStream streamToConvert) {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;156</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; AudioFormat sourceFormat = streamToConvert.getFormat();</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;157</td> <td class="nbHitsUncovered"><a title="Line 157: Conditional coverage 50% (1/2).">&nbsp;2</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 157: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (AudioSystem.isConversionSupported(MPEG1L3, sourceFormat)) <span class="keyword">return</span> streamToConvert;</a></span></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;156</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; AudioFormat sourceFormat = streamToConvert.getFormat();</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;157</td> <td class="nbHitsUncovered"><a title="Line 157: Conditional coverage 50% (1/2).">&nbsp;4</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 157: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (AudioSystem.isConversionSupported(MPEG1L3, sourceFormat)) <span class="keyword">return</span> streamToConvert;</a></span></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>
@@ -332,8 +332,8 @@
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">static</span> AudioSynthesizer getAudioSynthesizer() <span class="keyword">throws</span> MidiUnavailableException {</pre></td></tr>
<tr> <td class="numLine">&nbsp;180</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// First check if default synthesizer is AudioSynthesizer.</span></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;181</td> <td class="nbHitsCovered">&nbsp;25</td> <td class="src"><pre class="src">&nbsp; Synthesizer synth = MidiSystem.getSynthesizer();</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;182</td> <td class="nbHitsUncovered"><a title="Line 182: Conditional coverage 50% (1/2).">&nbsp;25</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 182: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (synth <span class="keyword">instanceof</span> AudioSynthesizer) <span class="keyword">return</span> (AudioSynthesizer) synth;</a></span></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;181</td> <td class="nbHitsCovered">&nbsp;42</td> <td class="src"><pre class="src">&nbsp; Synthesizer synth = MidiSystem.getSynthesizer();</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;182</td> <td class="nbHitsUncovered"><a title="Line 182: Conditional coverage 50% (1/2).">&nbsp;42</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 182: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (synth <span class="keyword">instanceof</span> AudioSynthesizer) <span class="keyword">return</span> (AudioSynthesizer) synth;</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;183</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;184</td> <td class="nbHits">&nbsp;</td>
@@ -364,30 +364,30 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;199</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">double</span> sendOutputSequenceMidiEvents(Receiver receiver) {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;200</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; Sequence sequence = <span class="keyword">this</span>.outputManager.getSequence();</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;200</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; Sequence sequence = <span class="keyword">this</span>.outputManager.getSequence();</pre></td></tr>
<tr> <td class="numLine">&nbsp;201</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// this method is only designed to handle the PPQ division type.</span></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;202</td> <td class="nbHitsUncovered"><a title="Line 202: Conditional coverage 50% (2/4) [each condition: 50%, 50%].">&nbsp;4</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 202: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">assert</span> sequence.getDivisionType() == Sequence.PPQ : sequence.getDivisionType(); </a></span></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;202</td> <td class="nbHitsUncovered"><a title="Line 202: Conditional coverage 50% (2/4) [each condition: 50%, 50%].">&nbsp;8</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 202: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">assert</span> sequence.getDivisionType() == Sequence.PPQ : sequence.getDivisionType(); </a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;203</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;204</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> microsecondsPerQtrNote = Tempo.convertToMicrosecondsPerQuarterNote(<span class="keyword">this</span>.outputManager.getFractalPiece().getTempo());</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;205</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> seqRes = sequence.getResolution();</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;206</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">long</span> totalTime = 0;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;204</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> microsecondsPerQtrNote = Tempo.convertToMicrosecondsPerQuarterNote(<span class="keyword">this</span>.outputManager.getFractalPiece().getTempo());</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;205</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> seqRes = sequence.getResolution();</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;206</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">long</span> totalTime = 0;</pre></td></tr>
<tr> <td class="numLine">&nbsp;207</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;208</td> <td class="nbHitsCovered"><a title="Line 208: Conditional coverage 100% (2/2).">&nbsp;12</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 208: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Track track : sequence.getTracks()) {</a></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;209</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">long</span> lastTick = 0;</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;210</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">long</span> curTime = 0;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;208</td> <td class="nbHitsCovered"><a title="Line 208: Conditional coverage 100% (2/2).">&nbsp;24</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 208: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Track track : sequence.getTracks()) {</a></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;209</td> <td class="nbHitsCovered">&nbsp;16</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">long</span> lastTick = 0;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;210</td> <td class="nbHitsCovered">&nbsp;16</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">long</span> curTime = 0;</pre></td></tr>
<tr> <td class="numLine">&nbsp;211</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;212</td> <td class="nbHitsCovered"><a title="Line 212: Conditional coverage 100% (2/2).">&nbsp;52</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 212: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i &lt; track.size(); i++) { </a></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;213</td> <td class="nbHitsCovered">&nbsp;44</td> <td class="src"><pre class="src">&nbsp; MidiEvent event = track.get(i);</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;214</td> <td class="nbHitsCovered">&nbsp;44</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">long</span> tick = event.getTick();</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;215</td> <td class="nbHitsCovered">&nbsp;44</td> <td class="src"><pre class="src">&nbsp; curTime += ((tick - lastTick) * microsecondsPerQtrNote) / seqRes; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;216</td> <td class="nbHitsCovered">&nbsp;44</td> <td class="src"><pre class="src">&nbsp; lastTick = tick;</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;217</td> <td class="nbHitsCovered">&nbsp;44</td> <td class="src"><pre class="src">&nbsp; MidiMessage msg = event.getMessage();</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;218</td> <td class="nbHitsCovered"><a title="Line 218: Conditional coverage 100% (2/2).">&nbsp;44</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 218: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!(msg <span class="keyword">instanceof</span> MetaMessage)) { </a></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;219</td> <td class="nbHitsCovered">&nbsp;24</td> <td class="src"><pre class="src">&nbsp; receiver.send(msg, curTime);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;212</td> <td class="nbHitsCovered"><a title="Line 212: Conditional coverage 100% (2/2).">&nbsp;104</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 212: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i &lt; track.size(); i++) { </a></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;213</td> <td class="nbHitsCovered">&nbsp;88</td> <td class="src"><pre class="src">&nbsp; MidiEvent event = track.get(i);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;214</td> <td class="nbHitsCovered">&nbsp;88</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">long</span> tick = event.getTick();</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;215</td> <td class="nbHitsCovered">&nbsp;88</td> <td class="src"><pre class="src">&nbsp; curTime += ((tick - lastTick) * microsecondsPerQtrNote) / seqRes; </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;216</td> <td class="nbHitsCovered">&nbsp;88</td> <td class="src"><pre class="src">&nbsp; lastTick = tick;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;217</td> <td class="nbHitsCovered">&nbsp;88</td> <td class="src"><pre class="src">&nbsp; MidiMessage msg = event.getMessage();</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;218</td> <td class="nbHitsCovered"><a title="Line 218: Conditional coverage 100% (2/2).">&nbsp;88</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 218: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!(msg <span class="keyword">instanceof</span> MetaMessage)) { </a></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;219</td> <td class="nbHitsCovered">&nbsp;48</td> <td class="src"><pre class="src">&nbsp; receiver.send(msg, curTime);</pre></td></tr>
<tr> <td class="numLine">&nbsp;220</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } </pre></td></tr>
<tr> <td class="numLine">&nbsp;221</td> <td class="nbHits">&nbsp;</td>
@@ -396,18 +396,18 @@
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
<tr> <td class="numLine">&nbsp;223</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// make the total time be the time of the langest track</span></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;224</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; totalTime = Math.max(curTime, totalTime);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;224</td> <td class="nbHitsCovered">&nbsp;16</td> <td class="src"><pre class="src">&nbsp; totalTime = Math.max(curTime, totalTime);</pre></td></tr>
<tr> <td class="numLine">&nbsp;225</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</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="numLineCover">&nbsp;227</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> totalTime / MICROSECONDS_PER_SECOND;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;227</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> totalTime / MICROSECONDS_PER_SECOND;</pre></td></tr>
<tr> <td class="numLine">&nbsp;228</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;229</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 7/3/08 11:02 AM.</div>
+<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 1.9 on 7/7/08 12:35 AM.</div>
</body>
</html>
View
42 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;75</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;27</td> <td class="src"><pre class="src">&nbsp; PPP(10),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;29</td> <td class="nbHitsCovered">&nbsp;27</td> <td class="src"><pre class="src">&nbsp; PP(25),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;30</td> <td class="nbHitsCovered">&nbsp;27</td> <td class="src"><pre class="src">&nbsp; P(50),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;31</td> <td class="nbHitsCovered">&nbsp;27</td> <td class="src"><pre class="src">&nbsp; MP(60),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;32</td> <td class="nbHitsCovered">&nbsp;27</td> <td class="src"><pre class="src">&nbsp; MF(70),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;33</td> <td class="nbHitsCovered">&nbsp;27</td> <td class="src"><pre class="src">&nbsp; F(85),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;34</td> <td class="nbHitsCovered">&nbsp;27</td> <td class="src"><pre class="src">&nbsp; FF(100),</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;35</td> <td class="nbHitsCovered">&nbsp;27</td> <td class="src"><pre class="src">&nbsp; FFF(120);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;27</td> <td class="nbHitsCovered">&nbsp;166</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;46</td> <td class="src"><pre class="src">&nbsp; PPP(10),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;29</td> <td class="nbHitsCovered">&nbsp;46</td> <td class="src"><pre class="src">&nbsp; PP(25),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;30</td> <td class="nbHitsCovered">&nbsp;46</td> <td class="src"><pre class="src">&nbsp; P(50),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;31</td> <td class="nbHitsCovered">&nbsp;46</td> <td class="src"><pre class="src">&nbsp; MP(60),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;32</td> <td class="nbHitsCovered">&nbsp;46</td> <td class="src"><pre class="src">&nbsp; MF(70),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;33</td> <td class="nbHitsCovered">&nbsp;46</td> <td class="src"><pre class="src">&nbsp; F(85),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;34</td> <td class="nbHitsCovered">&nbsp;46</td> <td class="src"><pre class="src">&nbsp; FF(100),</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;35</td> <td class="nbHitsCovered">&nbsp;46</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;216</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;216</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;216</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;40</td> <td class="nbHitsCovered">&nbsp;368</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;368</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;368</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;272</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;1070</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>
@@ -120,21 +120,21 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;58</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">static</span> String getDynamicExampleString() {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;59</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; StringBuilder str = <span class="keyword">new</span> StringBuilder();</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;60</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; Dynamic[] values = Dynamic.values(); <span class="comment">// cache the array...</span></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;59</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; StringBuilder str = <span class="keyword">new</span> StringBuilder();</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;60</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; Dynamic[] values = Dynamic.values(); <span class="comment">// cache the array...</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;61</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;62</td> <td class="nbHitsCovered"><a title="Line 62: Conditional coverage 100% (2/2).">&nbsp;9</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 62: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i &lt; values.length; i++) {</a></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;63</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; str.append(values[i].toString()); </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;62</td> <td class="nbHitsCovered"><a title="Line 62: Conditional coverage 100% (2/2).">&nbsp;18</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 62: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i &lt; values.length; i++) {</a></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;63</td> <td class="nbHitsCovered">&nbsp;16</td> <td class="src"><pre class="src">&nbsp; str.append(values[i].toString()); </pre></td></tr>
<tr> <td class="numLine">&nbsp;64</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;65</td> <td class="nbHitsCovered"><a title="Line 65: Conditional coverage 100% (2/2).">&nbsp;8</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 65: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (i == values.length - 2) str.append(<span class="string">" or "</span>); </a></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;66</td> <td class="nbHitsCovered"><a title="Line 66: Conditional coverage 100% (2/2).">&nbsp;7</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 66: Conditional coverage 100% (2/2)."> <span class="keyword">else</span> <span class="keyword">if</span> (i &lt; values.length - 2) str.append(<span class="string">", "</span>); </a></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;65</td> <td class="nbHitsCovered"><a title="Line 65: Conditional coverage 100% (2/2).">&nbsp;16</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 65: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (i == values.length - 2) str.append(<span class="string">" or "</span>); </a></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;66</td> <td class="nbHitsCovered"><a title="Line 66: Conditional coverage 100% (2/2).">&nbsp;14</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 66: Conditional coverage 100% (2/2)."> <span class="keyword">else</span> <span class="keyword">if</span> (i &lt; values.length - 2) str.append(<span class="string">", "</span>); </a></pre></td></tr>
<tr> <td class="numLine">&nbsp;67</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;68</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;69</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> str.toString(); </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;69</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> str.toString(); </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>
@@ -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 7/3/08 11:02 AM.</div>
+<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 1.9 on 7/7/08 12:35 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;2</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;2</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 7/3/08 11:02 AM.</div>
+<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 1.9 on 7/7/08 12:35 AM.</div>
</body>
</html>
View
6 FractalComposer/build/cobertura-report/com.myronmarston.music.IncorrectNoteStringException.html
@@ -89,12 +89,12 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;36</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> IncorrectNoteStringException(String noteString) {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;37</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">super</span>(noteString, String.format(<span class="string">"Error: the note string '%s' was entered incorrectly and could not be parsed."</span>, noteString));</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;38</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; } </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;37</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">super</span>(noteString, String.format(<span class="string">"Error: the note string '%s' was entered incorrectly and could not be parsed."</span>, noteString));</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;38</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; } </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>
</table>
-<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 1.9 on 7/3/08 11:02 AM.</div>
+<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 1.9 on 7/7/08 12:35 AM.</div>
</body>
</html>
View
64 FractalComposer/build/cobertura-report/com.myronmarston.music.Instrument.html
@@ -79,7 +79,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @author Myron</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;31</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;32</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp;<span class="keyword">public</span> <span class="keyword">class</span> Instrument {</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;32</td> <td class="nbHitsCovered">&nbsp;34</td> <td class="src"><pre class="src">&nbsp;<span class="keyword">public</span> <span class="keyword">class</span> Instrument {</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">private</span> <span class="keyword">final</span> javax.sound.midi.Instrument midiInstrument;</pre></td></tr>
<tr> <td class="numLine">&nbsp;34</td> <td class="nbHits">&nbsp;</td>
@@ -108,9 +108,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;46</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;47</td> <td class="nbHitsCovered">&nbsp;2877</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;48</td> <td class="nbHitsCovered">&nbsp;2877</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.midiInstrument = midiInstrument; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;49</td> <td class="nbHitsCovered">&nbsp;2877</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;47</td> <td class="nbHitsCovered">&nbsp;4658</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;48</td> <td class="nbHitsCovered">&nbsp;4658</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.midiInstrument = midiInstrument; </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;49</td> <td class="nbHitsCovered">&nbsp;4658</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;50</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
<tr> <td class="numLine">&nbsp;51</td> <td class="nbHits">&nbsp;</td>
@@ -121,38 +121,38 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></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">static</span> {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;55</td> <td class="nbHitsCovered">&nbsp;21</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;56</td> <td class="nbHitsCovered">&nbsp;21</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;55</td> <td class="nbHitsCovered">&nbsp;34</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;56</td> <td class="nbHitsCovered">&nbsp;34</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="numLine">&nbsp;57</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; String trimmedName;</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="numLineCover">&nbsp;59</td> <td class="nbHitsCovered">&nbsp;4956</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">for</span> (javax.sound.midi.Instrument i : AudioFileCreator.SOUNDBANK.getInstruments()) {</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;59</td> <td class="nbHitsCovered">&nbsp;8024</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">for</span> (javax.sound.midi.Instrument i : AudioFileCreator.SOUNDBANK.getInstruments()) {</pre></td></tr>
<tr> <td class="numLine">&nbsp;60</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;61</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;62</td> <td class="nbHitsCovered">&nbsp;4935</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;63</td> <td class="nbHitsCovered">&nbsp;2877</td> <td class="src"><pre class="src">&nbsp; trimmedName = i.getName().trim(); <span class="comment">// many instruments have extra spaces on their name</span></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;64</td> <td class="nbHitsCovered">&nbsp;2877</td> <td class="src"><pre class="src">&nbsp; map.put(trimmedName.toLowerCase(Locale.ENGLISH), <span class="keyword">new</span> Instrument(i));</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;65</td> <td class="nbHitsCovered">&nbsp;2877</td> <td class="src"><pre class="src">&nbsp; list.add(trimmedName);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;62</td> <td class="nbHitsCovered">&nbsp;7990</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;63</td> <td class="nbHitsCovered">&nbsp;4658</td> <td class="src"><pre class="src">&nbsp; trimmedName = i.getName().trim(); <span class="comment">// many instruments have extra spaces on their name</span></pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;64</td> <td class="nbHitsCovered">&nbsp;4658</td> <td class="src"><pre class="src">&nbsp; map.put(trimmedName.toLowerCase(Locale.ENGLISH), <span class="keyword">new</span> Instrument(i));</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;65</td> <td class="nbHitsCovered">&nbsp;4658</td> <td class="src"><pre class="src">&nbsp; list.add(trimmedName);</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>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;68</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;69</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; INSTRUMENT_MAP = Collections.unmodifiableMap(map); </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;70</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; AVAILABLE_INSTRUMENTS = Collections.unmodifiableList(list);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;69</td> <td class="nbHitsCovered">&nbsp;34</td> <td class="src"><pre class="src">&nbsp; INSTRUMENT_MAP = Collections.unmodifiableMap(map); </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;70</td> <td class="nbHitsCovered">&nbsp;34</td> <td class="src"><pre class="src">&nbsp; AVAILABLE_INSTRUMENTS = Collections.unmodifiableList(list);</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;21</td> <td class="src"><pre class="src">&nbsp; Instrument temp = <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;72</td> <td class="nbHitsCovered">&nbsp;34</td> <td class="src"><pre class="src">&nbsp; Instrument temp = <span class="keyword">null</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="comment">// try to get a piano as the default instrument...</span></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;74</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">for</span> (String instrumentName : AVAILABLE_INSTRUMENTS) {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;75</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">if</span> (instrumentName.contains(<span class="string">"Piano"</span>)) {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;76</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; temp = getInstrument(instrumentName);</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;77</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">break</span>;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;74</td> <td class="nbHitsCovered">&nbsp;34</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">for</span> (String instrumentName : AVAILABLE_INSTRUMENTS) {</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;75</td> <td class="nbHitsCovered">&nbsp;34</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">if</span> (instrumentName.contains(<span class="string">"Piano"</span>)) {</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;76</td> <td class="nbHitsCovered">&nbsp;34</td> <td class="src"><pre class="src">&nbsp; temp = getInstrument(instrumentName);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;77</td> <td class="nbHitsCovered">&nbsp;34</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">break</span>;</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>
@@ -161,12 +161,12 @@
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
<tr> <td class="numLine">&nbsp;81</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// otherwise, just pick the first instrument...</span></pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;82</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">if</span> (temp == <span class="keyword">null</span>) temp = getInstrument(list.get(0));</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;82</td> <td class="nbHitsCovered">&nbsp;34</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">if</span> (temp == <span class="keyword">null</span>) temp = getInstrument(list.get(0));</pre></td></tr>
<tr> <td class="numLine">&nbsp;83</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;84</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; DEFAULT = temp; </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;85</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">assert</span> DEFAULT != <span class="keyword">null</span> : <span class="string">"The default instrument could not be found."</span>;</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;86</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;84</td> <td class="nbHitsCovered">&nbsp;34</td> <td class="src"><pre class="src">&nbsp; DEFAULT = temp; </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;85</td> <td class="nbHitsCovered">&nbsp;34</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">assert</span> DEFAULT != <span class="keyword">null</span> : <span class="string">"The default instrument could not be found."</span>;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;86</td> <td class="nbHitsCovered">&nbsp;34</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;87</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;88</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">protected</span> javax.sound.midi.Instrument getMidiInstrument() {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;94</td> <td class="nbHitsCovered">&nbsp;54</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> midiInstrument;</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;94</td> <td class="nbHitsCovered">&nbsp;84</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> midiInstrument;</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;58</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> INSTRUMENT_MAP.get(name.trim().toLowerCase(Locale.ENGLISH));</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;104</td> <td class="nbHitsCovered">&nbsp;2142</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> INSTRUMENT_MAP.get(name.trim().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;321</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> <span class="keyword">this</span>.midiInstrument.getName().trim();</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;113</td> <td class="nbHitsCovered">&nbsp;520</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> <span class="keyword">this</span>.midiInstrument.getName().trim();</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;54</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;84</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;141</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;258</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;141</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;258</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;141</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;258</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;141</td> <td class="src"><pre class="src">&nbsp; } </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;142</td> <td class="nbHitsCovered">&nbsp;258</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;141</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;258</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 7/3/08 11:02 AM.</div>
+<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 1.9 on 7/7/08 12:35 AM.</div>
</body>
</html>
View
598 FractalComposer/build/cobertura-report/com.myronmarston.music.MidiNote.html
@@ -12,7 +12,7 @@
<div class="separator">&nbsp;</div>
<table class="report">
<thead><tr> <td class="heading">Classes in this File</td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Line Coverage</a></td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Branch Coverage</a></td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Complexity</a></td></tr></thead>
- <tr><td><a href="com.myronmarston.music.MidiNote.html">MidiNote</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">100%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:100px"><span class="text">52/52</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">78%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:77px"><span class="text">14/18</span></div></div></td></tr></table></td><td class="value"><span class="hidden">1.45;</span>1.45</td></tr>
+ <tr><td><a href="com.myronmarston.music.MidiNote.html">MidiNote</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">100%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:100px"><span class="text">90/90</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">72%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:72px"><span class="text">13/18</span></div></div></td></tr></table></td><td class="value"><span class="hidden">1.45;</span>1.45</td></tr>
</table>
<div class="separator">&nbsp;</div>
@@ -60,503 +60,477 @@
<tr> <td class="numLine">&nbsp;21</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;22</td> <td class="nbHits">&nbsp;</td>
- <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> com.myronmarston.music.scales.Scale;</pre></td></tr>
-<tr> <td class="numLine">&nbsp;23</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> javax.sound.midi.InvalidMidiDataException;</pre></td></tr>
-<tr> <td class="numLine">&nbsp;24</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;23</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> javax.sound.midi.MidiEvent;</pre></td></tr>
-<tr> <td class="numLine">&nbsp;25</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;24</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> javax.sound.midi.ShortMessage;</pre></td></tr>
-<tr> <td class="numLine">&nbsp;26</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;25</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
-<tr> <td class="numLine">&nbsp;27</td> <td class="nbHits">&nbsp;</td>
+<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="numLine">&nbsp;28</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;27</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * This class is responsible to create the Midi events for a note. You should </span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;29</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;28</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * not create Midi note on and note off events on your own; use this class</span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;30</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;29</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * instead.</span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;31</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;30</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * </span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;32</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;31</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @author Myron</span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;33</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;32</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;34</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;33</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">public</span> <span class="keyword">class</span> MidiNote {</pre></td></tr>
-<tr> <td class="numLine">&nbsp;35</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;34</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">int</span> pitch; <span class="comment">// 60 = middle C; each value is a half-step</span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;36</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;35</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">long</span> startTime; <span class="comment">// when the note should start playing, in midi ticks</span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;37</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;36</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">long</span> duration; <span class="comment">// how long the note should last, in midi ticks</span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;38</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;37</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">int</span> channel; <span class="comment">// which of the 16 channels this note is on</span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;39</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;38</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">int</span> velocity; <span class="comment">// the loudness or softness of the note </span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;40</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;39</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> MidiEvent noteOnEvent;</pre></td></tr>
-<tr> <td class="numLine">&nbsp;41</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;40</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> MidiEvent noteOffEvent; </pre></td></tr>
-<tr> <td class="numLine">&nbsp;42</td> <td class="nbHits">&nbsp;</td>
+<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="numLine">&nbsp;43</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;42</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;44</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;43</td> <td class="nbHits">&nbsp;</td>
<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>
+<tr> <td class="numLine">&nbsp;44</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;27</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;45</td> <td class="nbHitsCovered">&nbsp;44</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;2</td> <td class="src"><pre class="src">&nbsp; </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>
<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>
+<tr> <td class="numLine">&nbsp;48</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * The default channel of the note--0.</span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;50</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;49</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;51</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;50</td> <td class="nbHits">&nbsp;</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_CHANNEL = 0; </pre></td></tr>
-<tr> <td class="numLine">&nbsp;52</td> <td class="nbHits">&nbsp;</td>
+<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;53</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;52</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;54</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;53</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * The minimum chanel value.</span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;55</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;54</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;56</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;55</td> <td class="nbHits">&nbsp;</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> MIN_CHANNEL = 0; </pre></td></tr>
-<tr> <td class="numLine">&nbsp;57</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;56</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
-<tr> <td class="numLine">&nbsp;58</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;57</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;59</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;58</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * The maximum channel value.</span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;60</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;59</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;61</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;60</td> <td class="nbHits">&nbsp;</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> MAX_CHANNEL = 15;</pre></td></tr>
-<tr> <td class="numLine">&nbsp;62</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;61</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; </pre></td></tr>
-<tr> <td class="numLine">&nbsp;63</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;62</td> <td class="nbHits">&nbsp;</td>
<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>
+<tr> <td class="numLine">&nbsp;63</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * The maximum allowed velocity, 127.</span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;65</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;64</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;66</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;65</td> <td class="nbHits">&nbsp;</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> MAX_VELOCITY = 127; </pre></td></tr>
-<tr> <td class="numLine">&nbsp;67</td> <td class="nbHits">&nbsp;</td>
+<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;68</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;67</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;69</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;68</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * The minimum allowed velocity, 0.</span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;70</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;69</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;71</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;70</td> <td class="nbHits">&nbsp;</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> MIN_VELOCITY = 0;</pre></td></tr>
-<tr> <td class="numLine">&nbsp;72</td> <td class="nbHits">&nbsp;</td>
+<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="numLine">&nbsp;73</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;72</td> <td class="nbHits">&nbsp;</td>
<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="comment"> * An offset that provides a brief moment of silence at the start of a midi </span></pre></td></tr>
<tr> <td class="numLine">&nbsp;74</td> <td class="nbHits">&nbsp;</td>
- <td class="src"><pre class="src">&nbsp;<span class="comment"> * Constructor. Takes all of the main parameters of a MidiNote.</span></pre></td></tr>
+ <td class="src"><pre class="src">&nbsp;<span class="comment"> * sequence. Without this, sometimes there is a loud annoying sound at </span></pre></td></tr>
<tr> <td class="numLine">&nbsp;75</td> <td class="nbHits">&nbsp;</td>
- <td class="src"><pre class="src">&nbsp;<span class="comment"> * </span></pre></td></tr>
+ <td class="src"><pre class="src">&nbsp;<span class="comment"> * the start of playback.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;76</td> <td class="nbHits">&nbsp;</td>
- <td class="src"><pre class="src">&nbsp;<span class="comment"> * @param pitch the pitch of the note. 60 is middle C</span></pre></td></tr>
+ <td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;77</td> <td class="nbHits">&nbsp;</td>
- <td class="src"><pre class="src">&nbsp;<span class="comment"> * @param startTime when the note should start playing, in midi ticks</span></pre></td></tr>
+ <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> MIDI_SEQUENCE_START_SILENCE_TICK_OFFSET = 1;</pre></td></tr>
<tr> <td class="numLine">&nbsp;78</td> <td class="nbHits">&nbsp;</td>
- <td class="src"><pre class="src">&nbsp;<span class="comment"> * @param duration how long the note should last, in midi ticks</span></pre></td></tr>
+ <td class="src"><pre class="src">&nbsp; </pre></td></tr>
<tr> <td class="numLine">&nbsp;79</td> <td class="nbHits">&nbsp;</td>
- <td class="src"><pre class="src">&nbsp;<span class="comment"> * @param channel which of the 16 channels (0-15) to place the note on</span></pre></td></tr>
+ <td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;80</td> <td class="nbHits">&nbsp;</td>
- <td class="src"><pre class="src">&nbsp;<span class="comment"> * @param velocity the volume of the note, 0-127</span></pre></td></tr>
+ <td class="src"><pre class="src">&nbsp;<span class="comment"> * Constructor. Takes all of the main parameters of a MidiNote.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;81</td> <td class="nbHits">&nbsp;</td>
+ <td class="src"><pre class="src">&nbsp;<span class="comment"> * </span></pre></td></tr>
+<tr> <td class="numLine">&nbsp;82</td> <td class="nbHits">&nbsp;</td>
+ <td class="src"><pre class="src">&nbsp;<span class="comment"> * @param pitch the pitch of the note. 60 is middle C</span></pre></td></tr>
+<tr> <td class="numLine">&nbsp;83</td> <td class="nbHits">&nbsp;</td>
+ <td class="src"><pre class="src">&nbsp;<span class="comment"> * @param startTime when the note should start playing, in midi ticks</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="comment"> * @param duration how long the note should last, in midi ticks</span></pre></td></tr>
+<tr> <td class="numLine">&nbsp;85</td> <td class="nbHits">&nbsp;</td>
+ <td class="src"><pre class="src">&nbsp;<span class="comment"> * @param channel which of the 16 channels (0-15) to place the note on</span></pre></td></tr>
+<tr> <td class="numLine">&nbsp;86</td> <td class="nbHits">&nbsp;</td>
+ <td class="src"><pre class="src">&nbsp;<span class="comment"> * @param velocity the volume of the note, 0-127</span></pre></td></tr>
+<tr> <td class="numLine">&nbsp;87</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;82</td> <td class="nbHitsCovered">&nbsp;7</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> MidiNote(<span class="keyword">int</span> pitch, <span class="keyword">long</span> startTime, <span class="keyword">long</span> duration, <span class="keyword">int</span> channel, <span class="keyword">int</span> velocity) {</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;83</td> <td class="nbHitsCovered">&nbsp;7</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.setPitch(pitch);</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;84</td> <td class="nbHitsCovered">&nbsp;7</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.setStartTime(startTime);</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;85</td> <td class="nbHitsCovered">&nbsp;7</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.setDuration(duration);</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;86</td> <td class="nbHitsCovered">&nbsp;7</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.setChannel(channel);</pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;87</td> <td class="nbHitsCovered">&nbsp;7</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.setVelocity(velocity); </pre></td></tr>
-<tr> <td class="numLineCover">&nbsp;88</td> <td class="nbHitsCovered">&nbsp;7</td> <td class="src"><pre class="src">&nbsp; } </pre></td></tr>
-<tr> <td class="numLine">&nbsp;89</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLineCover">&nbsp;88</td> <td class="nbHitsCovered">&nbsp;14</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> MidiNote(<span class="keyword">int</span> pitch, <span class="keyword">long</span> startTime, <span class="keyword">long</span> duration, <span class="keyword">int</span> channel, <span class="keyword">int</span> velocity) {</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;89</td> <td class="nbHitsCovered">&nbsp;14</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.setPitch(pitch);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;90</td> <td class="nbHitsCovered">&nbsp;14</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.setStartTime(startTime);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;91</td> <td class="nbHitsCovered">&nbsp;14</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.setDuration(duration);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;92</td> <td class="nbHitsCovered">&nbsp;14</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.setChannel(channel);</pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;93</td> <td class="nbHitsCovered">&nbsp;14</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.setVelocity(velocity); </pre></td></tr>
+<tr> <td class="numLineCover">&nbsp;94</td> <td class="nbHitsCovered">&nbsp;14</td> <td class="src"><pre class="src">&nbsp; } </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;90</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;96</td> <td class="nbHits">&nbsp;</td>
<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>
+<tr> <td class="numLine">&nbsp;97</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Constructor. Creates a MidiNote with the default velocity.</span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;92</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;98</td> <td class="nbHits">&nbsp;</td>
<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>
+<tr> <td class="numLine">&nbsp;99</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param pitch the pitch of the note. 60 is middle C</span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;94</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;100</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param startTime when the note should start playing, in midi ticks</span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;95</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;101</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param duration how long the note should last, in midi ticks</span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;96</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;102</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param channel which of the 16 channels (0-15) to place the note on</span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;97</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;103</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLine">&nbsp;98</td> <td class="nbHits">&nbsp;</td>
+<tr> <td class="numLine">&nbsp;104</td> <