vrtk 0.0.1.2 → 0.0.1.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 502b51560173766ce17f0ab05a43b42bed55370e
4
- data.tar.gz: de086d919511fc34d455b9cb969e36c872faf5cd
3
+ metadata.gz: bc874ea9f679a40013ec8f04468826bf44a49d48
4
+ data.tar.gz: b98fa092ab2fadbff5f7cb04d88c0d4adfc6036c
5
5
  SHA512:
6
- metadata.gz: 3498428abf6345f7a2e59900f9880e0f20f4f78afdd53c71706d478684de576786e36f613ce3540eca092354a3e40c665e65a4ca11dd0311bf5be36fc2c55d90
7
- data.tar.gz: e529095b80cc0212a79a43dd6e7d5c5cd30061826f8e148490418812ce0cc9d29722581cda77baa283c0e7d99cb18615cfad31eba062844d0933fbf6414c529f
6
+ metadata.gz: 457c131c23c06e8dfa51a401920c9cd11e8448898d54cc7da4a421ff91ae26583c8995dcca110c6929d374b4787000f48b27aa070251d79ebc1848e6914b61ff
7
+ data.tar.gz: ecb880178ba91f4bd62764f9f64bd54491f4e12b610e48f050a40b85c7298998c780bbbc16de6159b77f0b48a432aea0fd1d7c9436edd2a3b39f5360b62099fa
data/Gemfile CHANGED
@@ -7,29 +7,21 @@ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
7
7
  gemspec
8
8
 
9
9
  group :video_clipper do
10
- require 'ostruct'
11
- require 'logger'
10
+
12
11
  end
13
12
 
14
13
  group :collager do
15
- require 'ostruct'
16
- require 'logger'
17
14
  gem 'mini_magick'
18
15
  end
19
16
 
20
17
  group :ffmpeg do
21
- require 'ostruct'
22
- require 'logger'
23
18
  end
24
19
 
25
20
 
26
21
  group :applets do
27
- require 'ostruct'
28
- require 'optparse'
29
- require 'logger'
22
+
30
23
  end
31
24
 
32
25
  group :app do
33
26
  gem 'colorize'
34
- require 'optparse'
35
27
  end
data/src/vrtk/app.rb CHANGED
@@ -1,9 +1,8 @@
1
- require 'bundler'
2
-
3
1
  require_relative 'config'
4
2
  require_relative 'version'
5
3
 
6
- Bundler.require :app
4
+ require 'colorize'
5
+ require 'optparse'
7
6
 
8
7
  module VRTK
9
8
  class App
@@ -16,14 +15,14 @@ module VRTK
16
15
  __exec
17
16
  rescue VRTKError => error
18
17
  STDERR.print 'ERROR: '.colorize :red
19
- STDERR.puts error.message.colorize :blue
20
- STDERR.puts 'Exited.'.colorize :blue
18
+ STDERR.puts error.message.colorize :light_blue
19
+ STDERR.puts 'Exited.'.colorize :light_blue
21
20
  end
22
21
  end
23
22
 
24
23
  def __exec
25
24
 
26
- opt_parse
25
+ applet_help = opt_parse
27
26
 
28
27
  applet = ARGV.shift
29
28
 
@@ -37,50 +36,18 @@ module VRTK
37
36
  end
38
37
 
39
38
  def opt_parse
40
- OptionParser.new do |opts|
41
- opts.banner = banner
42
-
43
- opts.on('-?', '--help', 'See this help') do |_|
44
- puts opts
45
- exit 0
46
- end
47
-
48
- opts.on('-v', '--version', 'Print version') do |_|
49
- puts "VRTK #{VRTK::VERSION}"
50
- exit 0
51
- end
52
- end.parse!
39
+
53
40
  end
54
41
 
55
42
  private
56
43
 
57
- def banner
58
- <<END
59
- -== Video Releaser's toolkit ==-
60
- Usage: #{$PROGRAM_NAME} <applet>
61
- Applets:
62
- #{get_applets}
63
- Options:
64
- END
65
- end
66
44
 
67
45
  def no_applet
68
46
  STDERR.print 'ERROR: '.colorize(:red)
