screenkit 0.0.9 → 0.0.10

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
  SHA256:
3
- metadata.gz: 60085249659092fa92d7fab2c913f5e8d8fc3b8d9ce0ac467322ef590a08e5f9
4
- data.tar.gz: 318d53f5ba88c1b8f2edd6d19ac263f2fcee0df7e7b5cb639f760b867be6e4ad
3
+ metadata.gz: 8e33c3c018a611a86e9ece01bf1cac931c8df89868c515eeaf8208c11888c946
4
+ data.tar.gz: 6b8c37eb2dc866aec21660cd4bb58e5641f67e6eff27cc1e5d44304c590bf699
5
5
  SHA512:
6
- metadata.gz: 565c78ea1e6701ee66087d22f4e62614ab765e1e625b50bdbeb9a953b3b4d7980dc6f8e7cad87250e1760f2923b10747c83c867f59347d1b4c37089d5ac87bb0
7
- data.tar.gz: df2439bbb02d0bf47ecc80abdeafdd285f5c1f63782ce2a4411cb326a7d6b5edb6ddc79b36969555ad699439f4acea557265f52e1fc4a52be1d8e2d75e614a73
6
+ metadata.gz: 3329f278b4fce62ca42bb9d9fec7ad8ec93b62fae9f0fa949a9444e9be45b68ddf755ea6c5b536176c2031d2a9ae24fc8ed0e99c4fa8918377a319af14772c1f
7
+ data.tar.gz: 8e6a1089e6b396874e60d58b84140726b45b78532cddb54871eda524fd11382e383aebd4eed00a371d14d46b9db524854a89981619eb8bf066fe1f9aadeedc6a
data/CHANGELOG.md CHANGED
@@ -11,6 +11,11 @@ Prefix your message with one of the following:
11
11
  - [Security] in case of vulnerabilities.
12
12
  -->
13
13
 
14
+ ## v0.0.10
15
+
16
+ - [Added] Add `--overwrite-content` and `--overwrite-voiceover` to individually
17
+ control overwriting content and voiceover when generating episodes.
18
+
14
19
  ## v0.0.9
15
20
 
16
21
  - [Added] Add social callouts.
@@ -41,6 +41,14 @@ module ScreenKit
41
41
  type: :boolean,
42
42
  default: false,
43
43
  desc: "Overwrite existing exported file"
44
+ option :overwrite_voiceover,
45
+ type: :boolean,
46
+ default: false,
47
+ desc: "Regenerate all voiceover audio files"
48
+ option :overwrite_content,
49
+ type: :boolean,
50
+ default: false,
51
+ desc: "Regenerate all content files (e.g., demo tapes)"
44
52
  option :match_segment,
45
53
  type: :string,
46
54
  desc: "Only export segments matching this string"
@@ -71,6 +79,11 @@ module ScreenKit
71
79
 
72
80
  options.require.each { require(it) }
73
81
 
