fluent-plugin-midi 0.0.2 → 0.1.0

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: 7ee15527917324084f637fb3d0583876ee27e65f
4
- data.tar.gz: 6aef83ef38ba7324e53c4cdb0e44784ec5283227
3
+ metadata.gz: 8fc6bab0adc32fbe6b9e25ce4ecc40b1ea627610
4
+ data.tar.gz: 560ec003f217148a7b6961f36de69d634c614e78
5
5
  SHA512:
6
- metadata.gz: e7b3ca6ecf19a1ba3f294741e3a04acd6770d3276c43b6bae5838b2dd836bf989ef54acc4e7aa089dd04f5ccc5fa0ab6ff948c7da98b33d7b9a18221de470476
7
- data.tar.gz: 9f85b85a3edc2647c14e157e0ba3b87d33092bceb3fb656a76e6fc9e52ae449d37a184a6b48625e5e7686ef190656173170722fe313128ccaa02caaedacdb372
6
+ metadata.gz: 039954ea6e26706e1abe89a5309778d1f87ae3e01a028e55bb0bc988c805da76bb4a8eaeb287508adcb68be69ea3fef3c868f03b42c749d1800b56ac545506ba
7
+ data.tar.gz: 709cbf5011cb3978a28184595d5593c2b27406d773688dbb4cb3b3c0dec6ae787fc347ae77f8370059e2cb63250893b34be909f67cf956de31292ee05f8e690d
data/README.md CHANGED
@@ -1,4 +1,8 @@
1
- # MIDI output plugin for [Fluentd](http://fluentd.org/)
1
+ # MIDI Input/Output plugin for [Fluentd](http://fluentd.org/)
2
+ [![Gem Version](https://img.shields.io/gem/v/fluent-plugin-midi.svg)](http://badge.fury.io/rb/fluent-plugin-midi)
3
+ [![Code Climate](https://img.shields.io/codeclimate/github/meganemura/fluent-plugin-midi.svg)](https://codeclimate.com/github/meganemura/fluent-plugin-midi)
4
+ [![Dependency Status](https://gemnasium.com/meganemura/fluent-plugin-midi.svg)](https://gemnasium.com/meganemura/fluent-plugin-midi)
5
+
2
6
 
3
7
  Experimental project for log audiolization.
4
8
 
@@ -10,8 +14,10 @@ $ gem install fluent-plugin-midi
10
14
 
11
15
  ## Usage
12
16
 
17
+ * Output
13
18
  ```
14
19
  echo '{"status":144, "note": 60, "velocity": 120}' | fluent-cat debug
20
+ sleep 3
15
21
  echo '{"status":144, "note": 60, "velocity": 0}' | fluent-cat debug
16
22
  ```
17
23
 
@@ -23,6 +29,16 @@ echo '{"status":144, "note": 60, "velocity": 120, "duration": 3}' | fluent-cat d
23
29
 
24
30
  ## Configuration
25
31
 
32
+ * Input
33
+ ```
34
+ <source>
35
+ type midi
36
+ tag TAG
37
+ port MIDI_PORT_INDEX
38
+ </source>
39
+ ```
40
+
41
+ * Output
26
42
  ```
27
43
  <match pattern>
28
44
  type midi
@@ -4,10 +4,10 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "fluent-plugin-midi"
7
- spec.version = "0.0.2"
7
+ spec.version = "0.1.0"
8
8
  spec.authors = ["meganemura"]
9
9
  spec.email = ["mura2megane@gmail.com"]
10
- spec.summary = %q{MIDI Output plugin for Fluentd event collector}
10
+ spec.summary = %q{MIDI Input/Output plugin for Fluentd event collector}
11
11
  spec.description = spec.summary
12
12
  spec.homepage = "https://github.com/meganemura/fluent-plugin-midi"
13
13
  spec.license = "MIT"
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.require_paths = ["lib"]
19
19
 
20
20
  spec.add_runtime_dependency "fluentd"
21
- spec.add_runtime_dependency "rtmidi"
21
+ spec.add_runtime_dependency "rtmidi", ">= 0.3"
22
22
  spec.add_development_dependency "bundler", "~> 1.5"
23
23
  spec.add_development_dependency "rake"
24
24
  spec.add_development_dependency "pry"
@@ -0,0 +1,35 @@
1
+ module Fluent
2
+ class MIDIInput < Input
3
+ Fluent::Plugin.register_input('midi', self)
4
+
5
+ config_param :tag, :string
6
+ config_param :port, :integer, :default => 0
7
+
8
+ def initialize
9
+ super
10
+ require 'rtmidi'
11
+ end
12
+
13
+ def configure(conf)
14
+ super
15
+ end
16
+
17
+ def start
18
+ super
19
+ @input = RtMidi::In.new
20
+ @input.receive_channel_message do |byte1, byte2, byte3|
21
+ record = {
22
+ 'status' => byte1,
23
+ 'note' => byte2,
24
+ 'velocity' => byte3,
25
+ }
26
+ Engine.emit(@tag, Engine.now, record)
27
+ end
28
+ @input.open_port(@port)
29
+ end
30
+
31
+ def shutdown
32
+ @input.close_port
33
+ end
34
+ end
35
+ end
@@ -16,7 +16,7 @@ module Fluent
16
16
  def start
17
17
  super
18
18
  @output = RtMidi::Out.new
19
- @output.open_port(port)
19
+ @output.open_port(@port)
20
20
  end
21
21
 
22
22
  def shutdown
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-midi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - meganemura
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-28 00:00:00.000000000 Z
11
+ date: 2014-06-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - '>='
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: '0.3'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '>='
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: '0.3'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -80,7 +80,7 @@ dependencies:
80
80
  - - '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
- description: MIDI Output plugin for Fluentd event collector
83
+ description: MIDI Input/Output plugin for Fluentd event collector
84
84
  email:
85
85
  - mura2megane@gmail.com
86
86
  executables: []
@@ -93,6 +93,7 @@ files:
93
93
  - README.md
94
94
  - Rakefile
95
95
  - fluent-plugin-midi.gemspec
96
+ - lib/fluent/plugin/in_midi.rb
96
97
  - lib/fluent/plugin/out_midi.rb
97
98
  - test/helper.rb
98
99
  - test/plugin/test_out_midi.rb
@@ -119,7 +120,7 @@ rubyforge_project:
119
120
  rubygems_version: 2.0.3
120
121
  signing_key:
121
122
  specification_version: 4
122
- summary: MIDI Output plugin for Fluentd event collector
123
+ summary: MIDI Input/Output plugin for Fluentd event collector
123
124
  test_files:
124
125
  - test/helper.rb
125
126
  - test/plugin/test_out_midi.rb