midi-parser 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9e2c79d8989751b80f744751153e57427afb881384dfa5ede041df83e9d47b8e
4
- data.tar.gz: 2eff925268800121fc1d032c7cb5dbaa0ed6f1ecfe00e8d71ce6f8f4398c5612
3
+ metadata.gz: e7f07737783863928425511316303b3142cd34d674839a96bc1764077226b4a0
4
+ data.tar.gz: fc54e9c97e1935c3f413bcf1884d2935c02f2bbcc802d9ee236c055fec5e6893
5
5
  SHA512:
6
- metadata.gz: 3003a3f1884f54481a1d4ed42808ed0ecec42f07a6052a089b8088d1f4cef9eb0b49b127f1ea1d9b3b541b762921d9bae51be67dde3aa942b5b0b83c0b207de7
7
- data.tar.gz: 7a9e3c51ba9a1af1032ec43df2cc0fe51a21e6777aa11053d37753aaeafa10d9cb9fd2defd557f3a69496ad0f81273be3dc2edf7576710738f5987db077cff7c
6
+ metadata.gz: 9a80202210559cace6bb8a0599810c099bf5726a4ee3ce0a64ae6336faf376fe296e6dc1ab41e49cae31c05a3d369822e0feb9f8bba154e1a01a9d761dae32d3
7
+ data.tar.gz: 21202f15ba0171403a6da0134c18c6230378dcf28e9928a71e4022ba9f599358926f7e4007318d0fd7f02522d549aa2cc32b9b94189fa46e19fa07efae0117a0
data/Gemfile CHANGED
@@ -1,10 +1,3 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- group :test do
4
- gem 'minitest', '~> 5.14', '>= 5.14.4'
5
- gem 'mocha', '~> 1.13', '>= 1.13.0'
6
- gem 'rake', '~> 13.0', '>= 13.0.6'
7
- gem 'shoulda-context', '~> 2.0', '>= 2.0.0'
8
- end
9
-
10
- gem 'midi-events', '~> 0.5', '>= 0.5.0'
3
+ gemspec
data/README.md CHANGED
@@ -150,15 +150,16 @@ that, **with some modifications**, I've been using in MusaDSL.
150
150
  After thinking about the best approach to publish MusaDSL
151
151
  I've decided to publish my own renamed version of the modified dependencies because:
152
152
 
153
+ * The original libraries have features
154
+ (buffering, very detailed logging and processing history information, not locking behaviour when waiting input midi messages)
155
+ that are not needed in MusaDSL and, in fact,
156
+ can degrade the performance on some use cases in MusaDSL.
157
+ * The requirements for **Musa DSL** users probably will evolve in time, so it will be easier to maintain an independent source code base.
153
158
  * Some differences on the approach of the modifications vs the original library doesn't allow to merge the modifications on the original libraries.
154
159
  * Then the renaming of the libraries is needed to avoid confusing existent users of the original libraries.
155
160
  * Due to some of the interdependencies of Ari Russo libraries,
156
161
  the modification and renaming on some of the low level libraries (ffi-coremidi, etc.)
157
162
  forces to modify and rename unimidi library.
158
- * The original libraries have features
159
- (very detailed logging and processing history information, not locking behaviour when waiting input midi messages)
160
- that are not needed in MusaDSL and, in fact,
161
- can degrade the performance on some use case scenarios in MusaDSL.
162
163
 
163
164
  All in all I have decided to publish a suite of libraries optimized for MusaDSL use case that also can be used by other people in their projects.
164
165
 
@@ -166,8 +167,8 @@ All in all I have decided to publish a suite of libraries optimized for MusaDSL
166
167
  | --- | --- | --- | --- |