82
+ # Ensure overwrite is only set if other individual options aren't set.
83
+ options[:overwrite] = options.overwrite &&
84
+ !options.overwrite_content &&
85
+ !options.overwrite_voiceover
86
+
74
87
  exporter = ScreenKit::Exporter::Episode.new(
75
88
  project_config: config,
76
89
  config: episode_config,
@@ -35,6 +35,8 @@ module ScreenKit
35
35
  @options = options
36
36
  @mutex = Mutex.new
37
37
  @logfile = Logfile.new(output_dir.join("logs"))
38
+
39
+ Thread.report_on_exception = false
38
40
  end
39
41
 
40
42
  def tts_available?
@@ -106,6 +108,10 @@ module ScreenKit
106
108
  def export
107
109
  started = Process.clock_gettime(Process::CLOCK_MONOTONIC)
108
110
 
111
+ Signal.trap("INT", "EXIT") do
112
+ exit 1
113
+ end
114
+
109
115
  cleanup_output_dir
110
116
  prelude
111
117
  create_output_dir
@@ -60,7 +60,7 @@ module ScreenKit
60
60
  end
61
61
 
62
62
  def export_video(log_path:)
63
- return if video_path.file? && !episode.options.overwrite
63
+ return if video_path.file? && !overwrite_content?
64
64
 
65
65
  log_path = format(log_path.to_s, prefix:) if log_path
66
66
 
@@ -181,8 +181,16 @@ module ScreenKit
181
181
  @script_content ||= script_path.read if script_path.file?
182
182
  end
183
183
 
184
+ def overwrite_voiceover?
185
+ episode.options.overwrite || episode.options.overwrite_voiceover
186
+ end
187
+
188
+ def overwrite_content?
189
+ episode.options.overwrite || episode.options.overwrite_content
190
+ end
191
+
184
192
  def create_voiceover(log_path:)
185
- return if voiceover_path&.file? && !episode.options.overwrite
193
+ return if voiceover_path&.file? && !overwrite_voiceover?
186
194
  return unless script_path.file?
187
195
  return unless episode.tts_available?
188
196
 
@@ -0,0 +1 @@
1
+ /output
@@ -21,6 +21,7 @@ module ScreenKit
21
21
 
22
22
  def copy_files
23
23
  copy_file "screenkit.yml"
24
+ copy_file ".gitignore"
24
25
  directory "resources", exclude_pattern: /DS_Store/
25
26
  directory ".github", exclude_pattern: /DS_Store/
26
27
  end
@@ -23,11 +23,14 @@ module ScreenKit
23
23
  indexed_list.each_slice(Etc.nprocessors) do |slice|
24
24
  threads = slice.map do |args|
25
25
  thread = Thread.new do
26
+ update_message
26
27
  yield(*args.take([1, arity].max), log_path:)
27
- update_progress
28
+ mutex.synchronize { self.progress += 1 }
29
+ update_message
28
30
  end
29
31
 
30
32
  thread.abort_on_exception = true
33
+ thread.report_on_exception = false
31
34
  thread
32
35
  end
33
36
 
@@ -40,11 +43,8 @@ module ScreenKit
40
43
  ended_at - started_at
41
44
  end
42
45
 
43
- def update_progress
44
- mutex.synchronize do
45
- self.progress += 1
46
- spinner.update(format(message, count:, progress:))
47
- end
46
+ def update_message
47
+ spinner.update(format(message, count:, progress:))
48
48
  end
49
49
  end
50
50
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ScreenKit
4
- VERSION = "0.0.9"
4
+ VERSION = "0.0.10"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: screenkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nando Vieira
@@ -331,6 +331,7 @@ files:
331
331
  - lib/screenkit/generators/episode/scripts/001.txt
332
332
  - lib/screenkit/generators/project.rb
333
333
  - lib/screenkit/generators/project/.github/screenkit.yml
334
+ - lib/screenkit/generators/project/.gitignore
334
335
  - lib/screenkit/generators/project/Gemfile.erb
335
336
  - lib/screenkit/generators/project/resources/backtracks/default.aac
336
337
  - lib/screenkit/generators/project/resources/fonts/open-sans/OFL.txt
@@ -418,10 +419,10 @@ metadata:
418
419
  rubygems_mfa_required: 'true'
419
420
  homepage_uri: https://github.com/fnando/screenkit
420
421
  bug_tracker_uri: https://github.com/fnando/screenkit/issues
421
- source_code_uri: https://github.com/fnando/screenkit/tree/v0.0.9
422
- changelog_uri: https://github.com/fnando/screenkit/tree/v0.0.9/CHANGELOG.md
423
- documentation_uri: https://github.com/fnando/screenkit/tree/v0.0.9/README.md
424
- license_uri: https://github.com/fnando/screenkit/tree/v0.0.9/LICENSE.md
422
+ source_code_uri: https://github.com/fnando/screenkit/tree/v0.0.10
423
+ changelog_uri: https://github.com/fnando/screenkit/tree/v0.0.10/CHANGELOG.md
424
+ documentation_uri: https://github.com/fnando/screenkit/tree/v0.0.10/README.md
425
+ license_uri: https://github.com/fnando/screenkit/tree/v0.0.10/LICENSE.md
425
426
  rdoc_options: []
426
427
  require_paths:
427
428
  - lib