hindbaer 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/README.markdown +8 -2
- data/hindbaer.gemspec +1 -1
- data/lib/hindbaer/clip.rb +1 -0
- data/lib/hindbaer/info.rb +4 -0
- data/lib/hindbaer/plugin/base.rb +23 -0
- data/lib/hindbaer/plugin/compressor.rb +19 -0
- data/lib/hindbaer/plugin/equalizer.rb +63 -0
- data/lib/hindbaer/plugin/voice_profiler.rb +63 -0
- data/lib/hindbaer/plugin.rb +21 -15
- data/lib/hindbaer/session.rb +60 -0
- data/lib/hindbaer/track.rb +1 -1
- data/lib/hindbaer/version.rb +1 -1
- data/spec/clip_spec.rb +1 -1
- data/spec/fixtures/project.nhsx +9 -6
- data/spec/info_spec.rb +4 -0
- data/spec/{plugin_spec.rb → plugin_base_spec.rb} +1 -1
- data/spec/session_spec.rb +8 -1
- data/spec/track_spec.rb +2 -2
- metadata +23 -19
data/README.markdown
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
Hindbær
|
2
2
|
=======
|
3
3
|
|
4
|
-
|
5
|
-
|
4
|
+
Parse, modify and generate [Hindenburg Journalist](http://hindenburgsystems.com/)
|
5
|
+
audio session files.
|
6
6
|
|
7
7
|
Installation
|
8
8
|
------------
|
@@ -30,6 +30,10 @@ Parse a session file:
|
|
30
30
|
|
31
31
|
session.length # in seconds
|
32
32
|
|
33
|
+
Render Session object as xml:
|
34
|
+
|
35
|
+
session.to_xml
|
36
|
+
|
33
37
|
Retrieve all tracks:
|
34
38
|
|
35
39
|
tracks = session.tracks
|
@@ -45,6 +49,8 @@ Retrieve all track plugins:
|
|
45
49
|
plugin.name
|
46
50
|
plugin.uid
|
47
51
|
|
52
|
+
There is currently support for the four default plugins and their attributes.
|
53
|
+
|
48
54
|
Retrieve all regions for a given track:
|
49
55
|
|
50
56
|
regions = tracks.first.regions
|
data/hindbaer.gemspec
CHANGED
@@ -4,7 +4,7 @@ require File.expand_path('../lib/hindbaer/version', __FILE__)
|
|
4
4
|
Gem::Specification.new do |gem|
|
5
5
|
gem.authors = ["Jamie Hodge"]
|
6
6
|
gem.email = ["jamiehodge@me.com"]
|
7
|
-
gem.description = %q{A Hindenburg Journalist
|
7
|
+
gem.description = %q{A Hindenburg Journalist parser}
|
8
8
|
gem.summary = %q{Parse, modify and generate Hindenburg Journalist audio session files}
|
9
9
|
gem.homepage = "http://github.com/jamiehodge/hindbaer"
|
10
10
|
|
data/lib/hindbaer/clip.rb
CHANGED
data/lib/hindbaer/info.rb
CHANGED
@@ -0,0 +1,63 @@
|
|
1
|
+
module Hindbaer
|
2
|
+
module Plugin
|
3
|
+
class Equalizer < Hindbaer::Plugin::Base
|
4
|
+
|
5
|
+
def uid
|
6
|
+
'nheq'
|
7
|
+
end
|
8
|
+
|
9
|
+
def name
|
10
|
+
'Equalizer'
|
11
|
+
end
|
12
|
+
|
13
|
+
def bypass
|
14
|
+
@doc['Bypass']
|
15
|
+
end
|
16
|
+
|
17
|
+
def low_freq_freq
|
18
|
+
@doc['LF_Freq']
|
19
|
+
end
|
20
|
+
|
21
|
+
def low_freq_gain
|
22
|
+
@doc['LF_Gain']
|
23
|
+
end
|
24
|
+
|
25
|
+
def low_freq_q
|
26
|
+
@doc['LF_Q']
|
27
|
+
end
|
28
|
+
|
29
|
+
def low_freq_type
|
30
|
+
@doc['LF_Type']
|
31
|
+
end
|
32
|
+
|
33
|
+
def mid_freq_freq
|
34
|
+
@doc['MF_Freq']
|
35
|
+
end
|
36
|
+
|
37
|
+
def mid_freq_gain
|
38
|
+
@doc['MF_Gain']
|
39
|
+
end
|
40
|
+
|
41
|
+
def mid_freq_q
|
42
|
+
@doc['MF_Q']
|
43
|
+
end
|
44
|
+
|
45
|
+
def high_freq_freq
|
46
|
+
@doc['HF_Freq']
|
47
|
+
end
|
48
|
+
|
49
|
+
def high_freq_gain
|
50
|
+
@doc['HF_Gain']
|
51
|
+
end
|
52
|
+
|
53
|
+
def high_freq_q
|
54
|
+
@doc['HF_Q']
|
55
|
+
end
|
56
|
+
|
57
|
+
def high_freq_type
|
58
|
+
@doc['HF_Type']
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
module Hindbaer
|
2
|
+
module Plugin
|
3
|
+
class VoiceProfiler < Hindbaer::Plugin::Base
|
4
|
+
|
5
|
+
def uid
|
6
|
+
'nhft'
|
7
|
+
end
|
8
|
+
|
9
|
+
def name
|
10
|
+
'Voice Profiler'
|
11
|
+
end
|
12
|
+
|
13
|
+
def low_freq_freq
|
14
|
+
@doc['LF_Freq']
|
15
|
+
end
|
16
|
+
|
17
|
+
def low_freq_gain
|
18
|
+
@doc['LF_Gain']
|
19
|
+
end
|
20
|
+
|
21
|
+
def low_freq_q
|
22
|
+
@doc['LF_Q']
|
23
|
+
end
|
24
|
+
|
25
|
+
def mid_freq_freq
|
26
|
+
@doc['MF_Freq']
|
27
|
+
end
|
28
|
+
|
29
|
+
def mid_freq_gain
|
30
|
+
@doc['MF_Gain']
|
31
|
+
end
|
32
|
+
|
33
|
+
def mid_freq_q
|
34
|
+
@doc['MF_Q']
|
35
|
+
end
|
36
|
+
|
37
|
+
def high_freq_freq
|
38
|
+
@doc['HF_Freq']
|
39
|
+
end
|
40
|
+
|
41
|
+
def high_freq_gain
|
42
|
+
@doc['HF_Gain']
|
43
|
+
end
|
44
|
+
|
45
|
+
def high_freq_q
|
46
|
+
@doc['HF_Q']
|
47
|
+
end
|
48
|
+
|
49
|
+
def high_pass_freq
|
50
|
+
@doc['HP_Freq']
|
51
|
+
end
|
52
|
+
|
53
|
+
def high_pass_gain
|
54
|
+
@doc['HP_Gain']
|
55
|
+
end
|
56
|
+
|
57
|
+
def comp
|
58
|
+
@doc['Comp']
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
data/lib/hindbaer/plugin.rb
CHANGED
@@ -1,20 +1,26 @@
|
|
1
|
+
require_relative 'plugin/base'
|
2
|
+
require_relative 'plugin/equalizer'
|
3
|
+
require_relative 'plugin/compressor'
|
4
|
+
require_relative 'plugin/voice_profiler'
|
5
|
+
|
1
6
|
module Hindbaer
|
2
|
-
|
7
|
+
module Plugin
|
8
|
+
extend self
|
3
9
|
|
4
|
-
def
|
5
|
-
|
10
|
+
def create(fragment)
|
11
|
+
case fragment['UID']
|
12
|
+
when 'nheq'
|
13
|
+
Hindbaer::Plugin::Equalizer.new(fragment)
|
14
|
+
when 'nhcl'
|
15
|
+
Hindbaer::Plugin::Compressor.new(fragment)
|
16
|
+
when 'nhlu'
|
17
|
+
Hindbaer::Plugin::Base.new(fragment)
|
18
|
+
when 'nhft'
|
19
|
+
Hindbaer::Plugin::VoiceProfiler.new(fragment)
|
20
|
+
end
|
6
21
|
end
|
7
22
|
|
8
|
-
def id
|
9
|
-
@doc['Id'].to_i
|
10
|
-
end
|
11
|
-
|
12
|
-
def name
|
13
|
-
@doc['Name']
|
14
|
-
end
|
15
|
-
|
16
|
-
def uid
|
17
|
-
@doc['UID']
|
18
|
-
end
|
19
23
|
end
|
20
|
-
|
24
|
+
|
25
|
+
end
|
26
|
+
|
data/lib/hindbaer/session.rb
CHANGED
@@ -45,6 +45,66 @@ module Hindbaer
|
|
45
45
|
Hindbaer.tc_to_secs(r.length)
|
46
46
|
end.max
|
47
47
|
end
|
48
|
+
|
49
|
+
def to_xml
|
50
|
+
Nokogiri::XML::Builder.new do |xml|
|
51
|
+
xml.Session Version: software_version, Samplerate: sample_rate do
|
52
|
+
xml.Info Subtitle: info.subtitle, Album: info.album, Composer: info.composer, Track: info.album_track, Genre: info.genre, Author: info.author, Link: info.link, Email: info.email, Description: info.description, Artist: info.artist, Date: info.date, Title: info.title, Explicit: info.explicit? ? 'YES' : 'NO', Copyright: info.copyright, Identifier: info.identifier, Keywords: info.keywords.join(', '), Reference: info.reference
|
53
|
+
xml.AudioPool Path: audio_pool.path, Location: audio_pool.location do
|
54
|
+
audio_pool.files.each do |file|
|
55
|
+
xml.File Id: file.id, Name: file.name, Duration: file.duration, Channels: file.num_channels, Leq: file.leq do
|
56
|
+
xml.MetaData OriginalPath: file.original_path
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
xml.Tracks do
|
61
|
+
tracks.each do |track|
|
62
|
+
xml.Track Name: track.name, Pan: track.pan do
|
63
|
+
track.regions.each do |region|
|
64
|
+
xml.Region Ref: region.reference.id, Name: region.name, Start: region.start_time, Length: region.length, Offset: region.offset, FadeIn: region.fade_in, FadeOut: region.fade_out, Gain: region.gain, Leq: region.leq do
|
65
|
+
region.fades.each do |fade|
|
66
|
+
xml.Fade Start: fade.start_time, Length: fade.length, Gain: fade.gain
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
unless track.plugins.empty?
|
71
|
+
xml.Plugins do
|
72
|
+
track.plugins.each do |plugin|
|
73
|
+
case plugin.uid
|
74
|
+
when 'nheq'
|
75
|
+
xml.Plugin Id: plugin.id, Name: plugin.name, UID: plugin.uid, Bypass: plugin.bypass, LF_Freq: plugin.low_freq_freq, LF_Gain: plugin.low_freq_gain, LF_Q: plugin.low_freq_q, LF_Type: plugin.low_freq_type, MF_Freq: plugin.mid_freq_freq, MF_Gain: plugin.mid_freq_gain, MF_Q: plugin.mid_freq_q, HF_Freq: plugin.high_freq_freq, HF_Gain: plugin.high_freq_gain, HF_Q: plugin.high_freq_q, HF_Type: plugin.high_freq_type do
|
76
|
+
xml.cdata('')
|
77
|
+
end
|
78
|
+
when 'nhcl'
|
79
|
+
xml.Plugin Id: plugin.id, Name: plugin.name, UID: plugin.uid, Comp: plugin.comp
|
80
|
+
when 'nhlu'
|
81
|
+
xml.Plugin Id: plugin.id, Name: plugin.name, UID: plugin.uid
|
82
|
+
when 'nhft'
|
83
|
+
xml.Plugin Id: plugin.id, Name: plugin.name, UID: plugin.uid, LF_Freq: plugin.low_freq_freq, LF_Gain: plugin.low_freq_gain, LF_Q: plugin.low_freq_q, MF_Freq: plugin.mid_freq_freq, MF_Gain: plugin.mid_freq_gain, MF_Q: plugin.mid_freq_q, HF_Freq: plugin.high_freq_freq, HF_Gain: plugin.high_freq_gain, HF_Q: plugin.high_freq_q, HP_Freq: plugin.high_pass_freq, HP_Gain: plugin.high_pass_gain, Comp: plugin.comp
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
xml.Clipboard do
|
92
|
+
clipboard_groups.each do |group|
|
93
|
+
xml.Group Caption: group.caption, Used: group.num_clips_used do
|
94
|
+
group.clips.each do |clip|
|
95
|
+
xml.Clip Ref: clip.reference.id, Name: clip.name, Length: clip.length, Leq: clip.leq
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
100
|
+
xml.Markers do
|
101
|
+
markers.each do |marker|
|
102
|
+
xml.Marker Id: marker.id, Name: marker.name, Time: marker.time
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end.to_xml
|
107
|
+
end
|
48
108
|
|
49
109
|
end
|
50
110
|
end
|
data/lib/hindbaer/track.rb
CHANGED
data/lib/hindbaer/version.rb
CHANGED
data/spec/clip_spec.rb
CHANGED
data/spec/fixtures/project.nhsx
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
<?xml version="1.0" encoding="utf-8"?>
|
2
|
-
<Session Version="Hindenburg Journalist Pro 1.
|
3
|
-
<Info Subtitle="Vestibulum Ante Ipsum Primis" Album="Nulla At Nulla" Composer="Quisque Eget Odio Ac" Track="1" Genre="Podcast" Author="Jamie Hodge" Link="http://" Email="user@example.com" Description="Etiam at risus et justo" Artist="Lorem Ipsum Dolor" Date="Today" Title="Suspendisse Dictum Feugiat Nisl Ut" Explicit="Yes" Copyright="2011" Identifier="Lorem Ipsum Dolor Sit"
|
2
|
+
<Session Version="Hindenburg Journalist Pro 1.10.1742" Samplerate="44100">
|
3
|
+
<Info Subtitle="Vestibulum Ante Ipsum Primis" Album="Nulla At Nulla" Composer="Quisque Eget Odio Ac" Track="1" Genre="Podcast" Author="Jamie Hodge" Link="http://" Email="user@example.com" Description="Etiam at risus et justo" Artist="Lorem Ipsum Dolor" Date="Today" Title="Suspendisse Dictum Feugiat Nisl Ut" Explicit="Yes" Copyright="2011" Keywords="In, Condimentum, Facilisis" Identifier="Lorem Ipsum Dolor Sit" Reference="Vivamus Hendrerit Arcu"/>
|
4
4
|
<AudioPool Path="Example session Files" Location="/Users/jamiehodge/Desktop">
|
5
5
|
<File Id="1" Name="file1.wav" Duration="2:51:09.025" Channels="2" Leq="-10.4">
|
6
6
|
<MetaData OriginalPath="/path/to/file1.wav"/>
|
@@ -12,7 +12,7 @@
|
|
12
12
|
<MetaData OriginalPath="/path/to/file3.wav"/>
|
13
13
|
</File>
|
14
14
|
<File Id="4" Name="file4.wav" Duration="1:12:23.850" Channels="2" Leq="-16.2">
|
15
|
-
<MetaData OriginalPath="/path/to/file4.wav/>
|
15
|
+
<MetaData OriginalPath="/path/to/file4.wav"/>
|
16
16
|
</File>
|
17
17
|
</AudioPool>
|
18
18
|
<Tracks>
|
@@ -22,16 +22,19 @@
|
|
22
22
|
</Region>
|
23
23
|
<Region Ref="1" Name="Speak 2" Start="44.171" Length="08.808" Offset="01:11.521" FadeIn="00.036" FadeOut="00.245" Gain="-0.8" Leq="-16.4"/>
|
24
24
|
<Plugins>
|
25
|
-
<Plugin Id="0" Name="Equalizer" UID="nheq"
|
25
|
+
<Plugin Id="0" Name="Equalizer" UID="nheq" MF_Q="0.1" LF_Gain="0.5" HP_Freq="0.00454545" HP_Gain="0.2" HF_Q="0.1" MF_Gain="0.5" HF_Gain="0.5" HF_Freq="0.363636" HF_Type="0" MF_Freq="0.0454545" LF_Freq="0.00909091" LF_Q="0.1" LF_Type="0">
|
26
26
|
<![CDATA[]]>
|
27
27
|
</Plugin>
|
28
|
+
<Plugin Id="1" Name="Compressor" UID="nhcl" Comp="0.275"/>
|
29
|
+
<Plugin Id="2" Name="Loudness Meter" UID="nhlu"/>
|
30
|
+
<Plugin Id="3" Name="Voice Profiler" UID="nhft" MF_Q="0.12" LF_Gain="0.398302" HP_Freq="0.00181818" HP_Gain="0.365926" HF_Q="0.03" MF_Gain="0.35" HF_Gain="0.569759" HF_Freq="0.454545" Comp="0.15" MF_Freq="0.0381288" LF_Freq="0.00502632" LF_Q="0.12"/>
|
28
31
|
</Plugins>
|
29
32
|
</Track>
|
30
33
|
<Track Name="Interview" Pan="0.025">
|
31
34
|
<Region Ref="2" Name="Interview 1" Start="10.758" Length="33.553" FadeIn="00.085" Gain="1.2" Leq="-21.1"/>
|
32
35
|
<Region Ref="2" Name="Interview 2" Start="58.078" Length="05.636" Offset="05.840" FadeIn="00.773" FadeOut="00.140" Gain="-3.7"/>
|
33
36
|
<Plugins>
|
34
|
-
<Plugin Id="0" Name="Equalizer" UID="nheq" Bypass="1" MF_Q="0.1"
|
37
|
+
<Plugin Id="0" Name="Equalizer" UID="nheq" Bypass="1" MF_Q="0.1" HP_Freq="0.00454545" LF_Gain="0.5" HP_Gain="0.5" HF_Q="0.1" MF_Gain="0.5" HF_Gain="0.5" HF_Freq="0.363636" HF_Type="0" MF_Freq="0.0454545" LF_Freq="0.00909091" LF_Q="0.1" LF_Type="0">
|
35
38
|
<![CDATA[]]>
|
36
39
|
</Plugin>
|
37
40
|
</Plugins>
|
@@ -96,4 +99,4 @@
|
|
96
99
|
<Marker Id="1" Name="In" Time="01:01.000"/>
|
97
100
|
<Marker Id="2" Name="Out" Time="12:42.720"/>
|
98
101
|
</Markers>
|
99
|
-
</Session>
|
102
|
+
</Session>
|
data/spec/info_spec.rb
CHANGED
data/spec/session_spec.rb
CHANGED
@@ -7,7 +7,7 @@ describe Hindbaer::Session do
|
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'must return software version' do
|
10
|
-
@session.software_version.must_equal 'Hindenburg Journalist Pro 1.
|
10
|
+
@session.software_version.must_equal 'Hindenburg Journalist Pro 1.10.1742'
|
11
11
|
end
|
12
12
|
|
13
13
|
it 'must return sample rate' do
|
@@ -41,4 +41,11 @@ describe Hindbaer::Session do
|
|
41
41
|
@session.length.must_equal 10269.025000000001
|
42
42
|
end
|
43
43
|
|
44
|
+
it 'must render itself as xml' do
|
45
|
+
File.open('/Users/jamiehodge/Desktop/untitled.nhsx', 'w') do |file|
|
46
|
+
file << @session.to_xml
|
47
|
+
end
|
48
|
+
@session.to_xml.must_equal File.open('spec/fixtures/project.nhsx').read
|
49
|
+
end
|
50
|
+
|
44
51
|
end
|
data/spec/track_spec.rb
CHANGED
@@ -21,8 +21,8 @@ describe Hindbaer::Track do
|
|
21
21
|
end
|
22
22
|
|
23
23
|
it 'must return all plugins' do
|
24
|
-
@track.plugins.first.must_be_kind_of Hindbaer::Plugin
|
25
|
-
@track.plugins.size.must_equal
|
24
|
+
@track.plugins.first.must_be_kind_of Hindbaer::Plugin::Base
|
25
|
+
@track.plugins.size.must_equal 4
|
26
26
|
end
|
27
27
|
|
28
28
|
it 'must return parent session' do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hindbaer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-08-
|
12
|
+
date: 2011-08-26 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
16
|
-
requirement: &
|
16
|
+
requirement: &70144081230500 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70144081230500
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: guard
|
27
|
-
requirement: &
|
27
|
+
requirement: &70144081230080 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70144081230080
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: guard-minitest
|
38
|
-
requirement: &
|
38
|
+
requirement: &70144081229620 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70144081229620
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rb-fsevent
|
49
|
-
requirement: &
|
49
|
+
requirement: &70144081229180 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70144081229180
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: growl_notify
|
60
|
-
requirement: &
|
60
|
+
requirement: &70144081228620 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70144081228620
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: mocha
|
71
|
-
requirement: &
|
71
|
+
requirement: &70144081228000 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70144081228000
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: nokogiri
|
82
|
-
requirement: &
|
82
|
+
requirement: &70144081227520 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,8 +87,8 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :runtime
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
91
|
-
description: A Hindenburg Journalist
|
90
|
+
version_requirements: *70144081227520
|
91
|
+
description: A Hindenburg Journalist parser
|
92
92
|
email:
|
93
93
|
- jamiehodge@me.com
|
94
94
|
executables: []
|
@@ -110,6 +110,10 @@ files:
|
|
110
110
|
- lib/hindbaer/info.rb
|
111
111
|
- lib/hindbaer/marker.rb
|
112
112
|
- lib/hindbaer/plugin.rb
|
113
|
+
- lib/hindbaer/plugin/base.rb
|
114
|
+
- lib/hindbaer/plugin/compressor.rb
|
115
|
+
- lib/hindbaer/plugin/equalizer.rb
|
116
|
+
- lib/hindbaer/plugin/voice_profiler.rb
|
113
117
|
- lib/hindbaer/region.rb
|
114
118
|
- lib/hindbaer/session.rb
|
115
119
|
- lib/hindbaer/track.rb
|
@@ -122,7 +126,7 @@ files:
|
|
122
126
|
- spec/group_spec.rb
|
123
127
|
- spec/info_spec.rb
|
124
128
|
- spec/marker_spec.rb
|
125
|
-
- spec/
|
129
|
+
- spec/plugin_base_spec.rb
|
126
130
|
- spec/region_spec.rb
|
127
131
|
- spec/session_spec.rb
|
128
132
|
- spec/spec_helper.rb
|
@@ -160,7 +164,7 @@ test_files:
|
|
160
164
|
- spec/group_spec.rb
|
161
165
|
- spec/info_spec.rb
|
162
166
|
- spec/marker_spec.rb
|
163
|
-
- spec/
|
167
|
+
- spec/plugin_base_spec.rb
|
164
168
|
- spec/region_spec.rb
|
165
169
|
- spec/session_spec.rb
|
166
170
|
- spec/spec_helper.rb
|