flacky 1.0.5 → 1.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.
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Flacky
2
- VERSION = "1.0.5"
2
+ VERSION = "1.1.0"
3
3
  end
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.5
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-05 00:00:00.000000000 Z
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