midilib 1.2.1 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. data/ChangeLog +3 -1
  2. data/Credits +6 -1
  3. data/README.rdoc +41 -15
  4. data/Rakefile +3 -11
  5. data/TODO.rdoc +4 -7
  6. data/examples/from_scratch.rb +2 -2
  7. data/examples/measures_mbt.rb +1 -1
  8. data/examples/print_program_changes.rb +1 -1
  9. data/examples/strings.rb +1 -1
  10. data/examples/transpose.rb +1 -1
  11. data/html/Array.html +382 -0
  12. data/html/IO.html +277 -0
  13. data/html/MIDI.html +829 -0
  14. data/html/MIDI/ActiveSense.html +317 -0
  15. data/html/MIDI/ChannelEvent.html +347 -0
  16. data/html/MIDI/ChannelPressure.html +379 -0
  17. data/html/MIDI/Clock.html +317 -0
  18. data/html/MIDI/Continue.html +317 -0
  19. data/html/MIDI/Controller.html +398 -0
  20. data/html/MIDI/Event.html +659 -0
  21. data/html/MIDI/IO.html +238 -0
  22. data/html/MIDI/IO/MIDIFile.html +2269 -0
  23. data/html/MIDI/IO/SeqReader.html +1051 -0
  24. data/html/MIDI/IO/SeqWriter.html +706 -0
  25. data/html/MIDI/KeySig.html +487 -0
  26. data/html/MIDI/Marker.html +275 -0
  27. data/html/MIDI/Measure.html +479 -0
  28. data/html/MIDI/Measures.html +416 -0
  29. data/html/MIDI/MetaEvent.html +617 -0
  30. data/html/MIDI/NoteEvent.html +459 -0
  31. data/html/MIDI/NoteOff.html +341 -0
  32. data/html/MIDI/NoteOn.html +341 -0
  33. data/html/MIDI/PitchBend.html +380 -0
  34. data/html/MIDI/PolyPressure.html +390 -0
  35. data/html/MIDI/ProgramChange.html +379 -0
  36. data/html/MIDI/Realtime.html +354 -0
  37. data/html/MIDI/Sequence.html +1063 -0
  38. data/html/MIDI/SongPointer.html +380 -0
  39. data/html/MIDI/SongSelect.html +379 -0
  40. data/html/MIDI/Start.html +317 -0
  41. data/html/MIDI/Stop.html +317 -0
  42. data/html/MIDI/SystemCommon.html +275 -0
  43. data/html/MIDI/SystemExclusive.html +382 -0
  44. data/html/MIDI/SystemReset.html +317 -0
  45. data/html/MIDI/Tempo.html +519 -0
  46. data/html/MIDI/TimeSig.html +524 -0
  47. data/html/MIDI/Track.html +859 -0
  48. data/html/MIDI/TuneRequest.html +354 -0
  49. data/html/MIDI/Utils.html +350 -0
  50. data/html/README_rdoc.html +882 -0
  51. data/html/TODO_rdoc.html +215 -0
  52. data/html/created.rid +14 -0
  53. data/html/images/brick.png +0 -0
  54. data/html/images/brick_link.png +0 -0
  55. data/html/images/bug.png +0 -0
  56. data/html/images/bullet_black.png +0 -0
  57. data/html/images/bullet_toggle_minus.png +0 -0
  58. data/html/images/bullet_toggle_plus.png +0 -0
  59. data/html/images/date.png +0 -0
  60. data/html/images/find.png +0 -0
  61. data/html/images/loadingAnimation.gif +0 -0
  62. data/html/images/macFFBgHack.png +0 -0
  63. data/html/images/package.png +0 -0
  64. data/html/images/page_green.png +0 -0
  65. data/html/images/page_white_text.png +0 -0
  66. data/html/images/page_white_width.png +0 -0
  67. data/html/images/plugin.png +0 -0
  68. data/html/images/ruby.png +0 -0
  69. data/html/images/tag_green.png +0 -0
  70. data/html/images/wrench.png +0 -0
  71. data/html/images/wrench_orange.png +0 -0
  72. data/html/images/zoom.png +0 -0
  73. data/html/index.html +1266 -0
  74. data/html/js/darkfish.js +116 -0
  75. data/html/js/jquery.js +32 -0
  76. data/html/js/quicksearch.js +114 -0
  77. data/html/js/thickbox-compressed.js +10 -0
  78. data/html/lib/midilib/consts_rb.html +55 -0
  79. data/html/lib/midilib/event_rb.html +56 -0
  80. data/html/lib/midilib/info_rb.html +52 -0
  81. data/html/lib/midilib/io/midifile_rb.html +54 -0
  82. data/html/lib/midilib/io/seqreader_rb.html +58 -0
  83. data/html/lib/midilib/io/seqwriter_rb.html +59 -0
  84. data/html/lib/midilib/measure_rb.html +54 -0
  85. data/html/lib/midilib/sequence_rb.html +58 -0
  86. data/html/lib/midilib/track_rb.html +54 -0
  87. data/html/lib/midilib/utils_rb.html +52 -0
  88. data/html/lib/midilib_rb.html +71 -0
  89. data/html/rdoc.css +706 -0
  90. data/install.rb +1 -1
  91. data/lib/midilib/event.rb +11 -77
  92. data/lib/midilib/info.rb +4 -4
  93. data/lib/midilib/io/seqreader.rb +2 -2
  94. data/lib/midilib/io/seqwriter.rb +1 -1
  95. data/lib/midilib/sequence.rb +1 -1
  96. data/lib/midilib/track.rb +54 -8
  97. data/test/test_event.rb +4 -62
  98. data/test/test_sequence.rb +1 -1
  99. data/test/test_track.rb +39 -5
  100. metadata +102 -9
