alsa-rawmidi 0.3.1 → 0.3.2

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
  SHA1:
3
- metadata.gz: e6767cbdb0a3a5164c941104b6e775f805290828
4
- data.tar.gz: 69740ca23dc973a16300f8b443bef6a64a54dd8c
3
+ metadata.gz: 0f58d0a3f8e6060d9315afd9534b4aec7834f196
4
+ data.tar.gz: 26a79750d4048440e0769805bb0576c183b3ef80
5
5
  SHA512:
6
- metadata.gz: 22307cabe5577f9ef9dd779b6d1e169ac9507832e06f1d9fba835430127f8ce7fee7428b44ec382cf9700ef5d3ca42c0a3dcba715c2103e1f086fe65ffcbb89e
7
- data.tar.gz: de620c6756658652814fd294bc1678679c0c1a90f470c30492b87344482e1c52ea3f36a47dc0832f7d512cc5670d8beff0d2507eba7bb57c952d3ca248dea532
6
+ metadata.gz: f00bc3bba78d18e2017e749b708276dac2b597974dd796ec481636d59c0d2f8ca98d8afb7c2c94c47ee7f060e2797a2e3f4bf4f2a9da7f651b511c663e237523
7
+ data.tar.gz: 6b1d5c46be16974720e25d9347ca9b304741ed89d89689b85f620ebf386d9dd48481bb0d79faa2f9852ef3cd0d2ef8364bf74a49cf410ae85ccf534f1a9f68db
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright 2010-2014 Ari Russo
1
+ Copyright 2010-2017 Ari Russo
2
2
 
3
3
  Licensed under the Apache License, Version 2.0 (the "License");
4
4
  you may not use this file except in compliance with the License.
data/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  Access the ALSA RawMIDI API with Ruby.
6
6
 
