midicat 0.1.1 → 0.1.2

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