69
- STDERR.puts "invalid usage!\nCall #{$0} --help.".colorize :blue
47
+ STDERR.puts "invalid usage!\nCall #{File.basename($PROGRAM_NAME)} help.".colorize :light_blue
70
48
  exit 0
71
49
  end
72
50
 
73
- def get_applets
74
- text = []
75
- VRTK::Config::APPLETS.each do |_, applet|
76
- text << <<END
77
- #{applet.id}
78
- #{applet.name}
79
- #{applet.desc}
80
- END
81
- end
82
51
 
83
- text.join $\
84
- end
85
52
  end
86
53
  end
@@ -1,4 +1,6 @@
1
1
  require_relative 'base_applet'
2
2
 
3
+ require_relative 'help_applet'
4
+
3
5
  require_relative 'clipper_applet'
4
- require_relative 'collager_applet'
6
+ require_relative 'collager_applet'
@@ -2,7 +2,9 @@ require 'bundler'
2
2
 
3
3
  require_relative '../../vrtk'
4
4
 
5
- Bundler.require :applets
5
+ require 'ostruct'
6
+ require 'optparse'
7
+ require 'logger'
6
8
 
7
9
  module VRTK::Applets
8
10
  class BaseApplet
@@ -10,9 +12,9 @@ module VRTK::Applets
10
12
  @argv = argv
11
13
 
12
14
  @applet = {
13
- name: name,
14
- id: id,
15
- desc: desc,
15
+ name: self.class.name,
16
+ id: self.class.id,
17
+ desc: self.class.desc,
16
18
 
17
19
  }
18
20
 
@@ -4,10 +4,11 @@ require_relative '../../vrtk'
4
4
  require_relative 'base_applet'
5
5
  require_relative '../clipper/video_clipper'
6
6
 
7
- Bundler.require :applets
7
+ require 'ostruct'
8
+ require 'optparse'
9
+ require 'logger'
8
10
 
9
11
  module VRTK::Applets
10
-
11
12
  class ClipperApplet < BaseApplet
12
13
  def init_options
13
14
 
@@ -15,7 +16,7 @@ module VRTK::Applets
15
16
 
16
17
  OptionParser.new do |opts|
17
18
 
18
- opts.banner = "-== #{name} ==-\n#{desc}\nUsage: #{$PROGRAM_NAME} #{id} [options]"
19
+ opts.banner = "-== #{self.class.name} ==-\n#{self.class.desc}\nUsage: #{File.basename($PROGRAM_NAME)} #{self.class.id} [options]"
19
20
 
20
21
  opts.on('-?', '--help', 'This message') do |_|
21
22
  puts opts
@@ -30,6 +31,10 @@ module VRTK::Applets
30
31
  @options.count = v.to_i
31
32
  end
32
33
 
34
+ opts.on('-f', '--font-size <n>', 'Font size for timestamp. If not specified, 200 is used.') do |v|
35
+ @options.font_size = v.to_i
36
+ end
37
+
33
38
  opts.on('-q', '--silent', 'Do not generate additional output') do |v|
34
39
  @options.silent = v
35
40
  end
@@ -49,6 +54,7 @@ module VRTK::Applets
49
54
  input_file: @options.input,
50
55
  clips_count: @options.count,
51
56
  output_dir: @options.output_dir,
57
+ font_size: @options.font_size,
52
58
  logger: Logger.new(STDERR, level: (@options.silent ? Logger::Severity::FATAL : Logger::Severity::INFO))
53
59
  )
54
60
  .perform
@@ -4,23 +4,28 @@ require_relative '../../vrtk'
4
4
  require_relative 'base_applet'
5
5
  require_relative '../collager/collager'
6
6
 
7
- Bundler.require :applets
7
+ require 'ostruct'
8
+ require 'optparse'
9
+ require 'logger'
8
10
 
9
11
  module VRTK::Applets
10
12
 
11
13
  class CollagerApplet < BaseApplet
12
14
 
15
+ include VRTK
13
16
  include VRTK::Collage
14
17
 
15
18
  WILDCARDS = "(wildcards allowed, '%' instead of '*', '\#' instead of '?')"
16
19
 
17
20
  def init_options
18
21
 
