autogg 0.2.1 → 0.2.2
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.
- data/autogg-0.2.1.gem +0 -0
- data/autogg.gemspec +1 -1
- data/lib/autogg/encoder.rb +13 -14
- data/lib/autogg/runner.rb +4 -0
- metadata +4 -3
data/autogg-0.2.1.gem
ADDED
Binary file
|
data/autogg.gemspec
CHANGED
@@ -4,7 +4,7 @@ spec = Gem::Specification.new do |s|
|
|
4
4
|
s.description = File.read(File.join(File.dirname(__FILE__), 'README'))
|
5
5
|
s.requirements << 'oggenc must be installed on the base system'
|
6
6
|
s.add_dependency 'rb-inotify', '>= 0.8.4'
|
7
|
-
s.version = "0.2.
|
7
|
+
s.version = "0.2.2"
|
8
8
|
s.author = 'Evan Simmons'
|
9
9
|
s.email = 'esims89@gmail.com'
|
10
10
|
s.homepage = 'https://github.com/estk/autogg'
|
data/lib/autogg/encoder.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'find'
|
2
|
+
require 'rb-inotify'
|
2
3
|
require_relative 'progressbar'
|
3
4
|
|
4
5
|
module OggEncode
|
@@ -6,24 +7,22 @@ module OggEncode
|
|
6
7
|
class << self
|
7
8
|
|
8
9
|
def oggencdir
|
10
|
+
@pbar = ProgressBar.new( "Progress", ( count_flacs - count_oggs ) )
|
11
|
+
@watching = false
|
9
12
|
Find.find( @paths.flac ) do |path|
|
10
13
|
if FileTest.directory?( path )
|
11
|
-
if File.basename( path )[0] == ?.
|
12
|
-
Find.prune
|
13
|
-
else
|
14
|
-
#@pbar.inc
|
15
|
-
end
|
14
|
+
Find.prune if File.basename( path )[0] == ?.
|
16
15
|
elsif Flac.exists?( path ) and not Ogg.exists?( getoutpath(path) )
|
17
16
|
encfile( path )
|
18
17
|
end
|
19
18
|
end
|
20
|
-
Process.waitall ; @ps_hash = {}
|
19
|
+
Process.waitall ; @ps_hash = {} ; @pbar.finish
|
21
20
|
end
|
22
21
|
|
23
22
|
def encfile( inpath )
|
24
23
|
outpath = getoutpath( inpath )
|
25
24
|
@ps_hash.store( nil, outpath ) do
|
26
|
-
IO.popen %Q{oggenc #{@oggargs.join(' ')} "#{inpath}" -o "#{outpath}"}
|
25
|
+
ps = IO.popen %Q{oggenc #{@oggargs.join(' ')} "#{inpath}" -o "#{outpath}"}
|
27
26
|
end
|
28
27
|
@pbar.inc
|
29
28
|
end
|
@@ -46,7 +45,7 @@ module OggEncode
|
|
46
45
|
end
|
47
46
|
|
48
47
|
def interupt
|
49
|
-
puts "\n" + "Shutting down and removing partially encoded files"
|
48
|
+
puts "\n" + "Shutting down and removing partially encoded files" unless @watching
|
50
49
|
@ps_hash.each do |pid, path|
|
51
50
|
File.delete( path )
|
52
51
|
end
|
@@ -54,24 +53,24 @@ module OggEncode
|
|
54
53
|
end
|
55
54
|
|
56
55
|
def watcher
|
57
|
-
require 'rb-inotify'
|
58
56
|
notifier = INotify::Notifier.new
|
59
|
-
notifier.watch( @paths.flac, :create ) do |e|
|
57
|
+
notifier.watch( @paths.flac, :create, :recursive ) do |e|
|
60
58
|
puts %Q{#{Time.now.ctime}: #{e.name} was modified, rescaning...}
|
61
|
-
|
62
|
-
puts "watching #{@paths.flac}"
|
59
|
+
sleep 60
|
60
|
+
oggencdir ; @watching = true ; puts "watching #{@paths.flac}"
|
63
61
|
end
|
62
|
+
@watching = true
|
64
63
|
puts "watching #{@paths.flac}"
|
65
64
|
notifier.run
|
66
65
|
end
|
67
66
|
|
67
|
+
|
68
68
|
def encode( options )
|
69
69
|
@options = options
|
70
70
|
@paths = options.paths
|
71
71
|
@oggargs = options.oggargs
|
72
72
|
@ps_hash = SizedPsHash.new( options.max_procs )
|
73
|
-
|
74
|
-
oggencdir ; @pbar.finish
|
73
|
+
oggencdir
|
75
74
|
watcher if options.watch
|
76
75
|
end
|
77
76
|
end
|
data/lib/autogg/runner.rb
CHANGED
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: autogg
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.2.
|
5
|
+
version: 0.2.2
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Evan Simmons
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-
|
13
|
+
date: 2011-06-20 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rb-inotify
|
@@ -36,6 +36,7 @@ extra_rdoc_files: []
|
|
36
36
|
files:
|
37
37
|
- autogg.gemspec
|
38
38
|
- LICENCE
|
39
|
+
- autogg-0.2.1.gem
|
39
40
|
- autogg-0.2.0.gem
|
40
41
|
- bin/autogg
|
41
42
|
- README
|
@@ -67,7 +68,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
67
68
|
requirements:
|
68
69
|
- oggenc must be installed on the base system
|
69
70
|
rubyforge_project:
|
70
|
-
rubygems_version: 1.
|
71
|
+
rubygems_version: 1.8.4
|
71
72
|
signing_key:
|
72
73
|
specification_version: 3
|
73
74
|
summary: converts a folder of flacs to ogg, preserving directory structure
|