alacit 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +4 -0
- data/Rakefile +1 -1
- data/lib/version.rb +1 -1
- metadata +9 -27
- data/alacit.gemspec +0 -21
- data/pkg/alacit-0.0.2.gem +0 -0
- data/pkg/alacit-0.0.3.gem +0 -0
- data/pkg/alacit-0.1.0.gem +0 -0
- data/pkg/alacit-0.1.1.gem +0 -0
- data/pkg/alacit-1.0.0.gem +0 -0
- data/test/converter_test.rb +0 -150
- data/test/fixtures/test.flac +0 -0
- data/test/fixtures/test.m4a +0 -0
- data/test/fixtures/test2.wav +0 -0
- data/test/fixtures/test3.ape +0 -0
- data/test/fixtures/test3.cue +0 -19
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
# AlacIt Changelog
|
2
2
|
|
3
|
+
## 1.0.1
|
4
|
+
|
5
|
+
* Improve Alacit installation speed.
|
6
|
+
|
3
7
|
## 1.0.0
|
4
8
|
|
5
9
|
* Cue-Sheet Splitting (Extraction) - If a matching-named `.cue` sheet is found in the same directory as the audio file, then multiple M4A's are generated based on the Cue Sheet data.
|
data/Rakefile
CHANGED
data/lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: alacit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -36,31 +36,19 @@ executables:
|
|
36
36
|
extensions: []
|
37
37
|
extra_rdoc_files: []
|
38
38
|
files:
|
39
|
-
- CHANGELOG.md
|
40
|
-
- Gemfile
|
41
|
-
- Gemfile.lock
|
42
|
-
- LICENSE.txt
|
43
|
-
- README.md
|
44
|
-
- Rakefile
|
45
|
-
- alacit.gemspec
|
46
39
|
- bin/alacit
|
47
40
|
- lib/alacit.rb
|
48
41
|
- lib/application.rb
|
49
42
|
- lib/cuesheet.rb
|
50
43
|
- lib/index.rb
|
51
44
|
- lib/version.rb
|
52
|
-
-
|
53
|
-
-
|
54
|
-
-
|
55
|
-
-
|
56
|
-
-
|
57
|
-
-
|
58
|
-
|
59
|
-
- test/fixtures/test.m4a
|
60
|
-
- test/fixtures/test2.wav
|
61
|
-
- test/fixtures/test3.ape
|
62
|
-
- test/fixtures/test3.cue
|
63
|
-
homepage: http://russbrooks.com
|
45
|
+
- CHANGELOG.md
|
46
|
+
- Gemfile
|
47
|
+
- Gemfile.lock
|
48
|
+
- LICENSE.txt
|
49
|
+
- Rakefile
|
50
|
+
- README.md
|
51
|
+
homepage: https://github.com/iq9/AlacIt
|
64
52
|
licenses: []
|
65
53
|
post_install_message:
|
66
54
|
rdoc_options: []
|
@@ -85,10 +73,4 @@ signing_key:
|
|
85
73
|
specification_version: 3
|
86
74
|
summary: APE, FLAC, and WAV to Apple Lossless (ALAC) batch conversion utility and
|
87
75
|
cue-sheet splitter.
|
88
|
-
test_files:
|
89
|
-
- test/converter_test.rb
|
90
|
-
- test/fixtures/test.flac
|
91
|
-
- test/fixtures/test.m4a
|
92
|
-
- test/fixtures/test2.wav
|
93
|
-
- test/fixtures/test3.ape
|
94
|
-
- test/fixtures/test3.cue
|
76
|
+
test_files: []
|
data/alacit.gemspec
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
# Ensure we require the local version and not one we might have installed already
|
2
|
-
$:.push File.expand_path('../lib', __FILE__)
|
3
|
-
require 'version'
|
4
|
-
|
5
|
-
spec = Gem::Specification.new do |s|
|
6
|
-
s.name = 'alacit'
|
7
|
-
s.version = AlacIt::VERSION
|
8
|
-
s.author = 'Russell H. Brooks'
|
9
|
-
s.email = 'me@russbrooks.com'
|
10
|
-
s.homepage = 'http://russbrooks.com'
|
11
|
-
s.platform = Gem::Platform::RUBY
|
12
|
-
s.summary = 'APE, FLAC, and WAV to Apple Lossless (ALAC) batch conversion utility and cue-sheet splitter.'
|
13
|
-
s.description = 'Quickly convert entire directories of APE, FLAC, and WAV files to Apple Lossless (ALAC) for importation into iTunes, iPhones, iPads, and iPods. It does Cue-Sheet splitting too.'
|
14
|
-
s.files = `git ls-files`.split("\n")
|
15
|
-
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
16
|
-
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
17
|
-
s.require_paths = ['lib']
|
18
|
-
s.has_rdoc = false
|
19
|
-
s.bindir = 'bin'
|
20
|
-
s.add_development_dependency('rake')
|
21
|
-
end
|
data/pkg/alacit-0.0.2.gem
DELETED
Binary file
|
data/pkg/alacit-0.0.3.gem
DELETED
Binary file
|
data/pkg/alacit-0.1.0.gem
DELETED
Binary file
|
data/pkg/alacit-0.1.1.gem
DELETED
Binary file
|
data/pkg/alacit-1.0.0.gem
DELETED
Binary file
|
data/test/converter_test.rb
DELETED
@@ -1,150 +0,0 @@
|
|
1
|
-
require 'pathname'
|
2
|
-
require 'tmpdir'
|
3
|
-
require 'alacit'
|
4
|
-
require 'minitest/autorun'
|
5
|
-
|
6
|
-
class AlacItTest < MiniTest::Unit::TestCase
|
7
|
-
def setup
|
8
|
-
# Before each test.
|
9
|
-
@temp_dir = Pathname.new Dir.mktmpdir('alacit')
|
10
|
-
@app = AlacIt::Converter.new
|
11
|
-
end
|
12
|
-
|
13
|
-
def teardown
|
14
|
-
# After each test.
|
15
|
-
@temp_dir.rmtree
|
16
|
-
@app = nil
|
17
|
-
end
|
18
|
-
|
19
|
-
def test_no_args
|
20
|
-
ARGV.clear
|
21
|
-
_, err = capture_io do
|
22
|
-
assert_raises(SystemExit) { @app.convert }
|
23
|
-
end
|
24
|
-
assert_match /You must supply one or more file or directory names/, err
|
25
|
-
end
|
26
|
-
|
27
|
-
def test_nonexistant_directory
|
28
|
-
ARGV.clear
|
29
|
-
ARGV << '/bogus/dir'
|
30
|
-
_, err = capture_io do
|
31
|
-
assert_raises(SystemExit) { @app.convert }
|
32
|
-
end
|
33
|
-
assert_match /Not a file or directory/, err
|
34
|
-
ensure
|
35
|
-
ARGV.clear
|
36
|
-
end
|
37
|
-
|
38
|
-
def test_single_ape
|
39
|
-
FileUtils.cp 'test/fixtures/test3.ape', @temp_dir
|
40
|
-
ARGV.clear
|
41
|
-
ARGV << File.join(@temp_dir, 'test3.ape')
|
42
|
-
out, = capture_io { @app.convert }
|
43
|
-
assert_match /test3\.ape converted/, out
|
44
|
-
assert_equal File.exists?(File.join(@temp_dir, 'test3.m4a')), true
|
45
|
-
end
|
46
|
-
|
47
|
-
def test_single_flac
|
48
|
-
FileUtils.cp 'test/fixtures/test.flac', @temp_dir
|
49
|
-
ARGV.clear
|
50
|
-
ARGV << File.join(@temp_dir, 'test.flac')
|
51
|
-
out, = capture_io { @app.convert }
|
52
|
-
assert_match /test\.flac converted/, out
|
53
|
-
assert_equal File.exists?(File.join(@temp_dir, 'test.m4a')), true
|
54
|
-
end
|
55
|
-
|
56
|
-
def test_single_wav
|
57
|
-
FileUtils.cp 'test/fixtures/test2.wav', @temp_dir
|
58
|
-
ARGV.clear
|
59
|
-
ARGV << File.join(@temp_dir, 'test2.wav')
|
60
|
-
out, = capture_io { @app.convert }
|
61
|
-
assert_match /test2\.wav converted/, out
|
62
|
-
assert_equal File.exists?(File.join(@temp_dir, 'test2.m4a')), true
|
63
|
-
end
|
64
|
-
|
65
|
-
def test_single_ape_with_cue_file
|
66
|
-
FileUtils.cp 'test/fixtures/test3.ape', @temp_dir
|
67
|
-
FileUtils.cp 'test/fixtures/test3.cue', @temp_dir
|
68
|
-
ARGV.clear
|
69
|
-
ARGV << File.join(@temp_dir, 'test3.ape')
|
70
|
-
out, = capture_io { @app.convert }
|
71
|
-
refute_match /test3\.ape converted/, out
|
72
|
-
assert_match /01 - Track1.m4a\" extracted based on cue sheet/, out
|
73
|
-
assert_match /02 - Track2.m4a\" extracted based on cue sheet/, out
|
74
|
-
assert_match /03 - Track3.m4a\" extracted based on cue sheet/, out
|
75
|
-
assert_equal File.exists?(File.join(@temp_dir, 'test3.m4a')), false
|
76
|
-
assert_equal File.exists?(File.join(@temp_dir, '01 - Track1.m4a')), true
|
77
|
-
assert_equal File.exists?(File.join(@temp_dir, '02 - Track2.m4a')), true
|
78
|
-
assert_equal File.exists?(File.join(@temp_dir, '03 - Track3.m4a')), true
|
79
|
-
end
|
80
|
-
|
81
|
-
def test_mixed_directory
|
82
|
-
FileUtils.cp 'test/fixtures/test.flac', @temp_dir
|
83
|
-
FileUtils.cp 'test/fixtures/test2.wav', @temp_dir
|
84
|
-
ARGV.clear
|
85
|
-
ARGV << @temp_dir
|
86
|
-
out, = capture_io { @app.convert }
|
87
|
-
assert_match /test\.flac converted/, out
|
88
|
-
assert_match /test2\.wav converted/, out
|
89
|
-
assert_equal File.exists?(File.join(@temp_dir, 'test.m4a')), true
|
90
|
-
assert_equal File.exists?(File.join(@temp_dir, 'test2.m4a')), true
|
91
|
-
end
|
92
|
-
|
93
|
-
def test_single_flac_file_exists
|
94
|
-
FileUtils.cp 'test/fixtures/test.flac', @temp_dir
|
95
|
-
FileUtils.cp 'test/fixtures/test.m4a', @temp_dir
|
96
|
-
ARGV.clear
|
97
|
-
ARGV << File.join(@temp_dir, 'test.flac')
|
98
|
-
out, err = capture_io { @app.convert }
|
99
|
-
assert_match /test\.m4a\" exists/, err
|
100
|
-
end
|
101
|
-
|
102
|
-
def test_single_flac_file_exists_force_overwrite
|
103
|
-
FileUtils.cp 'test/fixtures/test.flac', @temp_dir
|
104
|
-
FileUtils.cp 'test/fixtures/test.m4a', @temp_dir
|
105
|
-
ARGV.clear
|
106
|
-
ARGV << '--force' << File.join(@temp_dir, 'test.flac')
|
107
|
-
out, = capture_io { @app.convert }
|
108
|
-
assert_match /test\.flac converted/, out
|
109
|
-
assert_equal File.exists?(File.join(@temp_dir, 'test.m4a')), true
|
110
|
-
end
|
111
|
-
|
112
|
-
def test_mixed_directory_file_exists
|
113
|
-
FileUtils.cp 'test/fixtures/test.flac', @temp_dir
|
114
|
-
FileUtils.cp 'test/fixtures/test2.wav', @temp_dir
|
115
|
-
FileUtils.cp 'test/fixtures/test.m4a', @temp_dir
|
116
|
-
ARGV.clear
|
117
|
-
ARGV << File.join(@temp_dir)
|
118
|
-
out, err = capture_io { @app.convert }
|
119
|
-
assert_match /test\.m4a\" exists/, err
|
120
|
-
assert_match /test2\.wav converted/, out
|
121
|
-
assert_equal File.exists?(File.join(@temp_dir, 'test2.m4a')), true
|
122
|
-
end
|
123
|
-
|
124
|
-
def test_mixed_directory_file_exists_force_overwrite
|
125
|
-
FileUtils.cp 'test/fixtures/test.flac', @temp_dir
|
126
|
-
FileUtils.cp 'test/fixtures/test2.wav', @temp_dir
|
127
|
-
FileUtils.cp 'test/fixtures/test.m4a', @temp_dir
|
128
|
-
ARGV.clear
|
129
|
-
ARGV << '--force' << File.join(@temp_dir)
|
130
|
-
out, = capture_io { @app.convert }
|
131
|
-
assert_match /test\.flac converted/, out
|
132
|
-
assert_match /test2\.wav converted/, out
|
133
|
-
assert_equal File.exists?(File.join(@temp_dir, 'test.m4a')), true
|
134
|
-
assert_equal File.exists?(File.join(@temp_dir, 'test2.m4a')), true
|
135
|
-
end
|
136
|
-
|
137
|
-
def test_standard_exception_handling_invalid_option
|
138
|
-
app = AlacIt::Application.new
|
139
|
-
out, err = capture_io do
|
140
|
-
e = assert_raises SystemExit do
|
141
|
-
app.standard_exception_handling do
|
142
|
-
raise OptionParser::InvalidOption, 'foo'
|
143
|
-
end
|
144
|
-
end
|
145
|
-
assert_equal 1, e.status
|
146
|
-
end
|
147
|
-
assert_empty out
|
148
|
-
assert_equal "invalid option: foo\n", err
|
149
|
-
end
|
150
|
-
end
|
data/test/fixtures/test.flac
DELETED
Binary file
|
data/test/fixtures/test.m4a
DELETED
Binary file
|
data/test/fixtures/test2.wav
DELETED
Binary file
|
data/test/fixtures/test3.ape
DELETED
Binary file
|
data/test/fixtures/test3.cue
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
REM GENRE "Techno"
|
2
|
-
REM DATE 2012
|
3
|
-
REM DISCID CF0A720E
|
4
|
-
REM COMMENT "ExactAudioCopy v0.99pb5"
|
5
|
-
PERFORMER "Vader"
|
6
|
-
TITLE "Test Title"
|
7
|
-
FILE "test3.ape" WAVE
|
8
|
-
TRACK 01 AUDIO
|
9
|
-
TITLE "Track1"
|
10
|
-
PERFORMER "Faithless"
|
11
|
-
INDEX 01 00:00:00
|
12
|
-
TRACK 02 AUDIO
|
13
|
-
TITLE "Track2"
|
14
|
-
PERFORMER "Faithless"
|
15
|
-
INDEX 01 00:30:74
|
16
|
-
TRACK 03 AUDIO
|
17
|
-
TITLE "Track3"
|
18
|
-
PERFORMER "Faithless"
|
19
|
-
INDEX 01 00:60:39
|