19
- @options = OpenStruct.new({})
22
+ @options = OpenStruct.new({
23
+ files: []
24
+ })
20
25
 
21
26
  OptionParser.new do |opts|
22
27
 
23
- opts.banner = "-== #{name} ==-\n#{desc}\nUsage: #{$PROGRAM_NAME} #{id} [options]"
28
+ opts.banner = "-== #{self.class.name} ==-\n#{self.class.desc}\nUsage: #{File.basename($PROGRAM_NAME)} #{self.class.id} [options]"
24
29
 
25
30
  opts.on('-?', '--help', 'This message') do |v|
26
31
  puts opts
@@ -63,10 +68,10 @@ module VRTK::Applets
63
68
 
64
69
  def run
65
70
 
66
- raise CollagerError, 'no input file specified!' unless @options.input
71
+ raise CollagerError, 'no input file specified!' unless @options.files
67
72
 
68
73
  VRTK::Collager.new(
69
- input_file: @options.files,
74
+ input_files: @options.files,
70
75
  output_file: @options.output,
71
76
  tile_ratio: @options.ratio,
72
77
  collage_width: @options.width
@@ -86,4 +91,5 @@ module VRTK::Applets
86
91
  'collager'
87
92
  end
88
93
  end
94
+
89
95
  end
@@ -0,0 +1,60 @@
1
+ require 'bundler'
2
+
3
+ require_relative '../../vrtk'
4
+ require_relative 'base_applet'
5
+
6
+ require 'ostruct'
7
+ require 'optparse'
8
+ require 'logger'
9
+
10
+ module VRTK::Applets
11
+ class HelpApplet < BaseApplet
12
+
13
+ def init_options
14
+ OptionParser.new do |opts|
15
+
16
+ end
17
+ end
18
+
19
+ def run
20
+ puts banner
21
+ end
22
+
23
+ def self.name
24
+ 'Help applet'
25
+ end
26
+
27
+ def self.id
28
+ 'help'
29
+ end
30
+
31
+ def self.desc
32
+ 'Displays this message'
33
+ end
34
+
35
+ private
36
+ def banner
37
+ <<END
38
+ -== Video Releaser's toolkit ==-
39
+ Usage: #{File.basename($PROGRAM_NAME)} <applet>
40
+ Applets:
41
+ #{get_applets}
42
+ END
43
+ end
44
+
45
+ def get_applets
46
+ text = []
47
+ VRTK::Config::APPLETS.each do |_, applet|
48
+ text << <<END
49
+ #{applet.id}
50
+ #{applet.name}
51
+ #{applet.desc}
52
+ END
53
+ end
54
+
55
+ text.join $\
56
+ end
57
+
58
+ end
59
+
60
+ end
@@ -1,9 +1,8 @@
1
- require 'bundler'
2
-
3
1
  require_relative '../../vrtk'
4
2
  require_relative '../utils/utils'
5
3
 
6
- Bundler.require :ffmpeg
4
+ require 'ostruct'
5
+ require 'logger'
7
6
 
8
7
  module VRTK::Clipper
9
8
 
@@ -1,9 +1,8 @@
1
- require 'bundler'
2
-
3
1
  require_relative '../../vrtk'
4
2
  require_relative '../utils/utils'
5
3
 
6
- Bundler.require :video_clipper
4
+ require 'ostruct'
5
+ require 'logger'
7
6
 
8
7
  module VRTK::Clipper
9
8
 
@@ -12,6 +11,8 @@ module VRTK::Clipper
12
11
 
13
12
  class FontFinder
14
13
 
14
+ include VRTK
15
+
15
16
  DEFAULT_DIRS = ['.', File.dirname(__FILE__)]
16
17
 
17
18
  def initialize
@@ -1,11 +1,10 @@
1
- require 'bundler'
2
-
3
1
  require_relative 'ffmpeg'
4
2
  require_relative 'font_finder'
5
3
  require_relative '../utils/utils'
6
4
  require_relative 'clipper_error'
7
5
 
8
- Bundler.require :video_clipper
6
+ require 'ostruct'
7
+ require 'logger'
9
8
 
10
9
  STDNUL = (File.open(File::NULL, 'w'))
11
10
 
@@ -17,17 +16,19 @@ module VRTK
17
16
  include VRTK::Utils
18
17
 
19
18
  CMD_DURATION = "%{ffprobe} -show_format -i \"%{input_file}\" -v 0 | sed -n \"s/duration=//p\""
20
- CMD_CLIPS = "%{ffmpeg} -v 0 -i \"%{input_file}\" -vframes %{count} -vf \"drawtext=fontfile='%{font_file}': timecode='0\\:0\\:0\\:0': timecode_rate=60: x=100: y=50: fontsize=40: fontcolor=white@1: borderw=3: bordercolor=black@1\" -r %{freq} -f image2 \"%{output_dir}/sc%%06d.jpeg\""
19
+ CMD_CLIPS = "%{ffmpeg} -v 0 -i \"%{input_file}\" -vframes %{count} -vf \"drawtext=fontfile='%{font_file}': timecode='0\\:0\\:0\\:0': timecode_rate=60: x=100: y=50: fontsize=%{font_size}: fontcolor=white@1: borderw=3: bordercolor=black@1\" -r %{freq} -f image2 \"%{output_dir}/sc%%06d.jpeg\""
21
20
 
22
21
  def initialize(
23
22
  input_file:,
24
23
  clips_count: 16,
25
24
  output_dir: nil,
25
+ font_size: 200,
26
26
  logger: nil
27
27
  )
28
28
  @options = OpenStruct.new ({
29
29
  input: mk_input(input_file),
30
- count: clips_count,
30
+ count: clips_count || 16,
31
+ font_size: font_size || 200,
31
32
  output: output_dir || "#{input_file}.dir",
32
33
  logger: logger || Logger.new(STDNUL)
33
34
  })
@@ -55,7 +56,8 @@ module VRTK
55
56
  freq: get_clip_frequency(get_duration, @options.count),
56
57
  output_dir: @options.output,
57
58
  count: @options.count,
58
- font_file: FontFinder.find_font('font')
59
+ font_file: FontFinder.find_font('consola'),
60
+ font_size: @options.font_size
59
61
  })
