midi-message 0.3.0 → 0.3.1

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.
@@ -21,7 +21,12 @@ module MIDIMessage
21
21
 
22
22
  def process_single(message)
23
23
  val = message.send(@property)
24
- result = @bandwidth.map { |bw| val >= bw.min && val <= bw.max ? message : nil }
24
+ result = @bandwidth.map do |bw|
25
+ case bw
26
+ when Range then val >= bw.min && val <= bw.max ? message : nil
27
+ when Numeric then val == bw ? message : nil
28
+ end
29
+ end
25
30
  result.include?(message) ^ @reject ? message : nil
26
31
  end
27
32
 
@@ -8,7 +8,7 @@ module MIDIMessage
8
8
 
9
9
  def self.included(base)
10
10
  base.extend(ClassMethods)
11
- #base.send(:attr_reader, :message)
11
+ base.send(:attr_reader, :name)
12
12
  end
13
13
 
14
14
  def process(messages = nil)
@@ -29,6 +29,7 @@ module MIDIMessage
29
29
 
30
30
  def initialize_processor(options)
31
31
  @message = options[:message]
32
+ @name = options[:name]
32
33
  end
33
34
 
34
35
  end
data/lib/midi-message.rb CHANGED
@@ -11,7 +11,7 @@ module MIDIMessage
11
11
  module Process
12
12
  end
13
13
 
14
- VERSION = "0.3.0"
14
+ VERSION = "0.3.1"
15
15
 
16
16
  end
17
17
 
data/test/test_filter.rb CHANGED
@@ -92,4 +92,24 @@ class FilterTest < Test::Unit::TestCase
92
92
  assert_equal(msg, outp)
93
93
  end
94
94
 
95
+ def test_numeric_note_accept
96
+ msg1 = MIDIMessage::NoteOn["C4"].new(0, 100)
97
+ msg2 = MIDIMessage::NoteOn["C5"].new(0, 100)
98
+ f = Filter.new(:note, 60)
99
+ outp = f.process(msg1)
100
+ assert_equal(msg1, outp)
101
+ outp = f.process(msg2)
102
+ assert_equal(nil, outp)
103
+ end
104
+
105
+ def test_numeric_note_reject
106
+ msg1 = MIDIMessage::NoteOn["C4"].new(0, 100)
107
+ msg2 = MIDIMessage::NoteOn["C5"].new(0, 100)
108
+ f = Filter.new(:note, 60, :reject => true)
109
+ outp = f.process(msg1)
110
+ assert_equal(nil, outp)
111
+ outp = f.process(msg2)
112
+ assert_equal(msg2, outp)
113
+ end
114
+
95
115
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: midi-message
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: