screenkit 0.0.0 → 0.0.1
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 +4 -4
- data/CHANGELOG.md +6 -1
- data/DOCUMENTATION.md +7 -7
- data/lib/screen_kit.rb +2 -0
- data/lib/screenkit/duration.rb +5 -0
- data/lib/screenkit/exporter/demotape.rb +12 -2
- data/lib/screenkit/exporter/episode.rb +7 -1
- data/lib/screenkit/exporter/intro.rb +4 -4
- data/lib/screenkit/exporter/outro.rb +5 -5
- data/lib/screenkit/exporter/segment.rb +11 -6
- data/lib/screenkit/generators/project/screenkit.yml +77 -12
- data/lib/screenkit/schemas/episode.json +2 -13
- data/lib/screenkit/schemas/project.json +2 -1
- data/lib/screenkit/schemas/refs/demotape.json +48 -0
- data/lib/screenkit/schemas/refs/demotape_themes.json +367 -0
- data/lib/screenkit/schemas/refs/duration.json +9 -0
- data/lib/screenkit/schemas/refs/intro.json +3 -15
- data/lib/screenkit/schemas/refs/outro.json +3 -15
- data/lib/screenkit/schemas/refs/scenes.json +1 -5
- data/lib/screenkit/schemas/refs/transition.json +1 -5
- data/lib/screenkit/schemas/tts/say.json +1 -1
- data/lib/screenkit/version.rb +1 -1
- metadata +47 -43
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OFL.txt +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-Bold.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-BoldItalic.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-ExtraBold.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-ExtraBoldItalic.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-Italic.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-Light.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-LightItalic.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-Medium.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-MediumItalic.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-Regular.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-SemiBold.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-SemiBoldItalic.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_Condensed-Bold.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_Condensed-BoldItalic.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_Condensed-ExtraBold.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_Condensed-ExtraBoldItalic.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_Condensed-Italic.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_Condensed-Light.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_Condensed-LightItalic.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_Condensed-Medium.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_Condensed-MediumItalic.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_Condensed-Regular.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_Condensed-SemiBold.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_Condensed-SemiBoldItalic.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_SemiCondensed-Bold.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_SemiCondensed-BoldItalic.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_SemiCondensed-ExtraBold.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_SemiCondensed-ExtraBoldItalic.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_SemiCondensed-Italic.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_SemiCondensed-Light.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_SemiCondensed-LightItalic.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_SemiCondensed-Medium.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_SemiCondensed-MediumItalic.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_SemiCondensed-Regular.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_SemiCondensed-SemiBold.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_SemiCondensed-SemiBoldItalic.ttf +0 -0
- /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/README.txt +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2b105910b064ec4639068b441398fe95290b31a26bc19d0745d96970956a338d
|
|
4
|
+
data.tar.gz: 9e84a6b711c03fd3f1765d0fd1dd3cd7fd53857197fb82b480d9ff16c6b08d4b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 98cb59b8738b6bbae13f4a7f0815214975272c967e2b7c7153e1618f61e0e95e16e9fc707802b810d38ec36d9ea0092d88163b472fe6b414c7c2db5c41d249be
|
|
7
|
+
data.tar.gz: 6a4679359994481516de5393ca439e867f040f6974fc2b9ded318b37ff341574cb646dc6f2b65a89c8896c5d38f067fdccf4ac29c0688ae0d961080cc996e653
|
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
|
-
##
|
|
14
|
+
## v0.0.1
|
|
15
|
+
|
|
16
|
+
- [Added] Allow configuring Demo Tape using episode or project configuration.
|
|
17
|
+
- [Changed] Allow duration as `1s`.
|
|
18
|
+
|
|
19
|
+
## v0.0.0
|
|
15
20
|
|
|
16
21
|
- Initial release.
|
data/DOCUMENTATION.md
CHANGED
|
@@ -223,13 +223,13 @@ callouts:
|
|
|
223
223
|
title_style:
|
|
224
224
|
color: "#000000"
|
|
225
225
|
size: 40
|
|
226
|
-
font_path:
|
|
226
|
+
font_path: open-sans/OpenSans-ExtraBold.ttf
|
|
227
227
|
|
|
228
228
|
# Body styling
|
|
229
229
|
body_style:
|
|
230
230
|
color: "#000000"
|
|
231
231
|
size: 32
|
|
232
|
-
font_path:
|
|
232
|
+
font_path: open-sans/OpenSans-Semibold.ttf
|
|
233
233
|
|
|
234
234
|
# Positioning
|
|
235
235
|
anchor: [left, bottom] # [horizontal, vertical]
|
|
@@ -338,7 +338,7 @@ scenes:
|
|
|
338
338
|
title:
|
|
339
339
|
x: 100 # X position (pixels or "center")
|
|
340
340
|
y: 300 # Y position (pixels or "center")
|
|
341
|
-
font_path:
|
|
341
|
+
font_path: open-sans/OpenSans-ExtraBold.ttf
|
|
342
342
|
size: 144 # Font size
|
|
343
343
|
color: "#ffffff"
|
|
344
344
|
|
|
@@ -418,12 +418,12 @@ callouts:
|
|
|
418
418
|
title_style:
|
|
419
419
|
color: "#000000"
|
|
420
420
|
size: 40
|
|
421
|
-
font_path:
|
|
421
|
+
font_path: open-sans/OpenSans-ExtraBold.ttf
|
|
422
422
|
|
|
423
423
|
body_style:
|
|
424
424
|
color: "#000000"
|
|
425
425
|
size: 32
|
|
426
|
-
font_path:
|
|
426
|
+
font_path: open-sans/OpenSans-Semibold.ttf
|
|
427
427
|
|
|
428
428
|
# Layout
|
|
429
429
|
padding: 50 # Internal padding (pixels)
|
|
@@ -472,7 +472,7 @@ callouts:
|
|
|
472
472
|
text_style:
|
|
473
473
|
color: "#ffffff"
|
|
474
474
|
size: 40
|
|
475
|
-
font_path:
|
|
475
|
+
font_path: open-sans/OpenSans-ExtraBold.ttf
|
|
476
476
|
|
|
477
477
|
# Layout
|
|
478
478
|
padding: 20 # Padding around text (pixels)
|
|
@@ -766,7 +766,7 @@ Resources are searched in order from `resources_dir`:
|
|
|
766
766
|
Reference resources by partial path:
|
|
767
767
|
|
|
768
768
|
```yaml
|
|
769
|
-
font_path:
|
|
769
|
+
font_path: open-sans/OpenSans-Bold.ttf # Found in resources/fonts/
|
|
770
770
|
```
|
|
771
771
|
|
|
772
772
|
### Placeholders
|
data/lib/screen_kit.rb
CHANGED
|
@@ -9,9 +9,11 @@ require "pathname"
|
|
|
9
9
|
require "tty-spinner"
|
|
10
10
|
require "etc"
|
|
11
11
|
require "securerandom"
|
|
12
|
+
require "demo_tape/duration"
|
|
12
13
|
|
|
13
14
|
module ScreenKit
|
|
14
15
|
require_relative "screenkit/version"
|
|
16
|
+
require_relative "screenkit/duration"
|
|
15
17
|
require_relative "screenkit/core_ext/string"
|
|
16
18
|
require_relative "screenkit/core_ext/json"
|
|
17
19
|
require_relative "screenkit/content_type"
|
|
@@ -5,22 +5,32 @@ module ScreenKit
|
|
|
5
5
|
class Demotape
|
|
6
6
|
include Shell
|
|
7
7
|
|
|
8
|
-
attr_reader :demotape_path, :log_path
|
|
8
|
+
attr_reader :demotape_path, :log_path, :options
|
|
9
9
|
|
|
10
|
-
def initialize(demotape_path:, log_path: nil)
|
|
10
|
+
def initialize(demotape_path:, options: {}, log_path: nil)
|
|
11
11
|
@demotape_path = demotape_path
|
|
12
12
|
@log_path = log_path
|
|
13
|
+
@options = options
|
|
13
14
|
end
|
|
14
15
|
|
|
15
16
|
def export(output_path)
|
|
16
17
|
run_command "demotape",
|
|
17
18
|
"run",
|
|
18
19
|
demotape_path,
|
|
20
|
+
options_to_args(options),
|
|
21
|
+
"--width", 1920,
|
|
22
|
+
"--height", 1080,
|
|
19
23
|
"--fps", 24,
|
|
20
24
|
"--overwrite",
|
|
21
25
|
"--output-path", output_path,
|
|
22
26
|
log_path:
|
|
23
27
|
end
|
|
28
|
+
|
|
29
|
+
def options_to_args(options)
|
|
30
|
+
(options || {}).flat_map do |key, value|
|
|
31
|
+
[key.to_s.tr("_", "-").prepend("--"), value]
|
|
32
|
+
end
|
|
33
|
+
end
|
|
24
34
|
end
|
|
25
35
|
end
|
|
26
36
|
end
|
|
@@ -45,6 +45,10 @@ module ScreenKit
|
|
|
45
45
|
(config.tts || {}).merge(project_config.tts || {})
|
|
46
46
|
end
|
|
47
47
|
|
|
48
|
+
def demotape_options
|
|
49
|
+
(config.demotape || {}).merge(project_config.demotape || {})
|
|
50
|
+
end
|
|
51
|
+
|
|
48
52
|
def tts_engine
|
|
49
53
|
@tts_engine ||= TTS.const_get(
|
|
50
54
|
tts_options[:engine].camelize
|
|
@@ -155,7 +159,9 @@ module ScreenKit
|
|
|
155
159
|
def merge_segments
|
|
156
160
|
spinner.update("Merging segments into final episode…")
|
|
157
161
|
started = Process.clock_gettime(Process::CLOCK_MONOTONIC)
|
|
158
|
-
crossfade_duration =
|
|
162
|
+
crossfade_duration = Duration.parse(
|
|
163
|
+
scenes.dig(:segment, :crossfade_duration) || 0.5
|
|
164
|
+
)
|
|
159
165
|
watermark = Watermark.new(config.watermark || project_config.watermark)
|
|
160
166
|
|
|
161
167
|
watermark_path = if watermark.path
|
|
@@ -86,7 +86,7 @@ module ScreenKit
|
|
|
86
86
|
"-c:v", "libx264", "-crf", "0", "-pix_fmt", "yuv444p",
|
|
87
87
|
"-c:a", "flac", "-ac", "1", "-ar", "44100",
|
|
88
88
|
"-shortest",
|
|
89
|
-
"-t", config[:duration],
|
|
89
|
+
"-t", Duration.parse(config[:duration]),
|
|
90
90
|
"-r", 24,
|
|
91
91
|
"-y",
|
|
92
92
|
path
|
|
@@ -96,9 +96,9 @@ module ScreenKit
|
|
|
96
96
|
end
|
|
97
97
|
|
|
98
98
|
private def ffmpeg_params
|
|
99
|
-
duration = config[:duration]
|
|
100
|
-
fade_in = config.fetch(:fade_in, 0.0)
|
|
101
|
-
fade_out = config.fetch(:fade_out, 0.5)
|
|
99
|
+
duration = Duration.parse(config[:duration])
|
|
100
|
+
fade_in = Duration.parse(config.fetch(:fade_in, 0.0))
|
|
101
|
+
fade_out = Duration.parse(config.fetch(:fade_out, 0.5))
|
|
102
102
|
fade_out_start = duration - fade_out - 0.1
|
|
103
103
|
|
|
104
104
|
# Build filter chain
|
|
@@ -71,7 +71,7 @@ module ScreenKit
|
|
|
71
71
|
"-c:v", "libx264", "-crf", "0", "-pix_fmt", "yuv444p",
|
|
72
72
|
"-c:a", "flac", "-ac", "1", "-ar", "44100",
|
|
73
73
|
"-shortest",
|
|
74
|
-
"-t", config[:duration],
|
|
74
|
+
"-t", Duration.parse(config[:duration]),
|
|
75
75
|
"-r", 24,
|
|
76
76
|
"-y",
|
|
77
77
|
path
|
|
@@ -81,11 +81,11 @@ module ScreenKit
|
|
|
81
81
|
end
|
|
82
82
|
|
|
83
83
|
private def ffmpeg_params
|
|
84
|
-
duration = config[:duration]
|
|
84
|
+
duration = Duration.parse(config[:duration])
|
|
85
85
|
logo_delay = 0.5
|
|
86
|
-
fade_in = config.fetch(:fade_in, 0.5)
|
|
87
|
-
fade_out = config.fetch(:fade_out, 0.5)
|
|
88
|
-
fade_out_start = duration - fade_out - 0.
|
|
86
|
+
fade_in = Duration.parse(config.fetch(:fade_in, 0.5))
|
|
87
|
+
fade_out = Duration.parse(config.fetch(:fade_out, 0.5))
|
|
88
|
+
fade_out_start = duration - fade_out - 0.2
|
|
89
89
|
|
|
90
90
|
# Build filter chain
|
|
91
91
|
inputs = []
|
|
@@ -75,15 +75,20 @@ module ScreenKit
|
|
|
75
75
|
.export(video_path)
|
|
76
76
|
when *ContentType.demotape
|
|
77
77
|
Exporter::Demotape
|
|
78
|
-
.new(
|
|
79
|
-
|
|
78
|
+
.new(
|
|
79
|
+
demotape_path: content_path,
|
|
80
|
+
log_path:,
|
|
81
|
+
options: episode.demotape_options
|
|
82
|
+
).export(video_path)
|
|
80
83
|
else
|
|
81
84
|
raise "Unsupported content type: #{content_path.extname}"
|
|
82
85
|
end
|
|
83
86
|
end
|
|
84
87
|
|
|
85
88
|
def crossfade_duration
|
|
86
|
-
|
|
89
|
+
Duration.parse(
|
|
90
|
+
episode.scenes.fetch(:segment).fetch(:crossfade_duration, 0.5)
|
|
91
|
+
)
|
|
87
92
|
end
|
|
88
93
|
|
|
89
94
|
def merge_audio_and_video(log_path:)
|
|
@@ -123,9 +128,9 @@ module ScreenKit
|
|
|
123
128
|
|
|
124
129
|
starts_at = callout[:starts_at]
|
|
125
130
|
max_duration = [content_duration - 0.2, 0].max
|
|
126
|
-
duration = callout[:duration]
|
|
127
|
-
|
|
128
|
-
|
|
131
|
+
duration = Duration.parse(callout[:duration])
|
|
132
|
+
.clamp(0, max_duration)
|
|
133
|
+
.round(half: :down)
|
|
129
134
|
ends_at = starts_at + duration
|
|
130
135
|
callout_image_path = episode.output_dir.join("callouts",
|
|
131
136
|
"#{prefix}-#{index}.png")
|
|
@@ -98,13 +98,13 @@ tts:
|
|
|
98
98
|
scenes:
|
|
99
99
|
intro:
|
|
100
100
|
# The duration of the intro scene in seconds.
|
|
101
|
-
duration: 5.
|
|
101
|
+
duration: 5.5s
|
|
102
102
|
|
|
103
103
|
# The fade-in duration in seconds.
|
|
104
|
-
fade_in:
|
|
104
|
+
fade_in: 0s
|
|
105
105
|
|
|
106
106
|
# The fade-out duration in seconds.
|
|
107
|
-
fade_out: 0.
|
|
107
|
+
fade_out: 0.5s
|
|
108
108
|
|
|
109
109
|
# The background color/image of the intro scene.
|
|
110
110
|
background: "#100f50"
|
|
@@ -113,7 +113,7 @@ scenes:
|
|
|
113
113
|
title:
|
|
114
114
|
x: 100
|
|
115
115
|
y: 300
|
|
116
|
-
font_path:
|
|
116
|
+
font_path: open-sans/OpenSans-ExtraBold.ttf
|
|
117
117
|
size: 144
|
|
118
118
|
color: "#ffffff"
|
|
119
119
|
|
|
@@ -133,13 +133,13 @@ scenes:
|
|
|
133
133
|
|
|
134
134
|
outro:
|
|
135
135
|
# The duration of the outro scene in seconds.
|
|
136
|
-
duration: 5.
|
|
136
|
+
duration: 5.5s
|
|
137
137
|
|
|
138
138
|
# The fade-in duration in seconds.
|
|
139
|
-
fade_in: 0.
|
|
139
|
+
fade_in: 0.5s
|
|
140
140
|
|
|
141
141
|
# The fade-out duration in seconds.
|
|
142
|
-
fade_out: 0.
|
|
142
|
+
fade_out: 0.5s
|
|
143
143
|
|
|
144
144
|
# The background color/image of the outro scene.
|
|
145
145
|
background: "#100f50"
|
|
@@ -156,7 +156,72 @@ scenes:
|
|
|
156
156
|
|
|
157
157
|
segment:
|
|
158
158
|
# The duration of the crossover transition between segments in seconds.
|
|
159
|
-
crossfade_duration: 0.
|
|
159
|
+
crossfade_duration: 0.5s
|
|
160
|
+
|
|
161
|
+
# Configure [demotape](https://github.com/fnando/demotape).
|
|
162
|
+
demotape:
|
|
163
|
+
# Global speed for typing
|
|
164
|
+
typing_speed: 50ms
|
|
165
|
+
|
|
166
|
+
# Whether to add variability to typing speed
|
|
167
|
+
variable_typing: 0.25
|
|
168
|
+
|
|
169
|
+
# Shell to use for the terminal session
|
|
170
|
+
shell: zsh
|
|
171
|
+
|
|
172
|
+
# Path to a shell rc file to source on startup
|
|
173
|
+
# rc_file:
|
|
174
|
+
|
|
175
|
+
# Do not load the default rc file
|
|
176
|
+
no_rc: false
|
|
177
|
+
|
|
178
|
+
# A built-in theme name or a path to a custom theme JSON file
|
|
179
|
+
theme: default_dark
|
|
180
|
+
|
|
181
|
+
# Font size for the terminal session
|
|
182
|
+
font_size: 32
|
|
183
|
+
|
|
184
|
+
# Font family for the terminal session
|
|
185
|
+
font_family: "'JetBrainsMono Nerd Font Propo', monospace"
|
|
186
|
+
|
|
187
|
+
# Line height for the terminal session
|
|
188
|
+
line_height: 1.2
|
|
189
|
+
|
|
190
|
+
# Whether the cursor blinks
|
|
191
|
+
cursor_blink: true
|
|
192
|
+
|
|
193
|
+
# The width of the cursor when in 'bar' style
|
|
194
|
+
cursor_width: 2
|
|
195
|
+
|
|
196
|
+
# The style of the cursor when the terminal is focused.
|
|
197
|
+
cursor_style: block
|
|
198
|
+
|
|
199
|
+
# Letter spacing for the terminal session
|
|
200
|
+
letter_spacing: 0
|
|
201
|
+
|
|
202
|
+
# Padding around the terminal content. It can be 1, 2, or 4 numbers.
|
|
203
|
+
padding: 50
|
|
204
|
+
|
|
205
|
+
# Loop the GIF infinitely
|
|
206
|
+
loop: true
|
|
207
|
+
|
|
208
|
+
# Delay time (in seconds) before restarting the GIF animation
|
|
209
|
+
loop_delay: 0
|
|
210
|
+
|
|
211
|
+
# Margin around the terminal content. It can be 1, 2, or 4 numbers.
|
|
212
|
+
margin: 0
|
|
213
|
+
|
|
214
|
+
# Color or image to use for the margin around the terminal content
|
|
215
|
+
margin_fill: "#000000"
|
|
216
|
+
|
|
217
|
+
# Border radius for the terminal canvas
|
|
218
|
+
border_radius: 0
|
|
219
|
+
|
|
220
|
+
# Delay (in seconds) before pressing Enter
|
|
221
|
+
run_enter_delay: 1s
|
|
222
|
+
|
|
223
|
+
# Delay (in seconds) after running each command
|
|
224
|
+
run_sleep: 3s
|
|
160
225
|
|
|
161
226
|
# Callout configurations define the appearance and behavior of callouts used
|
|
162
227
|
# in the video. Callouts are visual elements that highlight important
|
|
@@ -170,20 +235,20 @@ callouts:
|
|
|
170
235
|
title_style:
|
|
171
236
|
color: "#000000"
|
|
172
237
|
size: 40
|
|
173
|
-
font_path:
|
|
238
|
+
font_path: open-sans/OpenSans-ExtraBold.ttf
|
|
174
239
|
body_style:
|
|
175
240
|
color: "#000000"
|
|
176
241
|
size: 32
|
|
177
|
-
font_path:
|
|
242
|
+
font_path: open-sans/OpenSans-Semibold.ttf
|
|
178
243
|
margin: 100
|
|
179
244
|
padding: 50
|
|
180
245
|
anchor: [left, bottom]
|
|
181
246
|
animation: fade
|
|
182
247
|
in_transition:
|
|
183
|
-
duration: 0.
|
|
248
|
+
duration: 0.4s
|
|
184
249
|
sound: pop.mp3
|
|
185
250
|
out_transition:
|
|
186
|
-
duration: 0.
|
|
251
|
+
duration: 0.3s
|
|
187
252
|
sound:
|
|
188
253
|
path: pop.mp3
|
|
189
254
|
volume: 0.7
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"minLength": 1,
|
|
17
17
|
"pattern": "\\S"
|
|
18
18
|
},
|
|
19
|
+
"demotape": { "$ref": "refs/demotape.json" },
|
|
19
20
|
"callouts": {
|
|
20
21
|
"type": "array",
|
|
21
22
|
"description": "List of callouts to be used in the episode",
|
|
@@ -42,19 +43,7 @@
|
|
|
42
43
|
}
|
|
43
44
|
]
|
|
44
45
|
},
|
|
45
|
-
"duration": {
|
|
46
|
-
"oneOf": [
|
|
47
|
-
{
|
|
48
|
-
"type": "string",
|
|
49
|
-
"description": "Callout duration time (e.g. 5s)",
|
|
50
|
-
"pattern": "/^\\d+(s|m|h)$/"
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
"type": "number",
|
|
54
|
-
"description": "Callout duration time in seconds (e.g. 5)"
|
|
55
|
-
}
|
|
56
|
-
]
|
|
57
|
-
},
|
|
46
|
+
"duration": { "$ref": "refs/duration.json" },
|
|
58
47
|
"width": {
|
|
59
48
|
"oneOf": [
|
|
60
49
|
{
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
3
|
+
"$id": "https://github.com/fnando/screenkit/schemas/refs/demotape.json",
|
|
4
|
+
"title": "Demo Tape settings (https://github.com/fnando/demotape)",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"typing_speed": { "$ref": "duration.json" },
|
|
8
|
+
"variable_typing": { "type": "number" },
|
|
9
|
+
"shell": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"enum": ["bash", "zsh", "fish"]
|
|
12
|
+
},
|
|
13
|
+
"no_rc": {
|
|
14
|
+
"type": "boolean"
|
|
15
|
+
},
|
|
16
|
+
"rc_file": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"format": "uri"
|
|
19
|
+
},
|
|
20
|
+
"theme": {
|
|
21
|
+
"oneOf": [
|
|
22
|
+
{ "$ref": "demotape_themes.json" },
|
|
23
|
+
{ "type": "string", "pattern": "^[./]|^[a-zA-Z]:" }
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
"font_size": { "type": "integer" },
|
|
27
|
+
"font_family": { "type": "string" },
|
|
28
|
+
"line_height": { "type": "number" },
|
|
29
|
+
"cursor_blink": { "type": "boolean" },
|
|
30
|
+
"cursor_width": { "type": "number" },
|
|
31
|
+
"cursor_style": { "type": "string", "enum": ["block", "underline", "bar"] },
|
|
32
|
+
"letter_spacing": { "type": "number" },
|
|
33
|
+
"padding": { "type": "number", "minLength": 1, "maxLength": 4 },
|
|
34
|
+
"margin": { "type": "number", "minLength": 1, "maxLength": 4 },
|
|
35
|
+
"margin_fill": {
|
|
36
|
+
"oneOf": [
|
|
37
|
+
{
|
|
38
|
+
"type": "string",
|
|
39
|
+
"pattern": "^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"
|
|
40
|
+
},
|
|
41
|
+
{ "type": "string", "pattern": "^[./]|^[a-zA-Z]:" }
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
"border_radius": { "type": "integer" },
|
|
45
|
+
"run_enter_delay": { "$ref": "duration.json" },
|
|
46
|
+
"run_sleep": { "$ref": "duration.json" }
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
3
|
+
"$id": "https://github.com/fnando/screenkit/schemas/refs/demotape_themes.json",
|
|
4
|
+
"title": "Demo Tape themes",
|
|
5
|
+
"type": "string",
|
|
6
|
+
"enum": [
|
|
7
|
+
"3024_day",
|
|
8
|
+
"3024_night",
|
|
9
|
+
"aardvark_blue",
|
|
10
|
+
"abernathy",
|
|
11
|
+
"adventure_time",
|
|
12
|
+
"adventure",
|
|
13
|
+
"afterglow",
|
|
14
|
+
"alabaster",
|
|
15
|
+
"alien_blood",
|
|
16
|
+
"andromeda",
|
|
17
|
+
"apple_classic",
|
|
18
|
+
"apple_system_colors",
|
|
19
|
+
"arcoiris",
|
|
20
|
+
"argonaut",
|
|
21
|
+
"arthur",
|
|
22
|
+
"atelier_sulphurpool",
|
|
23
|
+
"atom_one_light",
|
|
24
|
+
"atom",
|
|
25
|
+
"aurora",
|
|
26
|
+
"ayu_light",
|
|
27
|
+
"ayu_mirage",
|
|
28
|
+
"ayu",
|
|
29
|
+
"banana_blueberry",
|
|
30
|
+
"batman",
|
|
31
|
+
"belafonte_day",
|
|
32
|
+
"belafonte_night",
|
|
33
|
+
"birds_of_paradise",
|
|
34
|
+
"blazer",
|
|
35
|
+
"blue_berry_pie",
|
|
36
|
+
"blue_dolphin",
|
|
37
|
+
"blue_matrix",
|
|
38
|
+
"bluloco_dark",
|
|
39
|
+
"bluloco_light",
|
|
40
|
+
"borland",
|
|
41
|
+
"breeze",
|
|
42
|
+
"bright_lights",
|
|
43
|
+
"broadcast",
|
|
44
|
+
"brogrammer",
|
|
45
|
+
"bubbles",
|
|
46
|
+
"builtin_dark",
|
|
47
|
+
"builtin_light",
|
|
48
|
+
"builtin_pastel_dark",
|
|
49
|
+
"builtin_solarized_dark",
|
|
50
|
+
"builtin_solarized_light",
|
|
51
|
+
"builtin_tango_dark",
|
|
52
|
+
"builtin_tango_light",
|
|
53
|
+
"c64",
|
|
54
|
+
"calamity",
|
|
55
|
+
"catppuccin_frappe",
|
|
56
|
+
"catppuccin_latte",
|
|
57
|
+
"catppuccin_macchiato",
|
|
58
|
+
"catppuccin_mocha",
|
|
59
|
+
"cga",
|
|
60
|
+
"chalk",
|
|
61
|
+
"chalkboard",
|
|
62
|
+
"challenger_deep",
|
|
63
|
+
"chester",
|
|
64
|
+
"ciapre",
|
|
65
|
+
"clrs",
|
|
66
|
+
"cobalt_neon",
|
|
67
|
+
"cobalt2",
|
|
68
|
+
"coffee_theme",
|
|
69
|
+
"contrast_light",
|
|
70
|
+
"coolnight",
|
|
71
|
+
"crayon_pony_fish",
|
|
72
|
+
"crystal_violet",
|
|
73
|
+
"cutie_pro",
|
|
74
|
+
"cyber_cube",
|
|
75
|
+
"cyber_punk2077",
|
|
76
|
+
"cyberdyne",
|
|
77
|
+
"cyberpunk",
|
|
78
|
+
"dark_pastel",
|
|
79
|
+
"dark_plus",
|
|
80
|
+
"darkermatrix",
|
|
81
|
+
"darkmatrix",
|
|
82
|
+
"darkside",
|
|
83
|
+
"dayfox",
|
|
84
|
+
"deep",
|
|
85
|
+
"default_dark",
|
|
86
|
+
"default_light",
|
|
87
|
+
"desert",
|
|
88
|
+
"dimmed_monokai",
|
|
89
|
+
"django_reborn_again",
|
|
90
|
+
"django_smooth",
|
|
91
|
+
"django",
|
|
92
|
+
"doom_one",
|
|
93
|
+
"doom_peacock",
|
|
94
|
+
"dot_gov",
|
|
95
|
+
"dracula_plus",
|
|
96
|
+
"dracula",
|
|
97
|
+
"duckbones",
|
|
98
|
+
"duotone_dark",
|
|
99
|
+
"earthsong",
|
|
100
|
+
"elemental",
|
|
101
|
+
"elementary",
|
|
102
|
+
"encom",
|
|
103
|
+
"espresso_libre",
|
|
104
|
+
"espresso",
|
|
105
|
+
"everblush",
|
|
106
|
+
"fahrenheit",
|
|
107
|
+
"fairyfloss",
|
|
108
|
+
"farmhouse_dark",
|
|
109
|
+
"farmhouse_light",
|
|
110
|
+
"fideloper",
|
|
111
|
+
"firefly_traditional",
|
|
112
|
+
"firefox_dev",
|
|
113
|
+
"firewatch",
|
|
114
|
+
"fish_tank",
|
|
115
|
+
"flat",
|
|
116
|
+
"flatland",
|
|
117
|
+
"flexoki_dark",
|
|
118
|
+
"flexoki_light",
|
|
119
|
+
"floraverse",
|
|
120
|
+
"forest_blue",
|
|
121
|
+
"framer",
|
|
122
|
+
"front_end_delight",
|
|
123
|
+
"fun_forrest",
|
|
124
|
+
"galaxy",
|
|
125
|
+
"galizur",
|
|
126
|
+
"ganyu",
|
|
127
|
+
"git_hub_dark",
|
|
128
|
+
"github",
|
|
129
|
+
"glacier",
|
|
130
|
+
"glorious",
|
|
131
|
+
"grape",
|
|
132
|
+
"grass",
|
|
133
|
+
"grey_green",
|
|
134
|
+
"gruvbox_dark_hard",
|
|
135
|
+
"gruvbox_dark",
|
|
136
|
+
"gruvbox_light",
|
|
137
|
+
"guezwhoz",
|
|
138
|
+
"h4rithd_com",
|
|
139
|
+
"h4rithd",
|
|
140
|
+
"ha_x0_r_blue",
|
|
141
|
+
"ha_x0_r_gr33_n",
|
|
142
|
+
"ha_x0_r_r3_d",
|
|
143
|
+
"hacktober",
|
|
144
|
+
"hardcore",
|
|
145
|
+
"harper",
|
|
146
|
+
"highway",
|
|
147
|
+
"hipster_green",
|
|
148
|
+
"hivacruz",
|
|
149
|
+
"homebrew",
|
|
150
|
+
"hopscotch_256",
|
|
151
|
+
"hopscotch",
|
|
152
|
+
"horizon",
|
|
153
|
+
"hurtado",
|
|
154
|
+
"hybrid",
|
|
155
|
+
"hyper",
|
|
156
|
+
"ic_green_ppl",
|
|
157
|
+
"ic_orange_ppl",
|
|
158
|
+
"iceberg_dark",
|
|
159
|
+
"iceberg_light",
|
|
160
|
+
"idea",
|
|
161
|
+
"idle_toes",
|
|
162
|
+
"ir_black",
|
|
163
|
+
"iterm2_dark_background",
|
|
164
|
+
"iterm2_default",
|
|
165
|
+
"iterm2_light_background",
|
|
166
|
+
"iterm2_pastel_dark_background",
|
|
167
|
+
"iterm2_smoooooth",
|
|
168
|
+
"iterm2_solarized_dark",
|
|
169
|
+
"iterm2_solarized_light",
|
|
170
|
+
"iterm2_tango_dark",
|
|
171
|
+
"iterm2_tango_light",
|
|
172
|
+
"jackie_brown",
|
|
173
|
+
"japanesque",
|
|
174
|
+
"jellybeans",
|
|
175
|
+
"jet_brains_darcula",
|
|
176
|
+
"jubi",
|
|
177
|
+
"juicy_colors",
|
|
178
|
+
"kanagawa",
|
|
179
|
+
"kanagawabones",
|
|
180
|
+
"kibble",
|
|
181
|
+
"kolorit",
|
|
182
|
+
"konsolas",
|
|
183
|
+
"lab_fox",
|
|
184
|
+
"laser",
|
|
185
|
+
"later_this_evening",
|
|
186
|
+
"lavandula",
|
|
187
|
+
"liquid_carbon_transparent_inverse",
|
|
188
|
+
"liquid_carbon_transparent",
|
|
189
|
+
"liquid_carbon",
|
|
190
|
+
"lovelace",
|
|
191
|
+
"man_page",
|
|
192
|
+
"mariana",
|
|
193
|
+
"material_dark",
|
|
194
|
+
"material_darker",
|
|
195
|
+
"material_design_colors",
|
|
196
|
+
"material_ocean",
|
|
197
|
+
"material",
|
|
198
|
+
"mathias",
|
|
199
|
+
"matrix",
|
|
200
|
+
"medallion",
|
|
201
|
+
"mellifluous",
|
|
202
|
+
"midnight_in_mojave",
|
|
203
|
+
"mirage",
|
|
204
|
+
"misterioso",
|
|
205
|
+
"molokai",
|
|
206
|
+
"mona_lisa",
|
|
207
|
+
"monokai_cmder",
|
|
208
|
+
"monokai_pro_filter_octagon",
|
|
209
|
+
"monokai_pro_filter_ristretto",
|
|
210
|
+
"monokai_pro",
|
|
211
|
+
"monokai_remastered",
|
|
212
|
+
"monokai_soda",
|
|
213
|
+
"monokai_vivid",
|
|
214
|
+
"moonlight_ii",
|
|
215
|
+
"n0tch2k",
|
|
216
|
+
"neobones_dark",
|
|
217
|
+
"neobones_light",
|
|
218
|
+
"neon",
|
|
219
|
+
"neopolitan",
|
|
220
|
+
"neutron",
|
|
221
|
+
"night_city",
|
|
222
|
+
"night_lion_v1",
|
|
223
|
+
"night_lion_v2",
|
|
224
|
+
"night_owlish_light",
|
|
225
|
+
"nightfox",
|
|
226
|
+
"niji",
|
|
227
|
+
"nocturnal_winter",
|
|
228
|
+
"nord_light",
|
|
229
|
+
"nord",
|
|
230
|
+
"novel",
|
|
231
|
+
"nvim_dark",
|
|
232
|
+
"nvim_light",
|
|
233
|
+
"obsidian",
|
|
234
|
+
"ocean",
|
|
235
|
+
"oceanic_material",
|
|
236
|
+
"oceanic_next",
|
|
237
|
+
"ollie",
|
|
238
|
+
"one_dark",
|
|
239
|
+
"one_half_dark",
|
|
240
|
+
"one_half_light",
|
|
241
|
+
"one_star",
|
|
242
|
+
"operator_mono_dark",
|
|
243
|
+
"overnight_slumber",
|
|
244
|
+
"pale_night_hc",
|
|
245
|
+
"pandora",
|
|
246
|
+
"paraiso_dark",
|
|
247
|
+
"paul_millr",
|
|
248
|
+
"pencil_dark",
|
|
249
|
+
"pencil_light",
|
|
250
|
+
"peppermint",
|
|
251
|
+
"piatto_light",
|
|
252
|
+
"pnevma",
|
|
253
|
+
"popping_and_locking",
|
|
254
|
+
"primary",
|
|
255
|
+
"primer",
|
|
256
|
+
"pro_light",
|
|
257
|
+
"pro",
|
|
258
|
+
"purple_rain",
|
|
259
|
+
"purplepeter",
|
|
260
|
+
"qb64_super_dark_blue",
|
|
261
|
+
"rapture",
|
|
262
|
+
"raycast_dark",
|
|
263
|
+
"raycast_light",
|
|
264
|
+
"rebecca",
|
|
265
|
+
"red_alert",
|
|
266
|
+
"red_planet",
|
|
267
|
+
"red_sands",
|
|
268
|
+
"relaxed",
|
|
269
|
+
"retro",
|
|
270
|
+
"retrowave",
|
|
271
|
+
"rippedcasts",
|
|
272
|
+
"rose_pine_dawn",
|
|
273
|
+
"rose_pine_moon",
|
|
274
|
+
"rose_pine",
|
|
275
|
+
"rouge_2",
|
|
276
|
+
"royal",
|
|
277
|
+
"ryuuko",
|
|
278
|
+
"sakura",
|
|
279
|
+
"scarlet_protocol",
|
|
280
|
+
"sea_shells",
|
|
281
|
+
"seafoam_pastel",
|
|
282
|
+
"seoulbones_dark",
|
|
283
|
+
"seoulbones_light",
|
|
284
|
+
"serendipity_midnight",
|
|
285
|
+
"serendipity_morning",
|
|
286
|
+
"serendipity_sunset",
|
|
287
|
+
"seti",
|
|
288
|
+
"shades_of_purple",
|
|
289
|
+
"shaman",
|
|
290
|
+
"slate",
|
|
291
|
+
"sleepy_hollow",
|
|
292
|
+
"smyck",
|
|
293
|
+
"snazzy",
|
|
294
|
+
"soft_server",
|
|
295
|
+
"solarized_darcula",
|
|
296
|
+
"solarized_dark_higher_contrast",
|
|
297
|
+
"solarized_dark_patched",
|
|
298
|
+
"sonoran_gothic",
|
|
299
|
+
"sonoran_sunrise",
|
|
300
|
+
"space_gray_eighties_dull",
|
|
301
|
+
"space_gray_eighties",
|
|
302
|
+
"space_gray",
|
|
303
|
+
"spacedust",
|
|
304
|
+
"spiderman",
|
|
305
|
+
"spring",
|
|
306
|
+
"square",
|
|
307
|
+
"sublette",
|
|
308
|
+
"subliminal",
|
|
309
|
+
"sundried",
|
|
310
|
+
"symfonic",
|
|
311
|
+
"synthwave_alpha",
|
|
312
|
+
"synthwave_everything",
|
|
313
|
+
"synthwave",
|
|
314
|
+
"tango_adapted",
|
|
315
|
+
"tango_half_adapted",
|
|
316
|
+
"teerb",
|
|
317
|
+
"terafox",
|
|
318
|
+
"terminal_basic",
|
|
319
|
+
"thayer_bright",
|
|
320
|
+
"the_hulk",
|
|
321
|
+
"tinacious_design_dark",
|
|
322
|
+
"tinacious_design_light",
|
|
323
|
+
"tokyo_night_light",
|
|
324
|
+
"tokyo_night_storm",
|
|
325
|
+
"tokyo_night",
|
|
326
|
+
"tokyonight_day",
|
|
327
|
+
"tokyonight_storm",
|
|
328
|
+
"tokyonight",
|
|
329
|
+
"tomorrow_night_blue",
|
|
330
|
+
"tomorrow_night_bright",
|
|
331
|
+
"tomorrow_night_burns",
|
|
332
|
+
"tomorrow_night_eighties",
|
|
333
|
+
"tomorrow_night",
|
|
334
|
+
"tomorrow",
|
|
335
|
+
"toy_chest",
|
|
336
|
+
"treehouse",
|
|
337
|
+
"twilight",
|
|
338
|
+
"ubuntu",
|
|
339
|
+
"ultra_dark",
|
|
340
|
+
"ultra_violent",
|
|
341
|
+
"under_the_sea",
|
|
342
|
+
"unholy",
|
|
343
|
+
"unikitty",
|
|
344
|
+
"urple",
|
|
345
|
+
"vaughn",
|
|
346
|
+
"vesper",
|
|
347
|
+
"vibrant_ink",
|
|
348
|
+
"vimbones",
|
|
349
|
+
"violet_dark",
|
|
350
|
+
"violet_light",
|
|
351
|
+
"warm_neon",
|
|
352
|
+
"wez",
|
|
353
|
+
"whimsy",
|
|
354
|
+
"wild_cherry",
|
|
355
|
+
"wilmersdorf",
|
|
356
|
+
"wombat",
|
|
357
|
+
"wryan",
|
|
358
|
+
"zenbones_dark",
|
|
359
|
+
"zenbones_light",
|
|
360
|
+
"zenbones",
|
|
361
|
+
"zenburn",
|
|
362
|
+
"zenburned",
|
|
363
|
+
"zenwritten_dark",
|
|
364
|
+
"zenwritten_light",
|
|
365
|
+
"zeonica"
|
|
366
|
+
]
|
|
367
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
3
|
+
"$id": "https://github.com/fnando/screenkit/schemas/refs/duration.json",
|
|
4
|
+
"title": "Duration",
|
|
5
|
+
"oneOf": [
|
|
6
|
+
{ "type": "string", "pattern": "^\\d+(\\.\\d+)?(ms|s|m|h)?$" },
|
|
7
|
+
{ "type": "number", "minimum": 0 }
|
|
8
|
+
]
|
|
9
|
+
}
|
|
@@ -3,21 +3,9 @@
|
|
|
3
3
|
"$id": "https://github.com/fnando/screenkit/schemas/refs/intro.json",
|
|
4
4
|
"title": "Intro",
|
|
5
5
|
"properties": {
|
|
6
|
-
"duration": {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
"minimum": 0
|
|
10
|
-
},
|
|
11
|
-
"fade_in": {
|
|
12
|
-
"type": "number",
|
|
13
|
-
"description": "Fade-in duration in seconds",
|
|
14
|
-
"minimum": 0
|
|
15
|
-
},
|
|
16
|
-
"fade_out": {
|
|
17
|
-
"type": "number",
|
|
18
|
-
"description": "Fade-out duration in seconds",
|
|
19
|
-
"minimum": 0
|
|
20
|
-
},
|
|
6
|
+
"duration": { "$ref": "duration.json" },
|
|
7
|
+
"fade_in": { "$ref": "duration.json" },
|
|
8
|
+
"fade_out": { "$ref": "duration.json" },
|
|
21
9
|
"title": {
|
|
22
10
|
"type": "object",
|
|
23
11
|
"description": "Title configuration",
|
|
@@ -7,20 +7,8 @@
|
|
|
7
7
|
"background": { "$ref": "background.json" },
|
|
8
8
|
"logo": { "$ref": "logo.json" },
|
|
9
9
|
"sound": { "$ref": "sound.json" },
|
|
10
|
-
"duration": {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
"minimum": 0
|
|
14
|
-
},
|
|
15
|
-
"fade_in": {
|
|
16
|
-
"type": "number",
|
|
17
|
-
"description": "Fade-in duration in seconds",
|
|
18
|
-
"minimum": 0
|
|
19
|
-
},
|
|
20
|
-
"fade_out": {
|
|
21
|
-
"type": "number",
|
|
22
|
-
"description": "Fade-out duration in seconds",
|
|
23
|
-
"minimum": 0
|
|
24
|
-
}
|
|
10
|
+
"duration": { "$ref": "duration.json" },
|
|
11
|
+
"fade_in": { "$ref": "duration.json" },
|
|
12
|
+
"fade_out": { "$ref": "duration.json" }
|
|
25
13
|
}
|
|
26
14
|
}
|
|
@@ -16,11 +16,7 @@
|
|
|
16
16
|
"description": "Main content scene configuration",
|
|
17
17
|
"required": ["crossfade_duration"],
|
|
18
18
|
"properties": {
|
|
19
|
-
"crossfade_duration": {
|
|
20
|
-
"type": "number",
|
|
21
|
-
"description": "Duration of the crossover transition between segments in seconds",
|
|
22
|
-
"minimum": 0
|
|
23
|
-
}
|
|
19
|
+
"crossfade_duration": { "$ref": "duration.json" }
|
|
24
20
|
}
|
|
25
21
|
}
|
|
26
22
|
}
|
data/lib/screenkit/version.rb
CHANGED
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.
|
|
4
|
+
version: 0.0.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Nando Vieira
|
|
@@ -296,6 +296,7 @@ files:
|
|
|
296
296
|
- lib/screenkit/content_type.rb
|
|
297
297
|
- lib/screenkit/core_ext/json.rb
|
|
298
298
|
- lib/screenkit/core_ext/string.rb
|
|
299
|
+
- lib/screenkit/duration.rb
|
|
299
300
|
- lib/screenkit/exporter/demotape.rb
|
|
300
301
|
- lib/screenkit/exporter/episode.rb
|
|
301
302
|
- lib/screenkit/exporter/image.rb
|
|
@@ -310,44 +311,44 @@ files:
|
|
|
310
311
|
- lib/screenkit/generators/project.rb
|
|
311
312
|
- lib/screenkit/generators/project/Gemfile.erb
|
|
312
313
|
- lib/screenkit/generators/project/resources/backtracks/default.aac
|
|
313
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
314
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
315
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
316
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
317
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
318
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
319
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
320
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
321
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
322
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
323
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
324
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
325
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
326
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
327
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
328
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
329
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
330
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
331
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
332
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
333
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
334
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
335
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
336
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
337
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
338
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
339
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
340
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
341
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
342
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
343
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
344
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
345
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
346
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
347
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
348
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
349
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
350
|
-
- lib/screenkit/generators/project/resources/fonts/
|
|
314
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OFL.txt
|
|
315
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans-Bold.ttf
|
|
316
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans-BoldItalic.ttf
|
|
317
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans-ExtraBold.ttf
|
|
318
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans-ExtraBoldItalic.ttf
|
|
319
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans-Italic.ttf
|
|
320
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans-Light.ttf
|
|
321
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans-LightItalic.ttf
|
|
322
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans-Medium.ttf
|
|
323
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans-MediumItalic.ttf
|
|
324
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans-Regular.ttf
|
|
325
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans-SemiBold.ttf
|
|
326
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans-SemiBoldItalic.ttf
|
|
327
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_Condensed-Bold.ttf
|
|
328
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_Condensed-BoldItalic.ttf
|
|
329
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_Condensed-ExtraBold.ttf
|
|
330
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_Condensed-ExtraBoldItalic.ttf
|
|
331
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_Condensed-Italic.ttf
|
|
332
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_Condensed-Light.ttf
|
|
333
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_Condensed-LightItalic.ttf
|
|
334
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_Condensed-Medium.ttf
|
|
335
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_Condensed-MediumItalic.ttf
|
|
336
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_Condensed-Regular.ttf
|
|
337
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_Condensed-SemiBold.ttf
|
|
338
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_Condensed-SemiBoldItalic.ttf
|
|
339
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_SemiCondensed-Bold.ttf
|
|
340
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_SemiCondensed-BoldItalic.ttf
|
|
341
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_SemiCondensed-ExtraBold.ttf
|
|
342
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_SemiCondensed-ExtraBoldItalic.ttf
|
|
343
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_SemiCondensed-Italic.ttf
|
|
344
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_SemiCondensed-Light.ttf
|
|
345
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_SemiCondensed-LightItalic.ttf
|
|
346
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_SemiCondensed-Medium.ttf
|
|
347
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_SemiCondensed-MediumItalic.ttf
|
|
348
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_SemiCondensed-Regular.ttf
|
|
349
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_SemiCondensed-SemiBold.ttf
|
|
350
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_SemiCondensed-SemiBoldItalic.ttf
|
|
351
|
+
- lib/screenkit/generators/project/resources/fonts/open-sans/README.txt
|
|
351
352
|
- lib/screenkit/generators/project/resources/images/logo.png
|
|
352
353
|
- lib/screenkit/generators/project/resources/images/watermark.png
|
|
353
354
|
- lib/screenkit/generators/project/resources/sounds/chime.mp3
|
|
@@ -369,7 +370,10 @@ files:
|
|
|
369
370
|
- lib/screenkit/schemas/refs/background.json
|
|
370
371
|
- lib/screenkit/schemas/refs/callout.json
|
|
371
372
|
- lib/screenkit/schemas/refs/color.json
|
|
373
|
+
- lib/screenkit/schemas/refs/demotape.json
|
|
374
|
+
- lib/screenkit/schemas/refs/demotape_themes.json
|
|
372
375
|
- lib/screenkit/schemas/refs/directory.json
|
|
376
|
+
- lib/screenkit/schemas/refs/duration.json
|
|
373
377
|
- lib/screenkit/schemas/refs/intro.json
|
|
374
378
|
- lib/screenkit/schemas/refs/logo.json
|
|
375
379
|
- lib/screenkit/schemas/refs/outro.json
|
|
@@ -402,10 +406,10 @@ metadata:
|
|
|
402
406
|
rubygems_mfa_required: 'true'
|
|
403
407
|
homepage_uri: https://github.com/fnando/screenkit
|
|
404
408
|
bug_tracker_uri: https://github.com/fnando/screenkit/issues
|
|
405
|
-
source_code_uri: https://github.com/fnando/screenkit/tree/v0.0.
|
|
406
|
-
changelog_uri: https://github.com/fnando/screenkit/tree/v0.0.
|
|
407
|
-
documentation_uri: https://github.com/fnando/screenkit/tree/v0.0.
|
|
408
|
-
license_uri: https://github.com/fnando/screenkit/tree/v0.0.
|
|
409
|
+
source_code_uri: https://github.com/fnando/screenkit/tree/v0.0.1
|
|
410
|
+
changelog_uri: https://github.com/fnando/screenkit/tree/v0.0.1/CHANGELOG.md
|
|
411
|
+
documentation_uri: https://github.com/fnando/screenkit/tree/v0.0.1/README.md
|
|
412
|
+
license_uri: https://github.com/fnando/screenkit/tree/v0.0.1/LICENSE.md
|
|
409
413
|
rdoc_options: []
|
|
410
414
|
require_paths:
|
|
411
415
|
- lib
|
|
File without changes
|
/data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-Bold.ttf
RENAMED
|
File without changes
|
|
File without changes
|
/data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-ExtraBold.ttf
RENAMED
|
File without changes
|
|
File without changes
|
/data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-Italic.ttf
RENAMED
|
File without changes
|
/data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-Light.ttf
RENAMED
|
File without changes
|
|
File without changes
|
/data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-Medium.ttf
RENAMED
|
File without changes
|
|
File without changes
|
/data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-Regular.ttf
RENAMED
|
File without changes
|
/data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-SemiBold.ttf
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|