167
168
  | MIDI Events representation | [MIDI Events](https://github.com/javier-sy/midi-events) | [MIDI Message](https://github.com/arirusso/midi-message) | removed parsing, small improvements |
168
169
  | MIDI Data parsing | [MIDI Parser](https://github.com/javier-sy/midi-parser) | [Nibbler](https://github.com/arirusso/nibbler) | removed process history information, minor optimizations |
169
- | MIDI communication with Instruments and Control Surfaces | [MIDI Communications](https://github.com/javier-sy/midi-communications) | [unimidi](https://github.com/arirusso/unimidi) | use of [MIDI Communications MacOS Layer](https://github.com/javier-sy/midi-communications-macos)
170
- | Low level MIDI interface to MacOS | [MIDI Communications MacOS Layer](https://github.com/javier-sy/midi-communications-macos) | [ffi-coremidi](https://github.com/arirusso/ffi-coremidi) | removed process history information, locking behaviour when waiting midi events, improved midi devices name detection, minor optimizations |
170
+ | MIDI communication with Instruments and Control Surfaces | [MIDI Communications](https://github.com/javier-sy/midi-communications) | [unimidi](https://github.com/arirusso/unimidi) | use of [MIDI Communications MacOS Layer](https://github.com/javier-sy/midi-communications-macos, removed process history information, removed buffering, removed command line script)
171
+ | Low level MIDI interface to MacOS | [MIDI Communications MacOS Layer](https://github.com/javier-sy/midi-communications-macos) | [ffi-coremidi](https://github.com/arirusso/ffi-coremidi) | removed buffering and process history information, locking behaviour when waiting midi events, improved midi devices name detection, minor optimizations |
171
172
  | Low level MIDI interface to Linux | **TO DO** | | |
172
173
  | Low level MIDI interface to JRuby | **TO DO** | | |
173
174
  | Low level MIDI interface to Windows | **TO DO** | | |
data/Rakefile CHANGED
@@ -1,3 +1,6 @@
1
+ $LOAD_PATH.prepend __dir__
2
+ $LOAD_PATH.prepend File.join(__dir__, 'lib')
3
+
1
4
  require 'rake'
2
5
  require 'rake/testtask'
3
6
 
@@ -130,6 +130,10 @@ module MIDIParser
130
130
  class RunningStatus
131
131
  extend Forwardable
132
132
 
133
+ def initialize
134
+ @state = nil
135
+ end
136
+
133
137
  def_delegators :@state, :[]
134
138
 
135
139
  def cancel
data/lib/midi-parser.rb CHANGED
@@ -20,7 +20,7 @@ require 'midi-parser/session'
20
20
  # Parse MIDI Messages
21
21
  #
22
22
  module MIDIParser
23
- VERSION = '0.3.0'.freeze
23
+ VERSION = '0.3.1'.freeze
24
24
 
25
25
  # Shortcut to a new parser session
26
26
  def self.new(...)
data/midi-parser.gemspec CHANGED
@@ -1,13 +1,13 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'midi-parser'
3
- s.version = '0.3.0'
4
- s.date = '2021-11-13'
3
+ s.version = '0.3.1'
4
+ s.date = '2021-11-19'
5
5
  s.summary = 'A Ruby library for parsing MIDI Event Messages'
6
6
  s.description = 'MIDI Parser is a library for parsing MIDI Event Messages received from any MIDI device through other libraries such as midi-communications or unimidi'
7
7
  s.authors = ['Javier Sánchez Yeste']
8
8
  s.email = 'javier.sy@gmail.com'
9
9
  s.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features|samples)/}) }
10
- s.homepage = 'https://github.com/javier-sy/midi-events'
10
+ s.homepage = 'https://github.com/javier-sy/midi-parser'
11
11
  s.license = 'LGPL-3.0'
12
12
 
13
13
  s.required_ruby_version = '~> 2.7'
@@ -19,4 +19,10 @@ Gem::Specification.new do |s|
19
19
  # "documentation_uri" => "",
20
20
  # "changelog_uri" => ""
21
21
  #}
22
+
23
+ s.add_runtime_dependency 'midi-events', '~> 0.5', '>= 0.5.0'
24
+
25
+ s.add_development_dependency 'minitest', '~> 5.14', '>= 5.14.4'
26
+ s.add_development_dependency 'rake', '~> 13.0', '>= 13.0.6'
27
+ s.add_development_dependency 'shoulda-context', '~> 2.0', '>= 2.0.0'
22
28
  end
metadata CHANGED
@@ -1,15 +1,95 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: midi-parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Javier Sánchez Yeste
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-13 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2021-11-19 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: midi-events
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.5'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 0.5.0
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '0.5'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 0.5.0
33
+ - !ruby/object:Gem::Dependency
34
+ name: minitest
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '5.14'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 5.14.4
43
+ type: :development
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '5.14'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 5.14.4
53
+ - !ruby/object:Gem::Dependency
54
+ name: rake
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '13.0'
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 13.0.6
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '13.0'
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: 13.0.6
73
+ - !ruby/object:Gem::Dependency
74
+ name: shoulda-context
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: '2.0'
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 2.0.0
83
+ type: :development
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '2.0'
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: 2.0.0
13
93
  description: MIDI Parser is a library for parsing MIDI Event Messages received from
14
94
  any MIDI device through other libraries such as midi-communications or unimidi
15
95
  email: javier.sy@gmail.com
@@ -31,7 +111,7 @@ files:
31
111
  - lib/midi-parser/session.rb
32
112
  - lib/midi-parser/type_conversion.rb
33
113
  - midi-parser.gemspec
34
- homepage: https://github.com/javier-sy/midi-events
114
+ homepage: https://github.com/javier-sy/midi-parser
35
115
  licenses:
36
116
  - LGPL-3.0
37
117
  metadata: {}