midicat 0.0.2 → 0.0.3

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
  SHA1:
3
- metadata.gz: a79aebd0ee0905e57ec08a10f6767547e7fe8447
4
- data.tar.gz: f37e02b4ba163562e9512e1dc437ad53d0fc8176
3
+ metadata.gz: 2a588663d682ab9715cacaef536a84be93fbbb62
4
+ data.tar.gz: c8eadbf1a476f0620211dee44178ddcc53ed28d4
5
5
  SHA512:
6
- metadata.gz: 3ee8864d634c882a551f82ba99dd9497c991688ae1bdd06ac1168c11ddcb80015e248a3652d378cca2ee596a6d41adc0b44365cdb3f141ccbbe996194c9e2eb7
7
- data.tar.gz: 2d3f91474a2fdffa92cc5132b71df8ff199bd4af50e158ea8d693fab685e57fdac5363135f978bb6ec764a0e6547f98dbf18b751db5c96a944a2d7a87554576f
6
+ metadata.gz: adec8660a07a63697853c21be22a5b7016d63c6e0e0c92aca2e4a28b6d76b0c817831d22daaa92eb30256edc39d2a0477a41eec89f30c67f3963a89f33d842ca
7
+ data.tar.gz: 23a2698750b6d79a3b13cc2549092390db4d7a7d3b20936e92c13c878a38cb10c7577577a5f73935dec715ff09f0eb5e31ebfe9131f9d59cb7cc151926be4c08
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- midicat (0.0.1)
4
+ midicat (0.0.2)
5
5
  midi-nibbler
6
6
  unimidi
7
7
 
@@ -10,16 +10,23 @@ GEM
10
10
  specs:
11
11
  alsa-rawmidi (0.3.1)
12
12
  ffi (~> 1.0)
13
+ coderay (1.1.0)
13
14
  ffi (1.9.6)
14
15
  ffi-coremidi (0.3.7)
15
16
  ffi (~> 1.9, >= 1.9.6)
16
- midi-jruby (0.1.4)
17
+ method_source (0.8.2)
18
+ midi-jruby (0.1.5)
17
19
  midi-message (0.4.5)
18
- midi-nibbler (0.2.1)
19
- midi-message (~> 0)
20
+ midi-nibbler (0.2.3)
21
+ midi-message (~> 0.4, >= 0.4.4)
20
22
  midi-winmm (0.1.10)
21
23
  ffi (>= 1.0)
24
+ pry (0.10.1)
25
+ coderay (~> 1.1.0)
26
+ method_source (~> 0.8.1)
27
+ slop (~> 3.4)
22
28
  rake (10.4.2)
29
+ slop (3.6.0)
23
30
  unimidi (0.4.6)
24
31
  alsa-rawmidi (~> 0.3, >= 0.3.1)
25
32
  ffi-coremidi (~> 0.3, >= 0.3.5)
@@ -32,4 +39,5 @@ PLATFORMS
32
39
  DEPENDENCIES
33
40
  bundler (~> 1.7)
34
41
  midicat!
42
+ pry
35
43
  rake (~> 10.0)
data/README.md CHANGED
@@ -1,30 +1,30 @@
1
1
  # Midicat
2
2
 
3
- TODO: Write a gem description
3
+ cat/tailf for MIDI input events
4
4
 
5
- ## Installation
5
+ ![demo screen](./demo.gif)
6
6
 
7
- Add this line to your application's Gemfile:
7
+ ## Installation
8
8
 
9
- ```ruby
10
- gem 'midicat'
11
- ```
9
+ Install it yourself as:
12
10
 
13
- And then execute:
11
+ $ gem install midicat
14
12
 
15
- $ bundle
13
+ ## Usage
16
14
 
17
- Or install it yourself as:
15
+ Just execute
18
16
 
19
- $ gem install midicat
17
+ ```
18
+ $ midicat
19
+ ```
20
20
 
21
- ## Usage
21
+ after installing it
22
22
 