60
62
 
61
63
  @options.logger.info "shell.exec #{cmd}"
@@ -1,9 +1,9 @@
1
- require 'bundler'
2
-
3
1
  require_relative '../../vrtk'
4
2
  require_relative '../utils/utils'
5
3
 
6
- Bundler.require :collager
4
+ require 'ostruct'
5
+ require 'logger'
6
+ require 'mini_magick'
7
7
 
8
8
  module VRTK
9
9
 
data/src/vrtk/config.rb CHANGED
@@ -5,7 +5,8 @@ require_relative 'applets/all'
5
5
  module VRTK::Config
6
6
  # noinspection RubyStringKeysInHashInspection
7
7
  APPLETS = {
8
- 'clipper' => VRTK::Applets::ClipperApplet,
9
- 'collager' => VRTK::Applets::CollagerApplet
8
+ 'clipper' => VRTK::Applets::ClipperApplet,
9
+ 'collager' => VRTK::Applets::CollagerApplet,
10
+ 'help' => VRTK::Applets::HelpApplet
10
11
  }
11
12
  end
@@ -1,9 +1,5 @@
1
- require 'bundler'
2
-
3
1
  require_relative '../../vrtk'
4
2
 
5
- Bundler.require :utils
6
-
7
3
  module VRTK::Utils
8
4
  def self.to_wpath(upath)
9
5
  "\"#{upath.gsub('/', '\\')}\""
data/src/vrtk/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module VRTK
2
- VERSION = '0.0.1.2'
2
+ VERSION = '0.0.1.3'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vrtk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.2
4
+ version: 0.0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - MRAKOBEZE
@@ -59,6 +59,7 @@ files:
59
59
  - src/vrtk/applets/base_applet.rb
60
60
  - src/vrtk/applets/clipper_applet.rb
61
61
  - src/vrtk/applets/collager_applet.rb
62
+ - src/vrtk/applets/help_applet.rb
62
63
  - src/vrtk/clipper/clipper_error.rb
63
64
  - src/vrtk/clipper/ffmpeg.rb
64
65
  - src/vrtk/clipper/font_finder.rb