neve 0.0.1 → 0.1.0
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 +4 -4
- data/.gitignore +1 -0
- data/.ruby-version +1 -0
- data/README.md +42 -10
- data/bin/neve +6 -0
- data/lib/neve.rb +2 -2
- data/lib/neve/cli.rb +13 -0
- data/lib/neve/eca_sound/mix.rb +46 -0
- data/lib/neve/eca_sound/track.rb +34 -0
- data/lib/neve/loads_yaml.rb +10 -0
- data/lib/neve/mix.rb +23 -0
- data/lib/neve/runs.rb +20 -0
- data/neve.gemspec +14 -12
- data/spec/lib/neve/cli_spec.rb +19 -0
- data/spec/lib/neve/eca_sound/mix_spec.rb +32 -0
- data/spec/lib/neve/eca_sound/track_spec.rb +28 -0
- data/spec/lib/neve/loads_yaml_spec.rb +23 -0
- data/spec/lib/neve/mix_spec.rb +36 -0
- data/spec/lib/neve/runs_spec.rb +41 -0
- data/spec/lib/neve_spec.rb +23 -0
- data/spec/spec_helper.rb +10 -0
- data/spec/support/mix.wav +0 -0
- data/spec/support/my_awesome_tune.yml +9 -0
- data/spec/support/my_awesome_tune/bass.wav +0 -0
- data/spec/support/my_awesome_tune/drums.wav +0 -0
- data/spec/support/my_awesome_tune/guitar.wav +0 -0
- metadata +69 -7
- data/lib/neve/version.rb +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7714e64fbaf457649ef08a5883c70255b596f8b5
|
4
|
+
data.tar.gz: c98083dd190eb30ce2838e5eb6a8dc997393ea06
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 45f62b653ffafb3da75363536113e44235a42397fa0d24ad6348fa6152805b76a2baac018520fbab1431f29f3085c80c7c3a4200c809113ae2e15c9e064a6c7a
|
7
|
+
data.tar.gz: 1f226b1dd8be7705a452adf1b01e45ba8c33a39d9445ac483767b3717c5f532b181d4d96c4661da00577349212ccbc9c4933e8da202c0291cd973dbb16736afd
|
data/.gitignore
CHANGED
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.1.1
|
data/README.md
CHANGED
@@ -1,28 +1,60 @@
|
|
1
1
|
# Neve
|
2
2
|
|
3
|
-
|
3
|
+
Friendly audio mixing, on your command line.
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
7
|
-
|
7
|
+
Neve depends on [ecasound](http://ecasound.seul.org/ecasound/download.php). On
|
8
|
+
a Mac, install via [Homebrew](http://brew.sh/):
|
8
9
|
|
9
|
-
|
10
|
+
$ brew install ecasound
|
11
|
+
$ gem install neve
|
10
12
|
|
11
|
-
|
13
|
+
## Usage
|
12
14
|
|
13
|
-
|
15
|
+
Neve expects your files to be organised like this, where `my_awesome_tune` is an
|
16
|
+
example song name:
|
14
17
|
|
15
|
-
|
18
|
+
├── my_awesome_tune
|
19
|
+
│ ├── bass.wav
|
20
|
+
│ ├── drums.wav
|
21
|
+
│ └── guitar.wav
|
22
|
+
└── my_awesome_tune.yml
|
16
23
|
|
17
|
-
|
24
|
+
All mix settings are contained in `my_awesome_tune.yml`. For each track,
|
25
|
+
the `fader` and `pan` percentages can be set. Names are expected to match a
|
26
|
+
`wav` file within the folder of the same name.
|
18
27
|
|
19
|
-
|
28
|
+
bass:
|
29
|
+
fader: 33
|
30
|
+
pan: 25
|
31
|
+
drums:
|
32
|
+
fader: 33
|
33
|
+
pan: 50
|
34
|
+
guitar:
|
35
|
+
fader: 33
|
36
|
+
pan: 75
|
37
|
+
|
38
|
+
`fader` is an optional value that represents a percentage of the track
|
39
|
+
level. Values below `100` will attenuate the track while values above `100` will
|
40
|
+
cause the track to be amplified. If no value is set, it will default to `100`.
|
41
|
+
|
42
|
+
__Please note that there is no limiting - please use caution when setting fader values,
|
43
|
+
especially with many tracks__
|
44
|
+
|
45
|
+
`pan` is an optional value that represents the left/right balance of the track.
|
46
|
+
`0` is fully left, `100` is fully right. If no value if set, it will default to `50`.
|
47
|
+
|
48
|
+
With the configuration and tracks in place, we can bounce the mix to file:
|
49
|
+
|
50
|
+
$ neve mix my_awesome_tune
|
20
51
|
|
21
|
-
|
52
|
+
The mixed file name will include a timestamp to avoid replacing any existing mixes,
|
53
|
+
so for example `my_awesome_tune_20140502132657.wav`
|
22
54
|
|
23
55
|
## Contributing
|
24
56
|
|
25
|
-
1. Fork it ( http://github.com
|
57
|
+
1. Fork it ( http://github.com/seenmyfate/neve/fork )
|
26
58
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
27
59
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
28
60
|
4. Push to the branch (`git push origin my-new-feature`)
|
data/bin/neve
ADDED
data/lib/neve.rb
CHANGED
data/lib/neve/cli.rb
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
require 'neve/eca_sound/track'
|
2
|
+
module Neve
|
3
|
+
module ECASound
|
4
|
+
class Mix
|
5
|
+
|
6
|
+
def initialize(directory, configuration)
|
7
|
+
@directory, @configuration = directory, configuration
|
8
|
+
end
|
9
|
+
|
10
|
+
def to_s
|
11
|
+
[
|
12
|
+
ecasound,
|
13
|
+
mix,
|
14
|
+
output
|
15
|
+
].join
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def ecasound
|
21
|
+
'ecasound '
|
22
|
+
end
|
23
|
+
|
24
|
+
def mix
|
25
|
+
tracks.each_with_index.inject('') do |string, (track, i)|
|
26
|
+
string << "-a:#{i+1} -i #{track} "
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def output
|
31
|
+
"-a:#{track_list} -o #{@directory}.wav"
|
32
|
+
end
|
33
|
+
|
34
|
+
def track_list
|
35
|
+
(1..tracks.size).to_a.join(',')
|
36
|
+
end
|
37
|
+
|
38
|
+
def tracks
|
39
|
+
@tracks ||= @configuration.map do |track, options|
|
40
|
+
Track.new(@directory, track, options)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'pathname'
|
2
|
+
module Neve
|
3
|
+
module ECASound
|
4
|
+
class Track
|
5
|
+
|
6
|
+
def initialize(directory, name, options)
|
7
|
+
@directory, @name, @options = directory, name, options
|
8
|
+
end
|
9
|
+
|
10
|
+
def to_s
|
11
|
+
[
|
12
|
+
filename,
|
13
|
+
mix,
|
14
|
+
pan
|
15
|
+
].join(' ')
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def filename
|
21
|
+
Pathname.new(@directory).join("#{@name}.wav")
|
22
|
+
end
|
23
|
+
|
24
|
+
def mix
|
25
|
+
"-ea:#{@options.fetch('fader', 100)}"
|
26
|
+
end
|
27
|
+
|
28
|
+
def pan
|
29
|
+
"-epp:#{@options.fetch('pan', 50)}"
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
data/lib/neve/mix.rb
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'neve/runs'
|
2
|
+
require 'neve/loads_yaml'
|
3
|
+
require 'neve/eca_sound/mix'
|
4
|
+
|
5
|
+
module Neve
|
6
|
+
class Mix
|
7
|
+
include Runs
|
8
|
+
include LoadsYaml
|
9
|
+
|
10
|
+
def initialize(filename)
|
11
|
+
@filename = filename
|
12
|
+
end
|
13
|
+
|
14
|
+
def file
|
15
|
+
"#{@filename}.yml"
|
16
|
+
end
|
17
|
+
|
18
|
+
def command
|
19
|
+
ECASound::Mix.new(@filename, configuration).to_s
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
data/lib/neve/runs.rb
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'open3'
|
2
|
+
|
3
|
+
module Neve
|
4
|
+
|
5
|
+
class Error < StandardError;end;
|
6
|
+
|
7
|
+
module Runs
|
8
|
+
|
9
|
+
def self.included(includer)
|
10
|
+
includer.send(:attr_accessor, :output, :status)
|
11
|
+
includer.send(:private, :output, :status)
|
12
|
+
end
|
13
|
+
|
14
|
+
def run
|
15
|
+
self.output, self.status = Open3.capture2(command)
|
16
|
+
fail Neve::Error.new(output) unless status.success?
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
20
|
+
end
|
data/neve.gemspec
CHANGED
@@ -1,23 +1,25 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
lib = File.expand_path('../lib', __FILE__)
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require 'neve/version'
|
5
4
|
|
6
5
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name =
|
8
|
-
spec.version =
|
9
|
-
spec.authors = [
|
10
|
-
spec.email = [
|
11
|
-
spec.summary = %q{
|
12
|
-
spec.description = %q{
|
13
|
-
spec.homepage =
|
14
|
-
spec.license =
|
6
|
+
spec.name = 'neve'
|
7
|
+
spec.version = '0.1.0'
|
8
|
+
spec.authors = ['seenmyfate']
|
9
|
+
spec.email = ['seenmyfate@gmail.com']
|
10
|
+
spec.summary = %q{Friendly audio mixing, right on your command line}
|
11
|
+
spec.description = %q{Friendly audio mixing, right on your command line}
|
12
|
+
spec.homepage = 'https://github.com/seenmyfate/neve'
|
13
|
+
spec.license = 'MIT'
|
15
14
|
|
16
15
|
spec.files = `git ls-files`.split($/)
|
17
16
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
17
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
-
spec.require_paths = [
|
18
|
+
spec.require_paths = ['lib']
|
20
19
|
|
21
|
-
spec.
|
22
|
-
|
20
|
+
spec.add_runtime_dependency 'thor'
|
21
|
+
|
22
|
+
spec.add_development_dependency 'bundler', '~> 1.5'
|
23
|
+
spec.add_development_dependency 'rake'
|
24
|
+
spec.add_development_dependency 'rspec'
|
23
25
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Neve
|
4
|
+
|
5
|
+
describe CLI do
|
6
|
+
let(:mix) { double }
|
7
|
+
let(:filename) { double }
|
8
|
+
|
9
|
+
describe '#mix' do
|
10
|
+
it 'runs a new Mix instance' do
|
11
|
+
expect(Mix).to receive(:new).with(filename).and_return(mix)
|
12
|
+
expect(mix).to receive(:run)
|
13
|
+
|
14
|
+
CLI.new.mix(filename)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Neve
|
4
|
+
module ECAsound
|
5
|
+
describe Mix do
|
6
|
+
let(:mix) { ECASound::Mix.new(directory, configuration) }
|
7
|
+
let(:directory) { 'spec/support/my_awesome_tune' }
|
8
|
+
let(:configuration) { YAML.load_file('spec/support/my_awesome_tune.yml') }
|
9
|
+
|
10
|
+
describe '.new' do
|
11
|
+
it 'takes the type, configuration' do
|
12
|
+
expect(mix)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe '#to_s' do
|
17
|
+
let(:ecasound_command) {
|
18
|
+
'ecasound ' \
|
19
|
+
'-a:1 -i spec/support/my_awesome_tune/bass.wav -ea:33 -epp:25 ' \
|
20
|
+
'-a:2 -i spec/support/my_awesome_tune/drums.wav -ea:33 -epp:50 ' \
|
21
|
+
'-a:3 -i spec/support/my_awesome_tune/guitar.wav -ea:33 -epp:75 ' \
|
22
|
+
'-a:1,2,3 -o spec/support/my_awesome_tune.wav'
|
23
|
+
}
|
24
|
+
|
25
|
+
it 'returns the ecasound string' do
|
26
|
+
expect(mix.to_s).to eq ecasound_command
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Neve
|
4
|
+
module ECASound
|
5
|
+
|
6
|
+
describe Track do
|
7
|
+
let(:track) { Track.new(directory, name, options) }
|
8
|
+
let(:directory) { 'spec/support/my_awesome_tune' }
|
9
|
+
let(:name) { 'guitar' }
|
10
|
+
let(:options) { YAML.load_file('spec/support/my_awesome_tune.yml')['guitar'] }
|
11
|
+
|
12
|
+
describe '.new' do
|
13
|
+
it 'takes a filename, options' do
|
14
|
+
expect(track)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe '#to_s' do
|
19
|
+
let(:mix_string) { 'spec/support/my_awesome_tune/guitar.wav -ea:33 -epp:75' }
|
20
|
+
|
21
|
+
it 'returns the mix string' do
|
22
|
+
expect(track.to_s).to eq mix_string
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Neve
|
4
|
+
|
5
|
+
class ParsingExample
|
6
|
+
include LoadsYaml
|
7
|
+
|
8
|
+
def file
|
9
|
+
'spec/support/my_awesome_tune.yml'
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
describe '#configuration' do
|
14
|
+
let(:configuration) { double }
|
15
|
+
|
16
|
+
it 'returns the parsed yaml' do
|
17
|
+
expect(YAML).to receive(:load_file).with('spec/support/my_awesome_tune.yml').
|
18
|
+
and_return(configuration)
|
19
|
+
expect(ParsingExample.new.configuration).to eq configuration
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Neve
|
4
|
+
|
5
|
+
describe Mix do
|
6
|
+
let(:mix) { Mix.new(filename) }
|
7
|
+
let(:filename) { 'spec/support/my_awesome_tune' }
|
8
|
+
|
9
|
+
describe '.new' do
|
10
|
+
it 'takes a filename' do
|
11
|
+
expect(mix)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
describe '#file' do
|
16
|
+
it 'returns the name of the yaml file' do
|
17
|
+
expect(mix.file).to eq 'spec/support/my_awesome_tune.yml'
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
describe '#command' do
|
22
|
+
let(:command) { double }
|
23
|
+
let(:configuration) { double }
|
24
|
+
|
25
|
+
it 'returns a command object' do
|
26
|
+
expect(mix).to receive(:configuration).and_return(configuration)
|
27
|
+
expect(ECASound::Mix).to receive(:new).
|
28
|
+
with('spec/support/my_awesome_tune', configuration).
|
29
|
+
and_return(command)
|
30
|
+
expect(mix.command).to eq command.to_s
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Neve
|
4
|
+
|
5
|
+
class RunningExample
|
6
|
+
include Runs
|
7
|
+
|
8
|
+
def command
|
9
|
+
'ls'
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|
13
|
+
|
14
|
+
describe '#run' do
|
15
|
+
let(:command) { 'ls' }
|
16
|
+
let(:output) { double }
|
17
|
+
let(:status) { double(:status, success?: success) }
|
18
|
+
let(:success) { true }
|
19
|
+
|
20
|
+
subject { RunningExample.new.run }
|
21
|
+
|
22
|
+
it 'runs the command with `capture2`' do
|
23
|
+
expect(Open3).to receive(:capture2).with(command).
|
24
|
+
and_return([output, status])
|
25
|
+
|
26
|
+
subject
|
27
|
+
end
|
28
|
+
|
29
|
+
context 'where the command is unsuccessful' do
|
30
|
+
let(:success) { false }
|
31
|
+
|
32
|
+
it 'fails with an error' do
|
33
|
+
expect(Open3).to receive(:capture2).with(command).
|
34
|
+
and_return([output, status])
|
35
|
+
|
36
|
+
expect { subject }.to raise_error Neve::Error
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'fileutils'
|
3
|
+
|
4
|
+
module Neve
|
5
|
+
|
6
|
+
describe 'README example' do
|
7
|
+
let(:mix) { 'spec/support/mix.wav' }
|
8
|
+
let(:my_awesome_tune) { 'spec/support/my_awesome_tune.wav' }
|
9
|
+
|
10
|
+
before do
|
11
|
+
`./bin/neve mix spec/support/my_awesome_tune`
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'bounces the mix' do
|
15
|
+
expect(FileUtils.compare_file(mix, my_awesome_tune)).to be_true
|
16
|
+
end
|
17
|
+
|
18
|
+
after do
|
19
|
+
FileUtils.remove(my_awesome_tune)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
data/spec/spec_helper.rb
ADDED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: neve
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- seenmyfate
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-05-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: thor
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: bundler
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -38,21 +52,56 @@ dependencies:
|
|
38
52
|
- - ">="
|
39
53
|
- !ruby/object:Gem::Version
|
40
54
|
version: '0'
|
41
|
-
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
description: Friendly audio mixing, right on your command line
|
42
70
|
email:
|
43
71
|
- seenmyfate@gmail.com
|
44
|
-
executables:
|
72
|
+
executables:
|
73
|
+
- neve
|
45
74
|
extensions: []
|
46
75
|
extra_rdoc_files: []
|
47
76
|
files:
|
48
77
|
- ".gitignore"
|
78
|
+
- ".ruby-version"
|
49
79
|
- Gemfile
|
50
80
|
- LICENSE.txt
|
51
81
|
- README.md
|
52
82
|
- Rakefile
|
83
|
+
- bin/neve
|
53
84
|
- lib/neve.rb
|
54
|
-
- lib/neve/
|
85
|
+
- lib/neve/cli.rb
|
86
|
+
- lib/neve/eca_sound/mix.rb
|
87
|
+
- lib/neve/eca_sound/track.rb
|
88
|
+
- lib/neve/loads_yaml.rb
|
89
|
+
- lib/neve/mix.rb
|
90
|
+
- lib/neve/runs.rb
|
55
91
|
- neve.gemspec
|
92
|
+
- spec/lib/neve/cli_spec.rb
|
93
|
+
- spec/lib/neve/eca_sound/mix_spec.rb
|
94
|
+
- spec/lib/neve/eca_sound/track_spec.rb
|
95
|
+
- spec/lib/neve/loads_yaml_spec.rb
|
96
|
+
- spec/lib/neve/mix_spec.rb
|
97
|
+
- spec/lib/neve/runs_spec.rb
|
98
|
+
- spec/lib/neve_spec.rb
|
99
|
+
- spec/spec_helper.rb
|
100
|
+
- spec/support/mix.wav
|
101
|
+
- spec/support/my_awesome_tune.yml
|
102
|
+
- spec/support/my_awesome_tune/bass.wav
|
103
|
+
- spec/support/my_awesome_tune/drums.wav
|
104
|
+
- spec/support/my_awesome_tune/guitar.wav
|
56
105
|
homepage: https://github.com/seenmyfate/neve
|
57
106
|
licenses:
|
58
107
|
- MIT
|
@@ -76,5 +125,18 @@ rubyforge_project:
|
|
76
125
|
rubygems_version: 2.2.2
|
77
126
|
signing_key:
|
78
127
|
specification_version: 4
|
79
|
-
summary:
|
80
|
-
test_files:
|
128
|
+
summary: Friendly audio mixing, right on your command line
|
129
|
+
test_files:
|
130
|
+
- spec/lib/neve/cli_spec.rb
|
131
|
+
- spec/lib/neve/eca_sound/mix_spec.rb
|
132
|
+
- spec/lib/neve/eca_sound/track_spec.rb
|
133
|
+
- spec/lib/neve/loads_yaml_spec.rb
|
134
|
+
- spec/lib/neve/mix_spec.rb
|
135
|
+
- spec/lib/neve/runs_spec.rb
|
136
|
+
- spec/lib/neve_spec.rb
|
137
|
+
- spec/spec_helper.rb
|
138
|
+
- spec/support/mix.wav
|
139
|
+
- spec/support/my_awesome_tune.yml
|
140
|
+
- spec/support/my_awesome_tune/bass.wav
|
141
|
+
- spec/support/my_awesome_tune/drums.wav
|
142
|
+
- spec/support/my_awesome_tune/guitar.wav
|
data/lib/neve/version.rb
DELETED