23
- TODO: Write usage instructions here
23
+ note: you should have gem executables directory in `$PATH` (`gem env gempath` shows the path to append your `$PATH`)
24
24
 
25
25
  ## Contributing
26
26
 
27
- 1. Fork it ( https://github.com/[my-github-username]/midicat/fork )
27
+ 1. Fork it ( https://github.com/polamjag/midicat/fork )
28
28
  2. Create your feature branch (`git checkout -b my-new-feature`)
29
29
  3. Commit your changes (`git commit -am 'Add some feature'`)
30
30
  4. Push to the branch (`git push origin my-new-feature`)
@@ -3,6 +3,8 @@
3
3
  require 'unimidi'
4
4
  require 'nibbler'
5
5
 
6
+ require 'midicat'
7
+
6
8
  devices = []
7
9
  threads = []
8
10
  data = []
@@ -16,35 +18,48 @@ def format_mes(message)
16
18
  "Ch.#{message.channel}.#{message.name} ON @ #{message.velocity}"
17
19
  elsif message.is_a? MIDIMessage::NoteOff
18
20
  "Ch.#{message.channel}.#{message.name} OFF @ #{message.velocity}"
21
+ elsif message.is_a? MIDIMessage::SystemExclusive::Message
22
+ "SysEx. #{message.data.to_s}"
19
23
  else
20
24
  message
21
- p message
22
25
  end
23
26
  end
24
27
 
28
+ puts <<_EOM_
29
+ /\\
30
+ ) ( ') midicat #{Midicat::VERSION}
31
+ ( / ) Ctrl-C to exit
32
+ \(__)|
33
+
34
+ _EOM_
35
+
25
36
  UniMIDI::Input.all.each_with_index do |d, i|
26
- p d
37
+ puts d.pretty_name
27
38
  devices[i] = d.open
28
39
  ii = 0
29
40
  threads << Thread.new do
30
41
  loop do
31
42
  data[i] = d.gets
32
43
  data[i].each do |dd|
33
- timestamps[i] = sprintf "%8.4f", dd[:timestamp]
34
- ms = ni.parse *dd[:data]
44
+ timestamps[i] = sprintf "%12.4f", dd[:timestamp]
45
+ ms = ni.parse(*dd[:data])
35
46
  if ms.is_a? Array
36
47
  ms.each do |mss|
37
- print "#{timestamps[i]} #{d.name} #{format_mes mss}\n"
48
+ puts "#{timestamps[i]} #{d.name} #{format_mes mss}"
38
49
  end
39
50
  else
40
- print "#{timestamps[i]} #{d.name} #{format_mes ms}\n"
51
+ puts "#{timestamps[i]} #{d.name} #{format_mes ms}"
41
52
  end
42
53
  end
43
54
  end
44
55
  end
45
56
  end
46
57
 
47
- threads.each do |t|
48
- t.join
58
+ if threads.size != 0
59
+ threads.each do |t|
60
+ t.join
61
+ end
62
+ else
63
+ puts "no MIDI devices found."
64
+ puts "aborting"
49
65
  end
50
-
Binary file
@@ -1,3 +1,3 @@
1
1
  module Midicat
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -19,6 +19,7 @@ Gem::Specification.new do |spec|
19
19
 
20
20
  spec.add_development_dependency "bundler", "~> 1.7"
21
21
  spec.add_development_dependency "rake", "~> 10.0"
22
+ spec.add_development_dependency "pry"
22
23
 
23
24
  spec.add_dependency 'unimidi'
24
25
  spec.add_dependency 'midi-nibbler'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: midicat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - polamjag
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-20 00:00:00.000000000 Z
11
+ date: 2015-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: pry
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: unimidi
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -81,6 +95,7 @@ files:
81
95
  - README.md
82
96
  - Rakefile
83
97
  - bin/midicat
98
+ - demo.gif
84
99
  - lib/midicat.rb
85
100
  - lib/midicat/version.rb
86
101
  - midicat.gemspec