rtmidi 0.2 → 0.2.1

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.
Files changed (4) hide show
  1. checksums.yaml +6 -14
  2. data/ext/Rakefile +22 -15
  3. data/ext/ruby-rtmidi.so +0 -0
  4. metadata +33 -5
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- NGFjMjhjNTZhNGQwMzgzMTI4NTcyNjFjOTI5NjRiZTNmOGJjYmVkNQ==
5
- data.tar.gz: !binary |-
6
- NzBmOGM0ZDYwNDNmMDBhODMwNzI2OWQ5MGMwZTdiMjUwN2JkZjM5Mg==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- MTYyMWJlYTE3NDZiODUzNWQyN2UxYTRkY2FjNmI2YmViOTI1YWExZWUxMTg0
10
- MDQyMjNjODgzMDliZjUyNzViZTM3NGMwMWI1NDYyN2RhNGZhNGYzNTdkY2Y0
11
- ODIwOGQ0YjIxZGEwNTFjZmVhZGI1YjI1YTgzYTZhYzgyY2RhZDU=
12
- data.tar.gz: !binary |-
13
- OTBhOTJmOGY2OTM4ZWZkYTAyNzVjYmJlODY3NWUyMTY4ODA0ZmQzNmUxOTlk
14
- NjY5YWUwYTg3NzAxZDYwOWIxYWE2MmYyMDBlZGEzNGRiMTllYjhhN2VjZWNi
15
- ODNlMzBjYThjYjIyNjkyODIxZjJlODRiYzU1ZWI2NmRmODU2ZmI=
2
+ SHA1:
3
+ metadata.gz: a7296f8034f41a26f21bbe45d3dfcc31c66a4b62
4
+ data.tar.gz: 53af0cdf65ae9250f0aa2da07d379b61d1f154f6
5
+ SHA512:
6
+ metadata.gz: 63f9593bc6a9f405d923607fd2fa82405f8fdaf217ed808386b46f864b1442083874632bc048a8ec36bcbe75906be14dc9e1c30856cc412458abdff40ae7ba6d
7
+ data.tar.gz: 5c64d24a84430a1296bdb28a88510cfdf302bc20f639c014200f2b417500e007f3259b9cb51b162f39d0c8ef2dcdb6a12f41b31268ab3361774fb3effe9f82ef
@@ -1,3 +1,5 @@
1
+ require 'rake/clean'
2
+
1
3
  EXT_DIR = File.expand_path(File.dirname __FILE__)
2
4
  RTMIDI_DIR = "#{EXT_DIR}/rtmidi-2.0.1"
3
5
 
@@ -6,6 +8,8 @@ OS_X = (HOST_OS =~ /darwin/)
6
8
  WINDOWS = ((HOST_OS =~ /win/ and HOST_OS !~ /darwin/) or HOST_OS =~ /mingw/)
7
9
  LINUX = (HOST_OS =~ /linux/)
8
10
 
11
+ CLEAN.include('**/*.o', '*.log')
12
+ CLOBBER.include('*.so')
9
13
 
10
14
  def cd(dir)
11
15
  puts "cd #{dir}"
@@ -21,21 +25,24 @@ def run(cmd)
21
25
  end
22
26
 
23
27
 
24
- PREDEFINE = case
25
- when OS_X then "__MACOSX_CORE__"
26
- when WINDOWS then "__WINDOWS_MM__"
27
- when LINUX then "__UNIX_JACK__" # TODO: could also be "__LINUX_ALSA__"
28
- else
29
- end
30
-
31
- SYSTEM_LIBS = case
32
- when OS_X then "-framework CoreMIDI -framework CoreAudio -framework CoreFoundation"
33
- when WINDOWS then "-lwinmm"
34
- when LINUX then "-ljack" # TODO: could also be "-lasound -lpthread" for ALSA
28
+ PREDEFINE, SYSTEM_LIBS = *case
29
+ when OS_X then ["-D__MACOSX_CORE__", "-framework CoreMIDI -framework CoreAudio -framework CoreFoundation"]
30
+ when WINDOWS then ["-D__WINDOWS_MM__", "-lwinmm"]
31
+ when LINUX then
32
+ defines, libs = '', ''
33
+ {:alsa => '__LINUX_ALSA__', :jack => '__UNIX_JACK__'}.select do |pkg, _|
34
+ system "pkg-config --exists #{pkg}"
35
+ end.each do |pkg, macro|
36
+ defines << "-D#{macro} "
37
+ libs << `pkg-config --libs #{pkg}`.chomp
38
+ end
39
+ if defines.empty?
40
+ raise 'Neither JACK or ALSA detected using pkg-config. Please install one of them first.'
41
+ end
42
+ [defines, libs]
35
43
  else
36
44
  end
37
45
 
38
-
39
46
  desc 'run the make task'
40
47
  task :default => :make
41
48
 
@@ -46,12 +53,12 @@ task :make do
46
53
  abort "missing g++" unless find_executable "g++"
47
54
 
48
55
  cd RTMIDI_DIR
49
- run "g++ -O3 -Wall -Iinclude -fPIC -D#{PREDEFINE} -c RtMidi.cpp -o RtMidi.o"
56
+ run "g++ -O3 -Wall -Iinclude -fPIC #{PREDEFINE} -c RtMidi.cpp -o RtMidi.o"
50
57
  puts
51
58
 
52
59
  cd EXT_DIR
53
60
  run "g++ -g -Wall -I#{RTMIDI_DIR} -fPIC -c ruby-rtmidi.cpp"
54
61
  puts
55
- run "g++ -g -Wall -I#{RTMIDI_DIR} -I#{RTMIDI_DIR}/include -D#{PREDEFINE} -fPIC -shared -o ruby-rtmidi.so " +
62
+ run "g++ -g -Wall -I#{RTMIDI_DIR} -I#{RTMIDI_DIR}/include #{PREDEFINE} -fPIC -shared -o ruby-rtmidi.so " +
56
63
  "ruby-rtmidi.o #{RTMIDI_DIR}/RtMidi.o #{SYSTEM_LIBS}"
57
- end
64
+ end
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rtmidi
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.2'
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Murray
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-15 00:00:00.000000000 Z
11
+ date: 2013-11-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi
@@ -24,6 +24,34 @@ dependencies:
24
24
  - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.9'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '10.1'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '10.1'
41
+ - !ruby/object:Gem::Dependency
42
+ name: yard
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: '0.8'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '0.8'
27
55
  description: Ruby wrapper for RtMidi, a cross-platform C++ library for realtime MIDI
28
56
  input and output.
29
57
  email: adam@compusition.com
@@ -66,19 +94,19 @@ require_paths:
66
94
  - ext
67
95
  required_ruby_version: !ruby/object:Gem::Requirement
68
96
  requirements:
69
- - - ! '>='
97
+ - - '>='
70
98
  - !ruby/object:Gem::Version
71
99
  version: '0'
72
100
  required_rubygems_version: !ruby/object:Gem::Requirement
73
101
  requirements:
74
- - - ! '>='
102
+ - - '>='
75
103
  - !ruby/object:Gem::Version
76
104
  version: '0'
77
105
  requirements:
78
106
  - gcc
79
107
  - g++
80
108
  rubyforge_project:
81
- rubygems_version: 2.0.6
109
+ rubygems_version: 2.0.5
82
110
  signing_key:
83
111
  specification_version: 4
84
112
  summary: Ruby-RtMidi