ffi-openmpt 0.4.1 → 0.5.0

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: 4c41a87a7640968fba218dc85f06fc381b94fdf1358e1efbf192b17c2f80879d
4
- data.tar.gz: e0f363b9858f658aba66f3ce9147c85cbee60979fff63e1a727a64d089f994c3
3
+ metadata.gz: 72575e8314c200ad59e22003ac2fe9c2887239031b9aa6c1299c14330fa7e9dd
4
+ data.tar.gz: 1b6130bdc3cd3188c49fc23515b7796fa738070ef39391bef0e8b97e2a86269e
5
5
  SHA512:
6
- metadata.gz: 70210e2b830defdf88277b6eba1c93913f6acef5f1975e941d31e7816f65a6e03b649731a57bbc75d2e95bd5c20fa4c7d7a9b1db8db8f597d0203d06dee673d1
7
- data.tar.gz: 210ab64a5de126b081f0533594226c282a7015b30799bd90cc9f7caff615c40446245b5bc2f9ecf032800f2f03dbe060abb98d0293214239dcbfb8701775acb0
6
+ metadata.gz: 6c1479cf17314e0a5244f00879840af09ea011a4dbc922d174a11a6bd8868865595ee42c2cd1414575db6936a28429bcc07f75a04e6c4d47d1f2e1c44cfa6e61
7
+ data.tar.gz: 22814451d1f956feb0156f87794ab5adc13558e8d6d079a1a21ca8394de29dc855504e6e61c20a6a028bf9ac10fa16c95c991e6b3c41a027744a5507fc48a595
@@ -1,4 +1,6 @@
1
- inherit_from: .rubocop_ffi-openmpt.yml
1
+ require: rubocop-performance
2
+
3
+ inherit_from: .rubocop_todo.yml
2
4
 
3
5
  # Turn this off for now. CI checks different versions of ruby anyway.
4
6
  Gemspec/RequiredRubyVersion:
@@ -48,7 +50,7 @@ Metrics/MethodLength:
48
50
 
49
51
  # Set a more reasonable class length and ignore failures in the tests.
50
52
  Metrics/ClassLength:
51
- Max: 200
53
+ Max: 250
52
54
  Exclude:
53
55
  - 'test/**/*.rb'
54
56
 
@@ -1,13 +1,26 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2018-08-18 15:19:51 +0100 using RuboCop version 0.58.2.
3
+ # on 2019-04-13 17:37:59 +0100 using RuboCop version 0.67.2.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
7
7
  # versions of RuboCop, may require this file to be generated again.
8
8
 
9
+ # Offense count: 10
10
+ # Cop supports --auto-correct.
11
+ Layout/EmptyLineAfterGuardClause:
12
+ Exclude:
13
+ - 'examples/mod-2-raw'
14
+ - 'lib/ffi/openmpt/module.rb'
15
+
9
16
  # Offense count: 1
10
17
  Style/Documentation:
11
18
  Exclude:
12
19
  - 'test/**/*'
13
20
  - 'lib/**/*'
21
+
22
+ # Offense count: 1
23
+ # Cop supports --auto-correct.
24
+ Style/RedundantBegin:
25
+ Exclude:
26
+ - 'lib/ffi/openmpt/module.rb'
data/CHANGES.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changes log for the Ruby OpenMPT library (ffi-openmpt)
2
2
 
3
+ ## Version 0.5.0
4
+
5
+ * Nail down rubocop version and update todo list.
6
+ * Add rubocop-performance to the setup.
7
+ * Wrap some libopenmpt playing info functions.
8
+ * Add the informational calls to the ruby interface.
9
+ * Wrap the speed and tempo libopenmpt functions.
10
+ * Add the speed and tempo calls to the ruby interface.
11
+ * Wrap the current playing channels libopenmpt function.
12
+ * Add current playing channels to the ruby interface.
13
+ * Wrap the VU meter libopenmpt functions.
14
+ * Add VU meter calls to the ruby interface.
15
+
3
16
  ## Version 0.4.1
4
17
 
5
18
  * Use an explicit begin block in Module#get_names.
@@ -36,5 +36,6 @@ Gem::Specification.new do |spec|
36
36
  spec.add_development_dependency 'coveralls', '~> 0.8'
37
37
  spec.add_development_dependency 'minitest', '~> 5.0'
38
38
  spec.add_development_dependency 'rake', '~> 10.0'
