flacky 1.0.5 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/flacky/cli.rb +17 -0
- data/lib/flacky/flac_track_zero_pad_stripper.rb +33 -0
- data/lib/flacky/version.rb +1 -1
- metadata +3 -2
data/lib/flacky/cli.rb
CHANGED
@@ -6,6 +6,7 @@ require 'thor'
|
|
6
6
|
|
7
7
|
require 'flacky'
|
8
8
|
require 'flacky/flac_metadata_importer'
|
9
|
+
require 'flacky/flac_track_zero_pad_stripper'
|
9
10
|
require 'flacky/metadata_generator'
|
10
11
|
require 'flacky/mp3_convertor'
|
11
12
|
|
@@ -49,6 +50,16 @@ module Flacky
|
|
49
50
|
end
|
50
51
|
end
|
51
52
|
|
53
|
+
desc "strip_pad [file ...]|[**/*.flac ...]", "Strip zero-padded track numbers in Flac files"
|
54
|
+
def strip_pad(*args)
|
55
|
+
args.each do |glob|
|
56
|
+
Dir.glob(glob).sort.each do |file|
|
57
|
+
say("Processing <#{file}>", :cyan)
|
58
|
+
Flacky::FlacTrackZeroPadStripper.new(file).strip!
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
52
63
|
desc "to_mp3 [file ...]|[**/*.flac ...] [options]", "Convert Flac files to MP3 files"
|
53
64
|
method_option :destination, :aliases => "-d",
|
54
65
|
:desc => "Sets optional destination directory"
|
@@ -68,6 +79,12 @@ module Flacky
|
|
68
79
|
args.each { |glob| convert_files(glob, mp3izer) }
|
69
80
|
end
|
70
81
|
|
82
|
+
desc "version", "Print Flacky's version information"
|
83
|
+
def version
|
84
|
+
say "Flacky version #{Flacky::VERSION}"
|
85
|
+
end
|
86
|
+
map %w(-v --version) => :version
|
87
|
+
|
71
88
|
private
|
72
89
|
|
73
90
|
def convert_files(glob, mp3izer)
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# -*- encoding: UTF-8 -*-
|
2
|
+
|
3
|
+
require 'flacky/flac_tagger'
|
4
|
+
|
5
|
+
module Flacky
|
6
|
+
|
7
|
+
class FlacTrackZeroPadStripper
|
8
|
+
|
9
|
+
def initialize(file)
|
10
|
+
@file = file
|
11
|
+
end
|
12
|
+
|
13
|
+
def strip!
|
14
|
+
number = fetch_tracknumber
|
15
|
+
return if number.nil?
|
16
|
+
|
17
|
+
if number.to_s =~ /^0\d/
|
18
|
+
FlacTagger.update(@file) do
|
19
|
+
tag 'TRACKNUMBER', number.to_s.sub(/^0/, '')
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def fetch_tracknumber
|
27
|
+
tagger = FlacTagger.new(@file)
|
28
|
+
track = tagger.find(:tracknumber)
|
29
|
+
tagger.cleanup
|
30
|
+
track
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
data/lib/flacky/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flacky
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-02-
|
12
|
+
date: 2013-02-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: thor
|
@@ -160,6 +160,7 @@ files:
|
|
160
160
|
- lib/flacky/core_ext.rb
|
161
161
|
- lib/flacky/flac_metadata_importer.rb
|
162
162
|
- lib/flacky/flac_tagger.rb
|
163
|
+
- lib/flacky/flac_track_zero_pad_stripper.rb
|
163
164
|
- lib/flacky/metadata_generator.rb
|
164
165
|
- lib/flacky/mp3_convertor.rb
|
165
166
|
- lib/flacky/mp3_tagger.rb
|