@@ -12,7 +12,7 @@ class SequenceTester < Test::Unit::TestCase
12
12
  @seq = MIDI::Sequence.new
13
13
  @track = MIDI::Track.new(@seq)
14
14
  @seq.tracks << @track
15
- 3.times { @track.events << MIDI::NoteOnEvent.new(0, 64, 64, 100) }
15
+ 3.times { @track.events << MIDI::NoteOn.new(0, 64, 64, 100) }
16
16
  @track.recalc_times
17
17
  end
18
18
 
@@ -12,7 +12,7 @@ class TrackTester < Test::Unit::TestCase
12
12
  @seq = MIDI::Sequence.new
13
13
  @track = MIDI::Track.new(@seq)
14
14
  @seq.tracks << @track
15
- 3.times { @track.events << MIDI::NoteOnEvent.new(0, 64, 64, 100) }
15
+ 3.times { @track.events << MIDI::NoteOn.new(0, 64, 64, 100) }
16
16
  @track.recalc_times
17
17
  end
18
18
 
@@ -26,7 +26,7 @@ class TrackTester < Test::Unit::TestCase
26
26
  end
27
27
 
28
28
  def test_append_event
29
- @track.events << MIDI::NoteOnEvent.new(0, 64, 64, 100)
29
+ @track.events << MIDI::NoteOn.new(0, 64, 64, 100)
30
30
  @track.recalc_times
31
31
  assert_equal(4, @track.events.length)
