unimidi 0.1.3-i686-linux → 0.1.4-i686-linux

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -6,7 +6,7 @@ Platform independent realtime MIDI input and output for Ruby.
6
6
 
7
7
  == Features
8
8
 
9
- * Currently Linux, JRuby, Windows and Cygwin are supported. OSX is {in progress}[http://github.com/arirusso/ffi-coremidi]
9
+ * Supports Linux, JRuby, OSX, Windows and Cygwin
10
10
  * Both input and output to and from multiple devices concurrently
11
11
  * Agnostically handle different MIDI and SysEx Message types
12
12
 
@@ -16,7 +16,8 @@ Platform
16
16
 
17
17
  * JRuby: {midi-jruby}[http://github.com/arirusso/midi-jruby]
18
18
  * Linux: {alsa-rawmidi}[http://github.com/arirusso/alsa-rawmidi]
19
- * Windows/Cygwin: {midi-winmm}[http://github.com/arirusso/midi-winmm]
19
+ * OSX: {ffi-coremidi}[http://github.com/arirusso/ffi-coremidi]
20
+ * Windows/Cygwin: {midi-winmm}[http://github.com/arirusso/midi-winmm]
20
21
 
21
22
  A couple of notes about JRuby only:
22
23
 
data/lib/unimidi.rb CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  module UniMIDI
8
8
 
9
- VERSION = "0.1.3"
9
+ VERSION = "0.1.4"
10
10
 
11
11
  end
12
12
 
@@ -1,7 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
  #
3
- # (c)2010-2011 Ari Russo and licensed under the Apache 2.0 License
4
- #
5
3
 
6
4
  require 'alsa-rawmidi'
7
5
 
@@ -12,20 +10,20 @@ module UniMIDI
12
10
  class Input
13
11
  include CongruousApiAdapter::Device
14
12
  include CongruousApiAdapter::Input
15
- defer_to AlsaRawMIDI::Input
13
+ DeferToClass = AlsaRawMIDI::Input
16
14
  end
17
15
 
18
16
  class Output
19
17
  include CongruousApiAdapter::Device
20
18
  include CongruousApiAdapter::Output
21
- defer_to AlsaRawMIDI::Output
19
+ DeferToClass = AlsaRawMIDI::Output
22
20
  end
23
21
 
24
22
  class Device
25
23
  extend CongruousApiAdapter::Device::ClassMethods
26
- defer_to AlsaRawMIDI::Device
27
- input_class Input
28
- output_class Output
24
+ DeferToClass = AlsaRawMIDI::Device
25
+ InputClass = Input
26
+ OutputClass = Output
29
27
  end
30
28
 
31
29
  end
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+
4
+ require 'coremidi'
5
+
6
+ module UniMIDI
7
+
8
+ module CoreMIDIAdapter
9
+
10
+ class Input
11
+ include CongruousApiAdapter::Device
12
+ include CongruousApiAdapter::Input
13
+ DeferToClass = CoreMIDI::Input
14
+ end
15
+
16
+ class Output
17
+ include CongruousApiAdapter::Device
18
+ include CongruousApiAdapter::Output
19
+ DeferToClass = CoreMIDI::Output
20
+ end
21
+
22
+ class Device
23
+ extend CongruousApiAdapter::Device::ClassMethods
24
+ DeferToClass = CoreMIDI::Device
25
+ InputClass = Input
26
+ OutputClass = Output
27
+ end
28
+
29
+ end
30
+
31
+ end
@@ -1,7 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
  #
3
- # (c)2010-2011 Ari Russo and licensed under the Apache 2.0 License
4
- #
5
3
 
6
4
  require 'midi-jruby'
7
5
 
@@ -12,20 +10,20 @@ module UniMIDI
12
10
  class Input
13
11
  include CongruousApiAdapter::Device
14
12
  include CongruousApiAdapter::Input
15
- defer_to MIDIJRuby::Input
13
+ DeferToClass = MIDIJRuby::Input
16
14
  end
17
15
 
18
16
  class Output
19
17
  include CongruousApiAdapter::Device
20
18
  include CongruousApiAdapter::Output
21
- defer_to MIDIJRuby::Output
19
+ DeferToClass = MIDIJRuby::Output
22
20
  end
23
21
 
24
22
  class Device
25
23
  extend CongruousApiAdapter::Device::ClassMethods
26
- defer_to MIDIJRuby::Device
27
- input_class Input
28
- output_class Output
24
+ DeferToClass = MIDIJRuby::Device
25
+ InputClass = Input
26
+ OutputClass = Output
29
27
  end
30
28
 
31
29
  end
@@ -1,7 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
  #
3
- # (c)2010-2011 Ari Russo and licensed under the Apache 2.0 License
4
- #
5
3
 
6
4
  require 'midi-winmm'
7
5
 
@@ -12,20 +10,20 @@ module UniMIDI
12
10
  class Input
13
11
  include CongruousApiAdapter::Device
14
12
  include CongruousApiAdapter::Input
15
- defer_to MIDIWinMM::Input
13
+ DeferToClass = MIDIWinMM::Input
16
14
  end
17
15
 
18
16
  class Output
19
17
  include CongruousApiAdapter::Device
20
18
  include CongruousApiAdapter::Output
21
- defer_to MIDIWinMM::Output
19
+ DeferToClass = MIDIWinMM::Output
22
20
  end
23
21
 
24
22
  class Device
25
23
  extend CongruousApiAdapter::Device::ClassMethods
26
- defer_to MIDIWinMM::Device
27
- input_class Input
28
- output_class Output
24
+ DeferToClass = MIDIWinMM::Device
25
+ InputClass = Input
26
+ OutputClass = Output
29
27
  end
30
28
 
31
29
  end
@@ -1,7 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
  #
3
- # (c)2010-2011 Ari Russo and licensed under the Apache 2.0 License
4
- #
5
3
 
6
4
  module UniMIDI
7
5
 
@@ -42,7 +40,7 @@ module UniMIDI
42
40
 
43
41
  module ClassMethods
44
42
 
45
- def first
43
+ def first
46
44
  new(device_class.first)
47
45
  end
48
46
 
@@ -60,29 +58,17 @@ module UniMIDI
60
58
  :output => device_class.all_by_type[:output].map { |d| get_output_class.new(d) }
61
59
  }
62
60
  end
63
-
64
- def defer_to(klass)
65
- const_set("DeferToClass", klass)
66
- end
67
-
61
+
68
62
  def get_input_class
69
- const_get("InputClass")
63
+ self::InputClass
70
64
  end
71
-
65
+
72
66
  def get_output_class
73
- const_get("OutputClass")
67
+ self::OutputClass
74
68
  end
75
69
 
76
- def input_class(klass)
77
- const_set("InputClass", klass)
78
- end
79
-
80
- def output_class(klass)
81
- const_set("OutputClass", klass)
82
- end
83
-
84
70
  def device_class
85
- const_get("DeferToClass")
71
+ self::DeferToClass
86
72
  end
87
73
 
88
74
  end
@@ -122,6 +108,8 @@ module UniMIDI
122
108
  def gets_bytestr(*a)
123
109
  @device.gets_bytestr(*a)
124
110
  end
111
+ alias_method :gets_s, :gets_bytestr
112
+ alias_method :gets_hex, :gets_bytestr
125
113
 
126
114
  #
127
115
  # returns an array of data bytes such as
@@ -140,6 +128,8 @@ module UniMIDI
140
128
  arr = gets_bytestr
141
129
  arr.map { |msg| msg[:data] }.join
142
130
  end
131
+ alias_method :gets_data_s, :gets_data_bytestr
132
+ alias_method :gets_data_hex, :gets_data_bytestr
143
133
 
144
134
  module ClassMethods
145
135
 
@@ -1,7 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
  #
3
- # (c)2010-2011 Ari Russo and licensed under the Apache 2.0 License
4
- #
5
3
 
6
4
  require 'singleton'
7
5
 
@@ -15,16 +13,18 @@ module UniMIDI
15
13
 
16
14
  def initialize
17
15
  lib = case RUBY_PLATFORM
18
- when /java/ then 'midi-jruby'
19
- when /linux/ then 'alsa-rawmidi'
20
- when /mingw/ then 'midi-winmm' #cygwin
21
- when /win/ then 'midi-winmm'
16
+ when /darwin/ then "ffi-coremidi"
17
+ when /java/ then "midi-jruby"
18
+ when /linux/ then "alsa-rawmidi"
19
+ when /mingw/ then "midi-winmm"
20
+ when /win/ then "midi-winmm"
22
21
  end
23
22
  require("unimidi/adapter/#{lib}")
24
23
  @interface = case RUBY_PLATFORM
24
+ when /darwin/ then CoreMIDIAdapter
25
25
  when /java/ then MIDIJRubyAdapter
26
26
  when /linux/ then AlsaRawMIDIAdapter
27
- when /mingw/ then MIDIWinMMAdapter #cygwin
27
+ when /mingw/ then MIDIWinMMAdapter
28
28
  when /win/ then MIDIWinMMAdapter
29
29
  end
30
30
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: unimidi
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.3
5
+ version: 0.1.4
6
6
  platform: i686-linux
7
7
  authors:
8
8
  - Ari Russo
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-05-04 00:00:00 -04:00
13
+ date: 2011-05-07 00:00:00 -04:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -35,6 +35,7 @@ extra_rdoc_files: []
35
35
 
36
36
  files:
37
37
  - lib/unimidi.rb
38
+ - lib/unimidi/adapter/ffi-coremidi.rb
38
39
  - lib/unimidi/adapter/midi-winmm.rb
39
40
  - lib/unimidi/adapter/alsa-rawmidi.rb
40
41
  - lib/unimidi/adapter/midi-jruby.rb