midi-parser 0.3.0 → 0.4.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9e2c79d8989751b80f744751153e57427afb881384dfa5ede041df83e9d47b8e
4
- data.tar.gz: 2eff925268800121fc1d032c7cb5dbaa0ed6f1ecfe00e8d71ce6f8f4398c5612
3
+ metadata.gz: 1568bc7ee1e2828300ede9f63d9c340c8d10c9d715687e87f813372ed68f1d14
4
+ data.tar.gz: 349c35a9327e27f686fe2d40a6783d9c3412e768915b5dda8a5381b609aabd24
5
5
  SHA512:
6
- metadata.gz: 3003a3f1884f54481a1d4ed42808ed0ecec42f07a6052a089b8088d1f4cef9eb0b49b127f1ea1d9b3b541b762921d9bae51be67dde3aa942b5b0b83c0b207de7
7
- data.tar.gz: 7a9e3c51ba9a1af1032ec43df2cc0fe51a21e6777aa11053d37753aaeafa10d9cb9fd2defd557f3a69496ad0f81273be3dc2edf7576710738f5987db077cff7c
6
+ metadata.gz: 0035151b1c0f3d26a0535719c2c0481d0c63b96a9c7ecf3a7da70e4d5aaffa242b509d9ba016a8f7cb0ac40c8a8e5e2ca4f4f3ba044f0466b096edea05caf0eb
7
+ data.tar.gz: beed639e49180805161371750ca0630a9a704c094000a9dc8878e35f8a2f58450261a4e5897cd7908599e94ea6a7742588154f524cbac9e97d2651fe040fe824
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,16 +1,16 @@
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.4.0'
4
+ s.date = '2025-08-23'
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'
11
- s.license = 'LGPL-3.0'
10
+ s.homepage = 'https://github.com/javier-sy/midi-parser'
11
+ s.license = 'LGPL-3.0-or-later'
12
12
 
13
- s.required_ruby_version = '~> 2.7'
13
+ s.required_ruby_version = '>= 2.7'
14
14
 
15
15
  # TODO
16
16
  #s.metadata = {
@@ -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.6'
24
+
25
+ s.add_development_dependency 'minitest', '~>5', '>= 5.14.4'
26
+ s.add_development_dependency 'rake', '~>13', '>= 13.0.6'
27
+ s.add_development_dependency 'shoulda-context', '~>2', '>= 2.0.0'
22
28
  end
metadata CHANGED
@@ -1,15 +1,88 @@
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.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Javier Sánchez Yeste
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2021-11-13 00:00:00.000000000 Z
12
- dependencies: []
10
+ date: 2025-08-23 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: midi-events
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '0.6'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '0.6'
26
+ - !ruby/object:Gem::Dependency
27
+ name: minitest
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '5'
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: 5.14.4
36
+ type: :development
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '5'
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: 5.14.4
46
+ - !ruby/object:Gem::Dependency
47
+ name: rake
48
+ requirement: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - "~>"
51
+ - !ruby/object:Gem::Version
52
+ version: '13'
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: 13.0.6
56
+ type: :development
57
+ prerelease: false
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '13'
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ version: 13.0.6
66
+ - !ruby/object:Gem::Dependency
67
+ name: shoulda-context
68
+ requirement: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - "~>"
71
+ - !ruby/object:Gem::Version
72
+ version: '2'
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 2.0.0
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '2'
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: 2.0.0
13
86
  description: MIDI Parser is a library for parsing MIDI Event Messages received from
14
87
  any MIDI device through other libraries such as midi-communications or unimidi
15
88
  email: javier.sy@gmail.com
@@ -31,17 +104,16 @@ files:
31
104
  - lib/midi-parser/session.rb
32
105
  - lib/midi-parser/type_conversion.rb
33
106
  - midi-parser.gemspec
34
- homepage: https://github.com/javier-sy/midi-events
107
+ homepage: https://github.com/javier-sy/midi-parser
35
108
  licenses:
36
- - LGPL-3.0
109
+ - LGPL-3.0-or-later
37
110
  metadata: {}
38
- post_install_message:
39
111
  rdoc_options: []
40
112
  require_paths:
41
113
  - lib
42
114
  required_ruby_version: !ruby/object:Gem::Requirement
43
115
  requirements:
44
- - - "~>"
116
+ - - ">="
45
117
  - !ruby/object:Gem::Version
46
118
  version: '2.7'
47
119
  required_rubygems_version: !ruby/object:Gem::Requirement
@@ -50,8 +122,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
50
122
  - !ruby/object:Gem::Version
51
123
  version: '0'
52
124
  requirements: []
53
- rubygems_version: 3.1.6
54
- signing_key:
125
+ rubygems_version: 3.6.9
55
126
  specification_version: 4
56
127
  summary: A Ruby library for parsing MIDI Event Messages
57
128
  test_files: []