32
32
  4.times { | i |
@@ -36,7 +36,7 @@ class TrackTester < Test::Unit::TestCase
36
36
 
37
37
  def test_append_list
38
38
  @track.events +=
39
- (1..12).collect { | i | MIDI::NoteOnEvent.new(0, 64, 64, 3) }
39
+ (1..12).collect { | i | MIDI::NoteOn.new(0, 64, 64, 3) }
40
40
  @track.recalc_times
41
41
 
42
42
  3.times { | i |
@@ -51,7 +51,7 @@ class TrackTester < Test::Unit::TestCase
51
51
  end
52
52
 
53
53
  def test_insert
54
- @track.events[1,0] = MIDI::NoteOnEvent.new(0, 64, 64, 3)
54
+ @track.events[1,0] = MIDI::NoteOn.new(0, 64, 64, 3)
55
55
  @track.recalc_times
56
56
  assert_equal(100, @track.events[0].time_from_start)
57
57
  assert_equal(103, @track.events[1].time_from_start)
@@ -60,7 +60,7 @@ class TrackTester < Test::Unit::TestCase
60
60
  end
61
61
 
62
62
  def test_merge
63
- list = (1..12).collect { | i | MIDI::NoteOnEvent.new(0, 64, 64, 10) }
63
+ list = (1..12).collect { | i | MIDI::NoteOn.new(0, 64, 64, 10) }
64
64
  @track.merge(list)
65
65
  assert_equal(15, @track.events.length)
66
66
  assert_equal(10, @track.events[0].time_from_start)
@@ -135,4 +135,38 @@ class TrackTester < Test::Unit::TestCase
135
135
  assert_equal('foo', @track.instrument)
136
136
  end
137
137
 
138
+ def test_old_note_class_names
139
+ x = MIDI::NoteOn.new(0, 64, 64, 10)
140
+ assert(x.kind_of?(MIDI::NoteOnEvent)) # old name
141
+ x = MIDI::NoteOff.new(0, 64, 64, 10)
142
+ assert(x.kind_of?(MIDI::NoteOffEvent)) # old name
143
+ end
144
+
145
+ def test_mergesort
146
+ @track.events = []
147
+
148
+ # Two events with later start times but earlier in the event list
149
+ e2 = MIDI::NoteOff.new(0, 64, 64, 100)
150
+ e2.time_from_start = 100
151
+ @track.events << e2
152
+
153
+ e3 = MIDI::NoteOn.new(0, 64, 64, 100)
154
+ e3.time_from_start = 100
155
+ @track.events << e3
156
+
157
+ # Earliest start time, latest in the list of events
158
+ e1 = MIDI::NoteOn.new(0, 64, 64, 100)
159
+ e1.time_from_start = 0
160
+ @track.events << e1
161
+
162
+ # Recalc sorts. Make sure note off/note on pair at t 100 are in the
163
+ # correct order.
164
+ @track.recalc_delta_from_times
165
+
166
+ # These tests would fail before we moved to mergesort.
167
+ assert_equal(e1, @track.events[0])
168
+ assert_equal(e2, @track.events[1])
169
+ assert_equal(e3, @track.events[2])
170
+
171
+ end
138
172
  end
metadata CHANGED
@@ -1,19 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: midilib
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ prerelease: false
5
+ segments:
6
+ - 2
7
+ - 0
8
+ - 0
9
+ version: 2.0.0
5
10
  platform: ruby
6
11
  authors:
7
12
  - Jim Menard
8
- autorequire: midilib
13
+ autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2009-05-06 00:00:00 -04:00
17
+ date: 2010-10-03 00:00:00 -04:00
13
18
  default_executable:
14
19
  dependencies: []
15
20
 
16
- description: midilib is a pure Ruby MIDI library useful for reading and writing standard MIDI files and manipulating MIDI event data.
21
+ description: |
22
+ midilib is a pure Ruby MIDI library useful for reading and
23
+ writing standard MIDI files and manipulating MIDI event data.
24
+
17
25
  email: jimm@io.com
18
26
  executables: []
19
27
 
@@ -38,6 +46,85 @@ files:
38
46
  - examples/split.rb
39
47
  - examples/strings.rb
40
48
  - examples/transpose.rb
49
+ - html/Array.html
50
+ - html/created.rid
51
+ - html/images/brick.png
52
+ - html/images/brick_link.png
53
+ - html/images/bug.png
54
+ - html/images/bullet_black.png
55
+ - html/images/bullet_toggle_minus.png
56
+ - html/images/bullet_toggle_plus.png
57
+ - html/images/date.png
58
+ - html/images/find.png
59
+ - html/images/loadingAnimation.gif
60
+ - html/images/macFFBgHack.png
61
+ - html/images/package.png
62
+ - html/images/page_green.png
63
+ - html/images/page_white_text.png
64
+ - html/images/page_white_width.png
65
+ - html/images/plugin.png
66
+ - html/images/ruby.png
67
+ - html/images/tag_green.png
68
+ - html/images/wrench.png
69
+ - html/images/wrench_orange.png
70
+ - html/images/zoom.png
71
+ - html/index.html
72
+ - html/IO.html
73
+ - html/js/darkfish.js
74
+ - html/js/jquery.js
75
+ - html/js/quicksearch.js
76
+ - html/js/thickbox-compressed.js
77
+ - html/lib/midilib/consts_rb.html
78
+ - html/lib/midilib/event_rb.html
79
+ - html/lib/midilib/info_rb.html
80
+ - html/lib/midilib/io/midifile_rb.html
81
+ - html/lib/midilib/io/seqreader_rb.html
82
+ - html/lib/midilib/io/seqwriter_rb.html
83
+ - html/lib/midilib/measure_rb.html
84
+ - html/lib/midilib/sequence_rb.html
85
+ - html/lib/midilib/track_rb.html
86
+ - html/lib/midilib/utils_rb.html
87
+ - html/lib/midilib_rb.html
88
+ - html/MIDI/ActiveSense.html
89
+ - html/MIDI/ChannelEvent.html
90
+ - html/MIDI/ChannelPressure.html
91
+ - html/MIDI/Clock.html
92
+ - html/MIDI/Continue.html
93
+ - html/MIDI/Controller.html
94
+ - html/MIDI/Event.html
95
+ - html/MIDI/IO/MIDIFile.html
96
+ - html/MIDI/IO/SeqReader.html
97
+ - html/MIDI/IO/SeqWriter.html
98
+ - html/MIDI/IO.html
99
+ - html/MIDI/KeySig.html
100
+ - html/MIDI/Marker.html
101
+ - html/MIDI/Measure.html
102
+ - html/MIDI/Measures.html
103
+ - html/MIDI/MetaEvent.html
104
+ - html/MIDI/NoteEvent.html
105
+ - html/MIDI/NoteOff.html
106
+ - html/MIDI/NoteOn.html
107
+ - html/MIDI/PitchBend.html
108
+ - html/MIDI/PolyPressure.html
109
+ - html/MIDI/ProgramChange.html
110
+ - html/MIDI/Realtime.html
111
+ - html/MIDI/Sequence.html
112
+ - html/MIDI/SongPointer.html
113
+ - html/MIDI/SongSelect.html
114
+ - html/MIDI/Start.html
115
+ - html/MIDI/Stop.html
116
+ - html/MIDI/SystemCommon.html
117
+ - html/MIDI/SystemExclusive.html
118
+ - html/MIDI/SystemReset.html
119
+ - html/MIDI/Tempo.html
120
+ - html/MIDI/TimeSig.html
121
+ - html/MIDI/Track.html
122
+ - html/MIDI/TuneRequest.html
123
+ - html/MIDI/Utils.html
124
+ - html/MIDI.html
125
+ - html/rdoc.css
126
+ - html/README_rdoc.html
127
+ - html/TODO_rdoc.html
41
128
  - install.rb
42
129
  - lib/midilib/consts.rb
43
130
  - lib/midilib/event.rb
@@ -59,7 +146,9 @@ files:
59
146
  - test/test_track.rb
60
147
  - test/test_varlen.rb
61
148
  has_rdoc: true
62
- homepage: http://midilib.rubyforge.org
149
+ homepage: http://github.com/jimm/midilib
150
+ licenses: []
151
+
63
152
  post_install_message:
64
153
  rdoc_options:
65
154
  - --main
@@ -67,23 +156,27 @@ rdoc_options:
67
156
  require_paths:
68
157
  - lib
69
158
  required_ruby_version: !ruby/object:Gem::Requirement
159
+ none: false
70
160
  requirements:
71
161
  - - ">="
72
162
  - !ruby/object:Gem::Version
163
+ segments:
164
+ - 0
73
165
  version: "0"
74
- version:
75
166
  required_rubygems_version: !ruby/object:Gem::Requirement
167
+ none: false
76
168
  requirements:
77
169
  - - ">="
78
170
  - !ruby/object:Gem::Version
171
+ segments:
172
+ - 0
79
173
  version: "0"
80
- version:
81
174
  requirements:
82
175
  - none
83
176
  rubyforge_project: midilib
84
- rubygems_version: 1.3.1
177
+ rubygems_version: 1.3.7
85
178
  signing_key:
86
- specification_version: 2
179
+ specification_version: 3
87
180
  summary: MIDI file and event manipulation library
88
181
  test_files: []
89
182