midicat 0.0.2 → 0.0.3

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: 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