From 9f7d0ce17a6fbc4659776abd88957102cafdb25f Mon Sep 17 00:00:00 2001 From: P00kiE Date: Fri, 18 Aug 2017 17:42:51 -0400 Subject: [PATCH 01/12] edit paragraph --- video/scribblings/intro.scrbl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/video/scribblings/intro.scrbl b/video/scribblings/intro.scrbl index 2a2e552..96faa55 100644 --- a/video/scribblings/intro.scrbl +++ b/video/scribblings/intro.scrbl @@ -38,8 +38,9 @@ stream. Thus, Video allows authors to write videos in a similar fashion to how LaTeX enables authors to write documents. -All VidLang programs begin with @code{#lang video}, the -remaining program is a description of the resulting video. +All VidLang programs begin with the language declaration @code{#lang video}; and the +remaining program below is a description of the resulting video, written in expressions. + Each top level expression is a @deftech["producer"] which is anything that produces a video stream. For example, the @racket[color] producer generates a stream of green frames: From 285b97d235dd29cf4142ee3ee7de2895b0b84510 Mon Sep 17 00:00:00 2001 From: P00kiE Date: Fri, 18 Aug 2017 17:54:55 -0400 Subject: [PATCH 02/12] fix punctuation --- video/scribblings/intro.scrbl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/video/scribblings/intro.scrbl b/video/scribblings/intro.scrbl index 96faa55..55b315e 100644 --- a/video/scribblings/intro.scrbl +++ b/video/scribblings/intro.scrbl @@ -41,7 +41,7 @@ documents. All VidLang programs begin with the language declaration @code{#lang video}; and the remaining program below is a description of the resulting video, written in expressions. -Each top level expression is a @deftech["producer"] which is +Each top-level expression is a @deftech["producer"], which is anything that produces a video stream. For example, the @racket[color] producer generates a stream of green frames: From a84286c1718ee3319e00f127539b3f1d1556d5c1 Mon Sep 17 00:00:00 2001 From: P00kiE Date: Fri, 18 Aug 2017 19:37:28 -0400 Subject: [PATCH 03/12] punctuation and image --- video/scribblings/intro.scrbl | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/video/scribblings/intro.scrbl b/video/scribblings/intro.scrbl index 55b315e..49fa110 100644 --- a/video/scribblings/intro.scrbl +++ b/video/scribblings/intro.scrbl @@ -55,20 +55,21 @@ looks something like: @(inset-flow (scale (bitmap (build-path video-dir "scribblings" "sample.png")) 0.3)) -This picture also shows an example of playback controls. -These are shown whenever previewing a video. The easiest way +This picture also shows an example of the playback controls, which +are shown whenever previewing a video. The easiest way to preview a video is to press the @onscreen{Preview Video} -button in the DrRacket toolbar. Alternatively, the +button (@(bitmap (build-path video-dir "scribblings" "preview.png"))) +in the DrRacket toolbar. Alternatively, the @exec["raco video"] tool can also preview videos. For example, say the above video was saved as -@filepath["green.vid"], then the preview can be ran with: +@filepath["green.vid"]. Then the preview can be run with: @; @nested[#:style 'inset]{@exec["raco video --preview green.vid"]} @; Note that simply running a program is not enough to render a video. Every Video -programs describes a single @racket[vid] data structure. -Thus, a renderer (or streamer) can prepare the Video in many +program describes a single @racket[vid] data structure; +thus, a renderer (or streamer) can prepare the video in many different formats. Additionally, Video programs can include the @racket[vid] structure from other programs. Evaluating @racket[vid] in DrRacket's REPL after running the module From 13176661966fefc498d7e0e76a41ba0498bbca67 Mon Sep 17 00:00:00 2001 From: P00kiE Date: Sat, 19 Aug 2017 11:31:33 -0400 Subject: [PATCH 04/12] image for button --- video/scribblings/preview.png | Bin 0 -> 4979 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 video/scribblings/preview.png diff --git a/video/scribblings/preview.png b/video/scribblings/preview.png new file mode 100644 index 0000000000000000000000000000000000000000..4b99b9ce9920f0cc1fc5bc7090d18444d9ae35c1 GIT binary patch literal 4979 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 Date: Sat, 19 Aug 2017 12:50:14 -0400 Subject: [PATCH 05/12] add producers section--not done with it 100 percent yet --- video/scribblings/intro.scrbl | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/video/scribblings/intro.scrbl b/video/scribblings/intro.scrbl index 49fa110..6a6d81a 100644 --- a/video/scribblings/intro.scrbl +++ b/video/scribblings/intro.scrbl @@ -41,8 +41,7 @@ documents. All VidLang programs begin with the language declaration @code{#lang video}; and the remaining program below is a description of the resulting video, written in expressions. -Each top-level expression is a @deftech["producer"], which is -anything that produces a video stream. For example, the +Each top-level expression is a @tech["producer"], which produces a video stream. For example, the @racket[color] producer generates a stream of green frames: @racketmod[ @@ -59,7 +58,9 @@ This picture also shows an example of the playback controls, which are shown whenever previewing a video. The easiest way to preview a video is to press the @onscreen{Preview Video} button (@(bitmap (build-path video-dir "scribblings" "preview.png"))) -in the DrRacket toolbar. Alternatively, the +in the DrRacket toolbar. + +Alternatively, the @exec["raco video"] tool can also preview videos. For example, say the above video was saved as @filepath["green.vid"]. Then the preview can be run with: @@ -80,12 +81,15 @@ shows the resulting structure: ;(playlist (color "green")))] (displayln "#"))] +@section{Producers} +A @deftech["producer"] is anything that produces a video stream. + The @racket[color] function creates an infinitely long -@tech["producer"]. The @tech["producer"]'s length can optionally be set +@tech["producer"]. The @tech["producer"]'s length---or number of frames---can optionally be set explicitly with its @tech["properties"]. If the length is -not set, the @tech["producer"]s length will automatically set itself +not set, the @tech["producer"]'s length will automatically set itself to fit the surrounding context. Another function, -@racket[clip] does create a @tech["producer"] from a file: +@racket[clip], creates a @tech["producer"] from a file: @racketmod[ video From 1a5edd861f355eecb07ed6d9f5a26a9c6781b01e Mon Sep 17 00:00:00 2001 From: P00kiE Date: Sat, 19 Aug 2017 13:01:52 -0400 Subject: [PATCH 06/12] punctuation --- video/scribblings/intro.scrbl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/video/scribblings/intro.scrbl b/video/scribblings/intro.scrbl index 6a6d81a..de30591 100644 --- a/video/scribblings/intro.scrbl +++ b/video/scribblings/intro.scrbl @@ -98,7 +98,7 @@ to fit the surrounding context. Another function, @inset-flow[ (apply playlist-timeline the-rr-clip)] -Like @racket[color], clips can also set their length with @tech["properties"] +Like @racket[color], clips can also set their length with @tech["properties"]: @racketmod[ video From 19e686da042cbd2fde9534b7d33c4868a9b7835d Mon Sep 17 00:00:00 2001 From: P00kiE Date: Sat, 19 Aug 2017 13:48:30 -0400 Subject: [PATCH 07/12] edits on Filters section --- video/scribblings/intro.scrbl | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/video/scribblings/intro.scrbl b/video/scribblings/intro.scrbl index de30591..fb5071e 100644 --- a/video/scribblings/intro.scrbl +++ b/video/scribblings/intro.scrbl @@ -89,7 +89,7 @@ The @racket[color] function creates an infinitely long explicitly with its @tech["properties"]. If the length is not set, the @tech["producer"]'s length will automatically set itself to fit the surrounding context. Another function, -@racket[clip], creates a @tech["producer"] from a file: +@racket[clip], creates a @tech["producer"] from a multimedia file: @racketmod[ video @@ -112,12 +112,12 @@ Like @racket[color], clips can also set their length with @tech["properties"]: @section{Filters} -@deftech["Filters"] can be attached to every producer. These filters -modify the producers behavior: turning it grayscale, +@deftech["Filters"] can be attached to every @tech["producer"]. These filters +modify the @tech["producer"]'s behavior: turning it grayscale, changing the aspect ratio, etc. The @racket[attach-filter] -function attaches filters to an existing producer. For +function attaches filters to an existing @tech["producer"]. For example, we can use the @racket[grayscale-filter] to remove -the color from the rotating square clip earlier: +the color from the rotating square clip shown earlier: @racketmod[ video @@ -127,7 +127,8 @@ the color from the rotating square clip earlier: (apply playlist-timeline (map (compose frame grayscale-pict) the-rr-clip))] An alternative approach would be to use the -@racket[#:filters] keyword associated with producers. +@racket[#:filters] keyword associated with @tech["producer"]s, which takes +in a list of filters to apply. @racketmod[ video From f996d280dfb1f8e9b60ee29d8e13730ed8c5ee71 Mon Sep 17 00:00:00 2001 From: P00kiE Date: Sat, 19 Aug 2017 15:46:24 -0400 Subject: [PATCH 08/12] some punctuation, and deleted code example is confusing and unnecessary --- video/scribblings/intro.scrbl | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/video/scribblings/intro.scrbl b/video/scribblings/intro.scrbl index fb5071e..20e6c93 100644 --- a/video/scribblings/intro.scrbl +++ b/video/scribblings/intro.scrbl @@ -138,28 +138,17 @@ in a list of filters to apply. @section{Playlists} -Video shines when combining multiple producers. The language -provides two ways of combining producers, +Video shines when combining multiple @tech["producer"]s. The language +provides two ways of combining producers: @deftech["playlists"] and @tech["multitracks"]. To a first approximation, @tech["playlists"] run producers -sequentially, while @tech["multitracks"] play them +sequentially, while multitracks play them simultaneously. -Every Video module is implicitly a @tech["playlist"]. -Alternatively, @tech["playlists"] can be created with the +Every Video module is implicitly a playlist. +Alternatively, playlists can be created with the @racket[playlist] function. -@racketmod[ - video - (clip "spinning_square.mp4" - #:properties (hash "start" 0 "end" 4)) - (clip "spinning_square.mp4" - #:properties (hash "start" 0 "end" 4) - #:filters (list (grayscale-filter)))] -@inset-flow[ - (apply playlist-timeline - (append (slice the-rr-clip 0 4) - (slice the-grr-clip 4 8)))] @racketmod[ video (playlist From c843bece830a207055116e6277e1b72eebaa6932 Mon Sep 17 00:00:00 2001 From: P00kiE Date: Sat, 19 Aug 2017 16:11:25 -0400 Subject: [PATCH 09/12] more punctuation --- video/scribblings/intro.scrbl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/video/scribblings/intro.scrbl b/video/scribblings/intro.scrbl index 20e6c93..c748dc8 100644 --- a/video/scribblings/intro.scrbl +++ b/video/scribblings/intro.scrbl @@ -164,8 +164,8 @@ Alternatively, playlists can be created with the @tech["Playlists"] are themselves producers. As such, the @racket[playlist] function also serves to append multiple playlists -together. This example combines the playlist from above with -another similar clip of a ball dropping: +together. This example sequentially combines the playlist from above with +another, similar clip of a ball dropping: @racketmod[ video @@ -193,7 +193,7 @@ another similar clip of a ball dropping: (slice the-grall-drop 2 4)))] This clip also introduces @racket[define] in Video. Unlike -many other @racket[racket]-based languages, module level +many other @racket[racket]-based languages, module-level variables are defined for the whole module, not just after their definition.@margin-note{This is also true of functions created with @racket[λ/video] and @racket[define/video]. But From 0374e1459bbdc62f7cd0d7ae63796c69e36d757e Mon Sep 17 00:00:00 2001 From: P00kiE Date: Sat, 19 Aug 2017 16:14:47 -0400 Subject: [PATCH 10/12] multitracks are mentioned before transitions in Playlists, so Multitracks section goes next --- video/scribblings/intro.scrbl | 103 +++++++++++++++++----------------- 1 file changed, 53 insertions(+), 50 deletions(-) diff --git a/video/scribblings/intro.scrbl b/video/scribblings/intro.scrbl index c748dc8..6766a55 100644 --- a/video/scribblings/intro.scrbl +++ b/video/scribblings/intro.scrbl @@ -199,6 +199,59 @@ their definition.@margin-note{This is also true of functions created with @racket[λ/video] and @racket[define/video]. But this feature is experimental.} + +@section{Multitracks and Merges} + +@deftech["Multitracks"] play multiple producer +simultaneously. Unlike in a @tech["playlist"], only the top +most track will be rendered. @deftech["Merges"] combine +different tracks in a @racket[multitrack]. These can be +anything from a video overlay, to a chroma key effect. As +with @tech["transitions"] in @tech["playlists"], composite +@tech["merges"] can be inlined with the @tech["producers"] +in the @tech["multitrack"]'s. + +@racketmod[ + video + (multitrack + (blank #f) + (composite-merge 0 0 1/2 1) + (clip "spinning_square.mp4") + (composite-merge 1/2 0 1/2 1) + (clip "dropping_ball.mp4"))] +@inset-flow[ + (apply playlist-timeline + (for/list ([r (in-list the-rr-clip)] + [b (in-list the-ball-drop)]) + (shot (hc-append r b))))] + +@tech["Merges"] can also be listed separately with the +@racket[#:merges] keyword. This keyword takes a list of +@tech["merges"] that specify their associated tracks with +the @racket[#:top] and @racket[#:bottom] keywords: + +@racketmod[ + video + (multitrack + bg + spinning-square + dropping-ball + #:merges (list (composite-merge 0 0 1/2 1 + #:top spinning-square + #:bottom bg) + (composite-merge 1/2 0 1/2 1 + #:top dropping-ball + #:bottom bg))) + (define bg (blank #f)) + (define spinning-square (clip "spinning_square.mp4")) + (define dropping-ball (clip "dropping_ball.mp4"))] +@inset-flow[ + (apply playlist-timeline + (for/list ([r (in-list the-rr-clip)] + [b (in-list the-ball-drop)]) + (shot (hc-append r b))))] + + @section{Transitions} @deftech["Transitions"] determine how one clip transitions into another @@ -254,56 +307,6 @@ to specify what producers it connects: server to combine producers in a @tech["playlist"]. However, @tech["properties"] can still be attached to a @tech["transition"]. -@section{Multitracks and Merges} - -@deftech["Multitracks"] play multiple producer -simultaneously. Unlike in a @tech["playlist"], only the top -most track will be rendered. @deftech["Merges"] combine -different tracks in a @racket[multitrack]. These can be -anything from a video overlay, to a chroma key effect. As -with @tech["transitions"] in @tech["playlists"], composite -@tech["merges"] can be inlined with the @tech["producers"] -in the @tech["multitrack"]'s. - -@racketmod[ - video - (multitrack - (blank #f) - (composite-merge 0 0 1/2 1) - (clip "spinning_square.mp4") - (composite-merge 1/2 0 1/2 1) - (clip "dropping_ball.mp4"))] -@inset-flow[ - (apply playlist-timeline - (for/list ([r (in-list the-rr-clip)] - [b (in-list the-ball-drop)]) - (shot (hc-append r b))))] - -@tech["Merges"] can also be listed separately with the -@racket[#:merges] keyword. This keyword takes a list of -@tech["merges"] that specify their associated tracks with -the @racket[#:top] and @racket[#:bottom] keywords: - -@racketmod[ - video - (multitrack - bg - spinning-square - dropping-ball - #:merges (list (composite-merge 0 0 1/2 1 - #:top spinning-square - #:bottom bg) - (composite-merge 1/2 0 1/2 1 - #:top dropping-ball - #:bottom bg))) - (define bg (blank #f)) - (define spinning-square (clip "spinning_square.mp4")) - (define dropping-ball (clip "dropping_ball.mp4"))] -@inset-flow[ - (apply playlist-timeline - (for/list ([r (in-list the-rr-clip)] - [b (in-list the-ball-drop)]) - (shot (hc-append r b))))] @section{Video Properties} From 17e72c31b278b505a2d16abe401733ac07e79c0a Mon Sep 17 00:00:00 2001 From: P00kiE Date: Sat, 19 Aug 2017 18:12:17 -0400 Subject: [PATCH 11/12] some punctuation and a wording suggestion --- video/scribblings/intro.scrbl | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/video/scribblings/intro.scrbl b/video/scribblings/intro.scrbl index 6766a55..a257dbf 100644 --- a/video/scribblings/intro.scrbl +++ b/video/scribblings/intro.scrbl @@ -147,7 +147,7 @@ simultaneously. Every Video module is implicitly a playlist. Alternatively, playlists can be created with the -@racket[playlist] function. +@racket[playlist] function, which encapsulates a subset of producers. @racketmod[ video @@ -202,14 +202,13 @@ their definition.@margin-note{This is also true of functions @section{Multitracks and Merges} -@deftech["Multitracks"] play multiple producer -simultaneously. Unlike in a @tech["playlist"], only the top -most track will be rendered. @deftech["Merges"] combine +@deftech["Multitracks"] play multiple @tech["producer"]s +simultaneously. Unlike a @tech["playlist"], only the top-most track will be rendered. @deftech["Merges"] combine different tracks in a @racket[multitrack]. These can be -anything from a video overlay, to a chroma key effect. As +anything from a video overlay to a chroma key effect. As with @tech["transitions"] in @tech["playlists"], composite @tech["merges"] can be inlined with the @tech["producers"] -in the @tech["multitrack"]'s. +in the @tech["multitrack"]s. @racketmod[ video From f5880ecf967e5b0ffb33b9ab3f1094ed79f6242b Mon Sep 17 00:00:00 2001 From: P00kiE Date: Mon, 21 Aug 2017 16:30:25 -0400 Subject: [PATCH 12/12] more edits --- video/scribblings/intro.scrbl | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/video/scribblings/intro.scrbl b/video/scribblings/intro.scrbl index a257dbf..a20a330 100644 --- a/video/scribblings/intro.scrbl +++ b/video/scribblings/intro.scrbl @@ -204,10 +204,10 @@ their definition.@margin-note{This is also true of functions @deftech["Multitracks"] play multiple @tech["producer"]s simultaneously. Unlike a @tech["playlist"], only the top-most track will be rendered. @deftech["Merges"] combine -different tracks in a @racket[multitrack]. These can be +different tracks in a @racket[multitrack]. These combinations can be anything from a video overlay to a chroma key effect. As with @tech["transitions"] in @tech["playlists"], composite -@tech["merges"] can be inlined with the @tech["producers"] +@tech["merges"] can be inlined with the @tech["producer"]s in the @tech["multitrack"]s. @racketmod[ @@ -303,9 +303,7 @@ to specify what producers it connects: #:end black+white)))] @tech["Transitions"] themselves are not @tech["producers"], but -server to combine producers in a @tech["playlist"]. However, -@tech["properties"] can still be attached to a @tech["transition"]. - +serve to combine producers in a @tech["playlist"]. @section{Video Properties}