midi 0.0.7

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.
@@ -0,0 +1,60 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'helper'
4
+
5
+ class SysexTest < Test::Unit::TestCase
6
+
7
+ include MicroMIDI
8
+ include MIDIMessage
9
+ include TestHelper
10
+
11
+ def test_command
12
+ m = MicroMIDI.message
13
+ m.sysex_node 0x41, :model_id => 0x42, :device_id => 0x10
14
+ msg = m.sysex_command [0x40, 0x7F, 0x00], 0x00
15
+ assert_equal(SystemExclusive::Command, msg.class)
16
+ assert_equal([0x40, 0x7F, 0x00], msg.address)
17
+ assert_equal(0, msg.data)
18
+ assert_equal([0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x7F, 0x00, 0x00, 0x41, 0xF7], msg.to_bytes)
19
+ end
20
+
21
+ def test_request
22
+ m = MicroMIDI.message
23
+ m.sysex_node 0x41, :model_id => 0x42, :device_id => 0x10
24
+ msg = m.sysex_request [0x40, 0x7F, 0x00], 0x02
25
+ assert_equal(SystemExclusive::Request, msg.class)
26
+ assert_equal([0x40, 0x7F, 0x00], msg.address)
27
+ assert_equal([0x0, 0x0, 0x02], msg.size)
28
+ assert_equal([0xF0, 0x41, 0x10, 0x42, 0x11, 0x40, 0x7F, 0x00, 0x0, 0x0, 0x02, 0x3F, 0xF7], msg.to_bytes)
29
+ end
30
+
31
+ def test_message
32
+ m = MicroMIDI.message
33
+ msg = m.sysex_message [0x42, 0x11, 0x40, 0x7F, 0x00, 0x0, 0x0, 0x02]
34
+ assert_equal(SystemExclusive::Message, msg.class)
35
+ assert_equal([0x42, 0x11, 0x40, 0x7F, 0x00, 0x0, 0x0, 0x02], msg.data)
36
+ assert_equal([0xF0, 0x42, 0x11, 0x40, 0x7F, 0x00, 0x0, 0x0, 0x02, 0xF7], msg.to_bytes)
37
+ end
38
+
39
+ def test_message_with_node
40
+ m = MicroMIDI.message
41
+ m.sysex_node 0x41, :model_id => 0x42, :device_id => 0x10
42
+ msg = m.sysex_message [0x42, 0x11, 0x40, 0x7F, 0x00, 0x0, 0x0, 0x02]
43
+ assert_equal(SystemExclusive::Message, msg.class)
44
+ assert_equal([0x42, 0x11, 0x40, 0x7F, 0x00, 0x0, 0x0, 0x02], msg.data)
45
+ assert_equal([0xF0, 0x41, 0x10, 0x42, 0x42, 0x11, 0x40, 0x7F, 0x00, 0x0, 0x0, 0x02, 0xF7], msg.to_bytes)
46
+ end
47
+
48
+ def test_no_model_id
49
+ m = MicroMIDI.message
50
+ m.sysex_node 0x41, :device_id => 0x10
51
+ msg = m.sysex_command [0x40, 0x7F, 0x00], 0x00
52
+ assert_equal(SystemExclusive::Command, msg.class)
53
+ assert_equal([0x41, 0x10], msg.node.to_a)
54
+ assert_equal([0x40, 0x7F, 0x00], msg.address)
55
+ assert_equal(0, msg.data)
56
+ assert_equal([0xF0, 0x41, 0x10, 0x12, 0x40, 0x7F, 0x00, 0x00, 0x41, 0xF7], msg.to_bytes)
57
+ end
58
+
59
+ end
60
+
metadata ADDED
@@ -0,0 +1,103 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: midi
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.7
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Ari Russo
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-09-17 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: midi-eye
16
+ requirement: &70198188893360 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 0.1.3
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70198188893360
25
+ - !ruby/object:Gem::Dependency
26
+ name: midi-message
27
+ requirement: &70198188892860 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: 0.2.2
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70198188892860
36
+ - !ruby/object:Gem::Dependency
37
+ name: unimidi
38
+ requirement: &70198188892320 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: 0.2.3
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *70198188892320
47
+ description: A Ruby DSL for MIDI
48
+ email:
49
+ - ari.russo@gmail.com
50
+ executables: []
51
+ extensions: []
52
+ extra_rdoc_files: []
53
+ files:
54
+ - lib/micromidi/context.rb
55
+ - lib/micromidi/instructions/composite.rb
56
+ - lib/micromidi/instructions/input.rb
57
+ - lib/micromidi/instructions/message.rb
58
+ - lib/micromidi/instructions/output.rb
59
+ - lib/micromidi/instructions/process.rb
60
+ - lib/micromidi/instructions/shorthand.rb
61
+ - lib/micromidi/instructions/sticky.rb
62
+ - lib/micromidi/instructions/sysex.rb
63
+ - lib/micromidi/state.rb
64
+ - lib/micromidi.rb
65
+ - lib/midi.rb
66
+ - test/helper.rb
67
+ - test/test_composite.rb
68
+ - test/test_context.rb
69
+ - test/test_effect.rb
70
+ - test/test_input.rb
71
+ - test/test_message.rb
72
+ - test/test_output.rb
73
+ - test/test_state.rb
74
+ - test/test_sticky.rb
75
+ - test/test_sysex.rb
76
+ - LICENSE
77
+ - README.rdoc
78
+ - TODO
79
+ homepage: http://github.com/arirusso/micromidi
80
+ licenses: []
81
+ post_install_message:
82
+ rdoc_options: []
83
+ require_paths:
84
+ - lib
85
+ required_ruby_version: !ruby/object:Gem::Requirement
86
+ none: false
87
+ requirements:
88
+ - - ! '>='
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ required_rubygems_version: !ruby/object:Gem::Requirement
92
+ none: false
93
+ requirements:
94
+ - - ! '>='
95
+ - !ruby/object:Gem::Version
96
+ version: 1.3.6
97
+ requirements: []
98
+ rubyforge_project: midi
99
+ rubygems_version: 1.8.6
100
+ signing_key:
101
+ specification_version: 3
102
+ summary: A Ruby DSL for MIDI
103
+ test_files: []