39
- spec.add_development_dependency 'rubocop', '~> 0.54'
39
+ spec.add_development_dependency 'rubocop', '0.67.2'
40
+ spec.add_development_dependency 'rubocop-performance', '1.1.0'
40
41
  end
@@ -150,6 +150,23 @@ module FFI
150
150
  attach_function :openmpt_module_set_position_order_row,
151
151
  [:pointer, :int, :int], :double
152
152
 
153
+ # Real-time playing information calls
154
+ attach_function :openmpt_module_get_current_speed, [:pointer], :int
155
+ attach_function :openmpt_module_get_current_tempo, [:pointer], :int
156
+ attach_function :openmpt_module_get_current_order, [:pointer], :int
157
+ attach_function :openmpt_module_get_current_pattern, [:pointer], :int
158
+ attach_function :openmpt_module_get_current_row, [:pointer], :int
159
+ attach_function :openmpt_module_get_current_playing_channels,
160
+ [:pointer], :int
161
+
162
+ # VU meter calls
163
+ attach_function :openmpt_module_get_current_channel_vu_mono,
164
+ [:pointer, :int], :float
165
+ attach_function :openmpt_module_get_current_channel_vu_left,
166
+ [:pointer, :int], :float
167
+ attach_function :openmpt_module_get_current_channel_vu_right,
168
+ [:pointer, :int], :float
169
+
153
170
  # Read module calls
154
171
  attach_function :openmpt_module_read_mono,
155
172
  [:pointer, :int, :int, :pointer],
@@ -121,6 +121,41 @@ module FFI
121
121
  end
122
122
  end
123
123
 
124
+ def current_speed
125
+ openmpt_module_get_current_speed(@mod)
126
+ end
127
+
128
+ def current_tempo
129
+ openmpt_module_get_current_tempo(@mod)
130
+ end
131
+
132
+ def current_order
133
+ openmpt_module_get_current_order(@mod)
134
+ end
135
+
136
+ def current_pattern
137
+ openmpt_module_get_current_pattern(@mod)
138
+ end
139
+
140
+ def current_row
141
+ openmpt_module_get_current_row(@mod)
142
+ end
143
+
144
+ def current_playing_channels
145
+ openmpt_module_get_current_playing_channels(@mod)
146
+ end
147
+
148
+ def current_channel_vu_mono(channel)
149
+ openmpt_module_get_current_channel_vu_mono(@mod, channel)
150
+ end
151
+
152
+ def current_channel_vu_stereo(channel)
153
+ [
154
+ openmpt_module_get_current_channel_vu_left(@mod, channel),
155
+ openmpt_module_get_current_channel_vu_right(@mod, channel)
156
+ ]
157
+ end
158
+
124
159
  def metadata_keys
125
160
  ptr = openmpt_module_get_metadata_keys(@mod)
126
161
  ptr.read_string.split(';').map(&:to_sym)
@@ -6,6 +6,6 @@
6
6
 
7
7
  module FFI
8
8
  module OpenMPT
9
- VERSION = '0.4.1'
9
+ VERSION = '0.5.0'
10
10
  end
11
11
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffi-openmpt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Haines
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-04-13 00:00:00.000000000 Z
11
+ date: 2019-04-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi
@@ -84,16 +84,30 @@ dependencies:
84
84
  name: rubocop
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - '='
88
88
  - !ruby/object:Gem::Version
89
- version: '0.54'
89
+ version: 0.67.2
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - '='
95
+ - !ruby/object:Gem::Version
96
+ version: 0.67.2
97
+ - !ruby/object:Gem::Dependency
98
+ name: rubocop-performance
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '='
102
+ - !ruby/object:Gem::Version
103
+ version: 1.1.0
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '='
95
109
  - !ruby/object:Gem::Version
96
- version: '0.54'
110
+ version: 1.1.0
97
111
  description: libopenmpt is a library to render tracker music (MOD, XM, S3M, IT, MPTM
98
112
  and dozens of other legacy formats) to a PCM audio stream. See https://openmpt.org/
99
113
  for more information.
@@ -105,7 +119,7 @@ extra_rdoc_files: []
105
119
  files:
106
120
  - ".gitignore"
107
121
  - ".rubocop.yml"
108
- - ".rubocop_ffi-openmpt.yml"
122
+ - ".rubocop_todo.yml"
109
123
  - ".ruby-gemset"
110
124
  - ".ruby-version"
111
125
  - ".travis.yml"