midicat 0.1.1 → 0.1.2

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: cac9b613fd3a9fefe484fdc5bebefb4ddcd20e84
4
- data.tar.gz: 31fba230f379a2e7e198ea1622db15868c7f5c6e
3
+ metadata.gz: 6cb6388d3e6227596006f34f4d6a94b2bc583700
4
+ data.tar.gz: b03cba304283aa6c2ca9b632b30d1366ba3e6f81
5
5
  SHA512:
6
- metadata.gz: dd1806bcbc6680bbc3bf6e5e87cfed8c42306dcf231f5066e8686edb74fe8ed47aa304e1e58cc752089f1d4560e8fc08fa84b85271ecd268a9236f2dc087d948
7
- data.tar.gz: 2741db40ef7c84c7a130980255c398a242824374b00402d0b67ab30824a912bf330c1b005eaa2e9358f23ca09dc2803674c0282577f3c0fae9106e979d40cf96
6
+ metadata.gz: 112f8fd9da8029d313a75d86c51bdebc3475d4bfe6af8fef28d88e90f0ff68c73c6c21f40aa662e839d735d9bf6d40f09ed6eccb93a5d745ac5fbce34cf86309
7
+ data.tar.gz: 70e7a6183eea339f20e4d9e8d95884084d5944785d46289b3ffeac66cbd0967409337582e9f0b2ae647950669afee48487464419b8c78a27765b499692de6bd2
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- midicat (0.1.0)
4
+ midicat (0.1.1)
5
5
  midi-nibbler
6
6
  unimidi
7
7
 
@@ -11,12 +11,12 @@ GEM
11
11
  alsa-rawmidi (0.3.1)
12
12
  ffi (~> 1.0)
13
13
  coderay (1.1.0)
14
- ffi (1.9.6)
15
- ffi-coremidi (0.3.7)
14
+ ffi (1.9.10)
15
+ ffi-coremidi (0.3.8)
16
16
  ffi (~> 1.9, >= 1.9.6)
17
17
  method_source (0.8.2)
18
18
  midi-jruby (0.1.5)
19
- midi-message (0.4.5)
19
+ midi-message (0.4.9)
20
20
  midi-nibbler (0.2.3)
21
21
  midi-message (~> 0.4, >= 0.4.4)
22
22
  midi-winmm (0.1.10)
@@ -41,3 +41,6 @@ DEPENDENCIES
41
41
  midicat!
42
42
  pry
43
43
  rake (~> 10.0)
44
+
45
+ BUNDLED WITH
46
+ 1.10.6
@@ -2,13 +2,4 @@
2
2
 
3
3
  require 'midicat'
4
4
 
5
- puts <<_EOM_
6
-
7
- /\\ ___
8
- ) ( ') |___| midicat #{Midicat::VERSION}
9
- ( / ) _| _| Ctrl-C to exit
10
- \\(__)| (@) (@)
11
-
12
- _EOM_
13
-
14
- Midicat::Cli.new
5
+ Midicat::Cli.new ARGV
@@ -1,8 +1,20 @@
1
+ require 'optparse'
2
+ require 'midicat/version'
3
+
1
4
  module Midicat
2
5
  class Cli
3
- attr_reader :device
6
+ attr_reader :device, :options
7
+
8
+ def initialize args
9
+ @options = {
10
+ raw_mode: false
11
+ }
12
+
13
+ opt = OptionParser.new
14
+ opt.on('--raw', 'Enable raw mode (shows raw midi event)') { @options[:raw_mode] = true }
15
+ opt.version = Midicat::VERSION
16
+ opt.parse! args
4
17
 
5
- def initialize()
6
18
  @ni = Nibbler.new
7
19
 
8
20
  if UniMIDI::Input.all.length > 1
@@ -27,18 +39,31 @@ module Midicat
27
39
  def mainloop(device)
28
40
  loop do
29
41
  device.gets.each do |data|
30
- timestamp = sprintf "%12.4f", data[:timestamp]
31
-
32
- ms = @ni.parse(*data[:data])
33
- if ms.is_a? Array
34
- ms.each do |mss|
35
- puts "#{timestamp} #{device.name} #{Midicat::Formatter::format mss}"
36
- end
37
- else
38
- puts "#{timestamp} #{device.name} #{Midicat::Formatter::format ms}"
42
+ show_message device.name, data
43
+ end
44
+ end
45
+ end
46
+
47
+ def show_message device_name, data
48
+ timestamp = sprintf "%12.4f", data[:timestamp]
49
+
50
+ if @options[:raw_mode]
51
+ puts "#{timestamp} #{device_name} #{data[:data]}"
52
+ else
53
+ messages = @ni.parse(*data[:data])
54
+
55
+ if messages.is_a? Array
56
+ messages.each do |message|
57
+ pretty_print timestamp, device_name, message
39
58
  end
59
+ else
60
+ pretty_print timestamp, device_name, messages
40
61
  end
41
62
  end
42
63
  end
64
+
65
+ def pretty_print timestamp, device_name, message
66
+ puts "#{timestamp} #{device_name} #{Midicat::Formatter::format message}"
67
+ end
43
68
  end
44
69
  end
@@ -1,3 +1,3 @@
1
1
  module Midicat
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
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.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - polamjag
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-07 00:00:00.000000000 Z
11
+ date: 2015-09-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -121,7 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
121
121
  version: '0'
122
122
  requirements: []
123
123
  rubyforge_project:
124
- rubygems_version: 2.4.5
124
+ rubygems_version: 2.4.5.1
125
125
  signing_key:
126
126
  specification_version: 4
127
127
  summary: pretty cat/tailf-like command for midi inputs