7
- Note that in the interest of allowing people on other platforms to utilize your code, you should consider using [unimidi](http://github.com/arirusso/unimidi). Unimidi is a platform independent wrapper that implements this gem and has a similar API.
7
+ Note that in the interest of allowing people on other platforms to utilize your code, you should consider using [unimidi](http://github.com/arirusso/unimidi). Unimidi is a platform independent wrapper that implements this gem and has a similar API.
8
8
 
9
9
  ## Features
10
10
 
@@ -27,7 +27,7 @@ If you're using Bundler, add this line to your application's Gemfile:
27
27
  Otherwise
28
28
 
29
29
  `gem install alsa-rawmidi`
30
-
30
+
31
31
  ## Usage
32
32
 
33
33
  * [input](http://github.com/arirusso/alsa-rawmidi/blob/master/examples/input.rb)
@@ -36,13 +36,13 @@ Otherwise
36
36
  ## Documentation
37
37
 
38
38
  * [rdoc](http://rdoc.info/gems/alsa-rawmidi)
39
-
40
- ## Author
39
+
40
+ ## Author
41
41
 
42
42
  [Ari Russo](http://github.com/arirusso) <ari.russo at gmail.com>
43
-
43
+
44
44
  ## License
45
45
 
46
46
  Apache 2.0, See the file LICENSE
47
47
 
48
- Copyright (c) 2010-2014 Ari Russo
48
+ Copyright (c) 2010-2017 Ari Russo
@@ -1,9 +1,11 @@
1
1
  #
2
- # Modules and classes to interact with the ALSA Driver Interface
2
+ # alsa-rawmidi
3
+ # ALSA Driver Interface
3
4
  #
4
- # Ari Russo
5
- # (c) 2010-2014
5
+ # (c) 2010-2014 Ari Russo
6
6
  # Licensed under Apache 2.0
7
+ # https://github.com/arirusso/alsa-rawmidi
8
+ #
7
9
 
8
10
  # libs
9
11
  require "ffi"
@@ -11,6 +13,7 @@ require "ffi"
11
13
  # modules
12
14
  require "alsa-rawmidi/api"
13
15
  require "alsa-rawmidi/device"
16
+ require "alsa-rawmidi/version"
14
17
 
15
18
  # class
16
19
  require "alsa-rawmidi/input"
@@ -19,6 +22,4 @@ require "alsa-rawmidi/soundcard"
19
22
 
20
23
  module AlsaRawMIDI
21
24
 
22
- VERSION = "0.3.1"
23
-
24
25
  end
@@ -241,8 +241,8 @@ module AlsaRawMIDI
241
241
  extend self
242
242
 
243
243
  # Open the output with the given ID
244
- # @param [Fixnum] id
245
- # @return [Fixnum]
244
+ # @param [Integer] id
245
+ # @return [Integer]
246
246
  def open(id)
247
247
  API::Device.open(id) do |pointer|
248
248
  API.snd_rawmidi_open(pointer, nil, id, API::CONSTANTS[:SND_RAWMIDI_NONBLOCK])
@@ -272,8 +272,8 @@ module AlsaRawMIDI
272
272
  extend self
273
273
 
274
274
  # Send the given MIDI data to the output with the given handle
275
- # @param [Fixnum] handle
276
- # @param [Array<Fixnum>] data
275
+ # @param [Integer] handle
276
+ # @param [Array<Integer>] data
277
277
  # @return [Boolean]
278
278
  def puts(handle, data)
279
279
  format = "C" * data.size
@@ -286,8 +286,8 @@ module AlsaRawMIDI
286
286
  end
287
287
 
288
288
  # Open the output with the given ID
289
- # @param [Fixnum] id
290
- # @return [Fixnum]
289
+ # @param [Integer] id
290
+ # @return [Integer]
291
291
  def open(id)
292
292
  API::Device.open(id) do |pointer|
293
293
  API.snd_rawmidi_open(nil, pointer, id, 0)
@@ -301,7 +301,7 @@ module AlsaRawMIDI
301
301
 
302
302
  extend self
303
303
 
304
- # @param [Fixnum] id
304
+ # @param [Integer] id
305
305
  # @param [Symbol] direction
306
306
  # @return [SndCtlCardInfo]
307
307
  def get_info(id, direction)
@@ -317,7 +317,7 @@ module AlsaRawMIDI
317
317
  end
318
318
 
319
319
  # Close the device with the given handle
320
- # @param [Fixnum] handle
320
+ # @param [Integer] handle
321
321
  # @return [Boolean]
322
322
  def close(handle)
323
323
  API.snd_rawmidi_drain(handle)
@@ -326,9 +326,9 @@ module AlsaRawMIDI
326
326
  end
327
327
 
328
328
  # Open the device with the given id
329
- # @param [Fixnum] id
329
+ # @param [Integer] id
330
330
  # @param [Proc] block
331
- # @return [Fixnum]
331
+ # @return [Integer]
332
332
  def open(id, &block)
333
333
  handle_pointer = FFI::MemoryPointer.new(FFI.type_size(:int))
334
334
  yield(handle_pointer)
@@ -343,16 +343,16 @@ module AlsaRawMIDI
343
343
  extend self
344
344
 
345
345
  # @param [SndCtlCardInfo] info
346
- # @return [Fixnum]
346
+ # @return [Integer]
347
347
  def get_subdevice_count(info)
348
348
  subdev_count = API.snd_rawmidi_info_get_subdevices_count(info.pointer)
349
349
  subdev_count = 0 if subdev_count > 32
350
350
  subdev_count
351
351
  end
352
352
 
353
- # @param [Fixnum, String] device_num
354
- # @param [Fixnum] subdev_count
355
- # @param [Fixnum] id
353
+ # @param [Integer, String] device_num
354
+ # @param [Integer] subdev_count
355
+ # @param [Integer] id
356
356
  # @return [String]
357
357
  def get_subdevice_id(soundcard_id, device_id, subdev_count, id)
358
358
  ext = (subdev_count > 1) ? ",#{id}" : ''
@@ -361,16 +361,16 @@ module AlsaRawMIDI
361
361
  end
362
362
 
363
363
  # @param [SndCtlCardInfo] info
364
- # @param [Fixnum] id
365
- # @param [Fixnum] handle
364
+ # @param [Integer] id
365
+ # @param [Integer] handle
366
366
  # @return [Boolean]
367
367
  def valid_subdevice?(info, id, handle)
368
368
  API.snd_rawmidi_info_set_subdevice(info.pointer, id)
369
369
  API.snd_ctl_rawmidi_info(handle, info.pointer) >= 0
370
370
  end
371
371
 
372
- # @param [Fixnum] soundcard_id
373
- # @param [Fixnum] device_id
372
+ # @param [Integer] soundcard_id
373
+ # @param [Integer] device_id
374
374
  # @param [Symbol] direction
375
375
  # @param [Proc] block
376
376
  # @return [Array<Object>]
@@ -398,8 +398,8 @@ module AlsaRawMIDI
398
398
  available
399
399
  end
400
400
 
401
- # @param [Fixnum] id
402
- # @return [Array<Fixnum>]
401
+ # @param [Integer] id
402
+ # @return [Array<Integer>]
403
403
  def get_device_ids(id)
404
404
  handle = API::Soundcard.get_handle(id)
405
405
  (0..31).to_a.select do |n|
@@ -408,21 +408,21 @@ module AlsaRawMIDI
408
408
  end
409
409
  end
410
410
 
411
- # @param [Fixnum] soundcard_id
411
+ # @param [Integer] soundcard_id
412
412
  # @return [String]
413
413
  def get_name(soundcard_id)
414
414
  "hw:#{soundcard_id.to_s}"
415
415
  end
416
416
 
417
417
  # Does a soundcard exist for the given id?
418
- # @param [Fixnum] id
418
+ # @param [Integer] id
419
419
  # @return [Boolean]
420
420
  def exists?(id)
421
421
  API.snd_card_load(id) == 1
422
422
  end
423
423
 
424
- # @param [Fixnum] soundcard_id
425
- # @return [Fixnum]
424
+ # @param [Integer] soundcard_id
425
+ # @return [Integer]
426
426
  def get_handle(soundcard_id)
427
427
  handle_pointer = FFI::MemoryPointer.new(FFI.type_size(:int))
428
428
  API.snd_ctl_open(handle_pointer, get_name(soundcard_id), 0)
@@ -75,7 +75,7 @@ module AlsaRawMIDI
75
75
  end
76
76
 
77
77
  # @param [Hash] options
78
- # @option options [Fixnum] :id
78
+ # @option options [Integer] :id
79
79
  # @option options [String] :name
80
80
  # @option options [String] :subname
81
81
  # @option options [String] :system_id
@@ -91,8 +91,8 @@ module AlsaRawMIDI
91
91
  private
92
92
 
93
93
  # Assign an id
94
- # @param [Fixnum] id
95
- # @return [Fixnum]
94
+ # @param [Integer] id
95
+ # @return [Integer]
96
96
  def id=(id)
97
97
  @id = id
98
98
  end
@@ -72,7 +72,7 @@ module AlsaRawMIDI
72
72
  def close
73
73
  if @enabled
74
74
  Thread.kill(@listener)
75
- API::Device.close(@resource)
75
+ API::Device.close(@resource)
76
76
  @enabled = false
77
77
  true
78
78
  else
@@ -171,7 +171,7 @@ module AlsaRawMIDI
171
171
 
172
172
  # Convert a hex string to an array of numeric bytes eg "904040" -> [0x90, 0x40, 0x40]
173
173
  # @param [String] string
174
- # @return [Array<Fixnum>]
174
+ # @return [Array<Integer>]
175
175
  def hex_string_to_numeric_bytes(string)
176
176
  string = string.dup
177
177
  bytes = []
@@ -183,7 +183,7 @@ module AlsaRawMIDI
183
183
  end
184
184
 
185
185
  # Convert an array of numeric bytes to a hex string eg [0x90, 0x40, 0x40] -> "904040"
186
- # @param [Array<Fixnum>] bytes
186
+ # @param [Array<Integer>] bytes
187
187
  # @return [String]
188
188
  def numeric_bytes_to_hex_string(bytes)
189
189
  string_bytes = bytes.map do |byte|
@@ -33,7 +33,7 @@ module AlsaRawMIDI
33
33
  alias_method :puts_hex, :puts_s
34
34
 
35
35
  # Output a MIDI message in numeric byte format
36
- # @param [*Fixnum] data
36
+ # @param [*Integer] data
37
37
  # @return [Boolean]
38
38
  def puts_bytes(*data)
39
39
  API::Output.puts(@resource, data)
@@ -41,7 +41,7 @@ module AlsaRawMIDI
41
41
  end
42
42
 
43
43
  # Output the given MIDI message
44
- # @param [*Fixnum, *String] args
44
+ # @param [*Integer, *String] args
45
45
  # @return [Boolean]
46
46
  def puts(*args)
47
47
  case args.first
@@ -4,7 +4,7 @@ module AlsaRawMIDI
4
4
 
5
5
  attr_reader :id, :subdevices
6
6
 
7
- # @param [Fixnum] id
7
+ # @param [Integer] id
8
8
  def initialize(id)
9
9
  @subdevices = {
10
10
  :input => [],
@@ -15,7 +15,7 @@ module AlsaRawMIDI
15
15
  end
16
16
 
17
17
  # Find a soundcard by its ID
18
- # @param [Fixnum] id
18
+ # @param [Integer] id
19
19
  # @return [Soundcard]
20
20
  def self.find(id)
21
21
  @soundcards ||= {}
@@ -0,0 +1,5 @@
1
+ module AlsaRawMIDI
2
+
3
+ VERSION = "0.3.2"
4
+
5
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alsa-rawmidi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ari Russo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-25 00:00:00.000000000 Z
11
+ date: 2017-06-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi
@@ -39,12 +39,13 @@ files:
39
39
  - lib/alsa-rawmidi/input.rb
40
40
  - lib/alsa-rawmidi/output.rb
41
41
  - lib/alsa-rawmidi/soundcard.rb
42
+ - lib/alsa-rawmidi/version.rb
42
43
  - test/helper.rb
43
44
  - test/input_buffer_test.rb
44
45
  - test/io_test.rb
45
46
  homepage: http://github.com/arirusso/alsa-rawmidi
46
47
  licenses:
47
- - Apache 2.0
48
+ - Apache-2.0
48
49
  metadata: {}
49
50
  post_install_message:
50
51
  rdoc_options: []
@@ -62,7 +63,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
62
63
  version: 1.3.6
63
64
  requirements: []
64
65
  rubyforge_project: alsa-rawmidi
65
- rubygems_version: 2.2.2
66
+ rubygems_version: 2.6.8
66
67
  signing_key:
67
68
  specification_version: 4
68
69
  summary: Realtime MIDI IO with Ruby for Linux