midilib 2.0.1 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/Rakefile CHANGED
@@ -74,7 +74,8 @@ end
74
74
 
75
75
  desc "Publish gem"
76
76
  task :publish => [:rdoc, :package] do
77
- system "gem push"
77
+ version = `ruby -Ilib -e 'require "midilib/info"; puts MIDI::Version'`.strip
78
+ system "gem push pkg/midilib-#{version}.gem"
78
79
  end
79
80
 
80
81
  if RUBY_VERSION >= '1.9'
data/TODO.rdoc CHANGED
@@ -4,7 +4,7 @@ No known bugs. (If that's not a challenge, I don't know what is.)
4
4
 
5
5
  == Features
6
6
 
7
- * =print_decimal_numbers= and =print_channel_numbers_from_one= should be
7
+ * +print_decimal_numbers+ and +print_channel_numbers_from_one+ should be
8
8
  associated with sequence, or perhaps track, not event.
9
9
 
10
10
  * Method to translate event's time_from_start to number of milliseconds from
@@ -2,7 +2,7 @@ module MIDI
2
2
 
3
3
  VERSION_MAJOR = 2
4
4
  VERSION_MINOR = 0
5
- VERSION_TWEAK = 1
5
+ VERSION_TWEAK = 2
6
6
  Version = "#{VERSION_MAJOR}.#{VERSION_MINOR}.#{VERSION_TWEAK}"
7
7
  Copyright = 'Copyright (c) 2003-2012 by Jim Menard <jim@jimmenard.com>'
8
8
 
@@ -1,11 +1,13 @@
1
1
  require 'midilib/event'
2
2
 
3
+ module MIDI
4
+
3
5
  # This is taken from
4
6
  # http://github.com/adamjmurray/cosy/blob/master/lib/cosy/helper/midi_file_renderer_helper.rb
5
7
  # with permission from Adam Murray, who originally suggested this fix.
6
8
  # See http://wiki.github.com/adamjmurray/cosy/midilib-notes for details.
7
9
  # First we need to add some API infrastructure:
8
- class Array
10
+ class MIDI::Array < ::Array
9
11
  # This code borrowed from 'Moser' http://codesnippets.joyent.com/posts/show/1699
10
12
 
11
13
  # A stable sorting algorithm that maintains the relative order of equal elements
@@ -42,8 +44,6 @@ class Array
42
44
  end
43
45
  end
44
46
 
45
- module MIDI
46
-
47
47
  # A Track is a list of events.
48
48
  #
49
49
  # When you modify the +events+ array, make sure to call recalc_times so
@@ -158,7 +158,7 @@ class Track
158
158
  # We call mergesort instead of Array.sort because sort is not stable
159
159
  # (it can mix up the order of events that have the same start time).
160
160
  # See http://wiki.github.com/adamjmurray/cosy/midilib-notes for details.
161
- list[starting_at .. -1] = list[starting_at .. -1].mergesort { | e1, e2 |
161
+ list[starting_at .. -1] = MIDI::Array.new(list[starting_at .. -1]).mergesort { | e1, e2 |
162
162
  e1.time_from_start <=> e2.time_from_start
163
163
  }
164
164
  list[starting_at .. -1].each { | e |
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: midilib
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-29 00:00:00.000000000 Z
12
+ date: 2012-07-30 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: ! 'midilib is a pure Ruby MIDI library useful for reading and
15
15