• Stars
    star
    190
  • Rank 203,739 (Top 5 %)
  • Language
    Python
  • Created about 5 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Blender add-on for writing screenplays and convert them directly into timed storyboards.

Blender Screenwriter & Screenplayer

Screenwriter and automatic previz/animatic generation.

Demo of Main Features

Img alt text

Features

Screenwriter

  • Write screenplays in Blender Text Editor.
  • Get live preview of screenplay formatting.
  • Use the simple fountain markup syntax.
  • Open as Fountain.
  • Save as Fountain.
  • Change font(for preview).
  • Insert Title Page.
  • Insert scene numbers.
  • Correct caps.
  • Insert [[SHOT: ]] note/comment - will generate a camera in the scene.
  • ">my action<" will center action.
  • ">" will force transition.
  • "@" will force character(may not be supported by all fountain parsers).
  • "." will force scene header.
  • Export to pdf.
  • Export to fdx(Final Draft).
  • Export to Html.

Screenplayer

  • Script to Screen sequence generation.
  • Assign 3d objects to screenplay keywords.
  • Extract screenplay data and timings.
  • Create a sequence with scene headings, action and dialogue as timed text strips.
  • Generate scenes for each screenplay scene.
  • Populated scenes with 3d objects assigned to words in the screenplay scene, where the words appear.
  • If more cameras are assigned to a scene, scene strips pointing to cameras and a multicam strip will be added to the master edit.
  • Generate cameras for each [[SHOT: ]] note/comment in the scenes where they appear.
  • Switch to the 3d scene based on the position of the screenplay scene.
  • Switch back to the master edit scene.

Mindmap

Blender_.C__Users_45239_Documents_Blender.Projekter_Add-ons_Mural_send_to_mural_01.blend.2023-04-27.10-58-51.mp4

How to Install

Use Blender 2.82 Beta or higher.

Download the repository as zip and use the normal Blender installation procedure.

In the Text Editor Sidebar you'll find the Screenwriting buttons. They'll be disabled until you save a text-block with a .fountain extention or open .fountain a file.

To export the Screenplain[PDF] module https://github.com/vilcans/screenplain is needed. It should install automatic, but if installation fails on GNU/Linux, it can be installed with 2 commands in the terminal:

  • '/INSTALLED_BLENDER_PATH/2.81/python/bin/python3.7m' -m ensurepip
  • '/INSTALLED_BLENDER_PATH/2.81/python/bin/python3.7m' -m pip install screenplain[PDF]

Alternatively this add-on can be used for module installation in Blender: https://github.com/amb/blender_pip/releases

Test Screenplay Files

https://fountain.io/_downloads/Big%20Fish.fountain

https://fountain.io/_downloads/Brick%20&%20Steel.fountain

https://fountain.io/_downloads/The%20Last%20Birthday%20Card.fountain

Fountain Syntax

https://github.com/derickc/Fountainhead#fountain-syntax

For a complete overview of the Fountain syntax, go to http://fountain.io/syntax.

Scene Headings

To indicate a new scene, start a new line and type the location of the scene in all caps. For example:

INT. COFFEE SHOP - DAY

Action

This is where you describe what is happening in the scene. Start a new line and type your action description in plain text. For example:

John walks into the coffee shop and orders a latte.

Dialogue

To indicate dialogue, start a new line and type the character's name in all caps, followed by a period. Then, type the dialogue in plain text. For example:

JOHN
Can I get a latte, please?

Parentheticals

If you need to indicate how a line of dialogue is spoken, you can use a parenthetical. Start a new line and type the character's name in all caps, followed by a period. Then, type the parenthetical in parentheses, followed by the dialogue in plain text. For example:

JOHN
(sarcastic)
Great, just what I needed.

Transitions

To indicate a transition between scenes, start a new line and type the transition in all caps. For example:

CUT TO:

Title Page

The Title Page holds metadata by Key Value pairs that are separated by : Each key can have multiple values by placing them on newlines that are indented 3+ spaces or by a tab

Fountain Element Example
Title: Title: Title
Credit: Credit: Written by
Author: Author: Author Name(s)
Source: Source: Story by...
Draft date: Draft date: Date
Contact: Contact: Contact Info

After dropping to enters the Title Page is followed by the sceenplay elements.

Not all of the following Fountain options are implemented in Blender Screenwriter or the export parsers used.

Fountain Element Example
Sections One # or more at the start of the line
"Act" Section # at start of the line defines a Act section
"Sequence" Section ## at start of the line defines a Sequence section
"Scene" Section ### at start of the line defines a Scene section
Scene Headings . at start of the line forces a Scene Heading. Using INT., EXT., EST., INT./EXT., INT/EXT, I/E at start of line interprets it also as a Scene Heading
Scene Numbers #Scene Number# at the END of the Scene Heading
Action ! at start of the line forces Action or have a paragraph of text with an empty line before and after it
Character @ at start of the line forces Character even for characters with lowercase letter or an all uppercase line with empty line before and no empty line after
Character Extensions (O.S., V.O., CONT'D) at the END of the Character line
Parenthetical Lines of (Parenthetical Text) that are beneath Character or Dialogue lines
Dialogue Lines of text that are beneath Character or Parenthetical lines
Dual Dialogue ^ at the END of the SECOND Character line
Lyrics ~ at the start of the line
Transitions > at start of the line forces a Transition or use FADE IN:, FADE OUT., FADE TO BLACK., alternatively an all uppercase line that ends with: TO:

Comments in the screenplay

Fountain Element Example or Definition Explanation
Synopses Start line with: = invisible text intended as writing aid for metadata
Notes [[Note Text]] invisible text intended for external stakeholders
Boneyard /*Boneyard Text*/ invisible text intended for writer

Styling of sceenplay text

Fountain Element Example or Definition Explanation
Centered Text >Centered Text< -
Page Breaks === Line that only contains three or more consecutive equal signs:
Line Breaks \r\n Lines can be broken up by using carriage returns
Italics *Italic Text* -
Bold **Bold Text** -
Bold Italics ***Bold Italic Text*** -
Underline _Underline Text_ Differs from markdown by not being strikethrough
* \* Special characters can be escaped by prefixing them with a \

Fountain example:

Title:
    Title 1
    Title 2
Credit: Written by
Author: Author name
Source: Story by...
Draft date: 12/10/2014
Contact:
    Contact Info
    Address Line 1
    Address Line 2

# Act 1

= The introduction of Character

EXT. HOUSE - DAY

Some action text.

CHARACTER
(parenthetical)
Dialogue.

CUT TO:

.Scene Heading

More Blender Screenwriter utility add-ons

Add searchable markers for outlining and navigating the text: https://github.com/tin2tin/TextMarker-blender-addon

Adding markers and writing timed script into the 3D View: https://github.com/philippe-lavoie/blender-fountain-addon

Switch cameras in 3D View from Sequencer: https://github.com/tin2tin/scene_strip_tools

Switch to the scene of the Scene strip: https://github.com/tin2tin/VSESwitchToScene

Link text from TExt strip to text in 3D View: https://github.com/gabrielmontagne/blender-addon-link-text-to-vse-subtitle

Split text to node editor frames: https://github.com/gabrielmontagne/blender-addon-split-frame-from-text

Link text to node editor frames: https://github.com/gabrielmontagne/blender-addon-link-text-to-frame

About

This add-on utilizes a fountain script parser, which converts .fountain files to python object. The Fountain screenplay format is by Nima Yousefi & John August; original code for Objective-C at https://github.com/nyousefi/Fountain. It is ported to Python 3 by Colton J. Provias, improved by Manuel Senfft https://github.com/Tagirijus/fountain. The Screenplain module by Martin Vilcans is used for exports https://github.com/vilcans/screenplain.

More Repositories

1

Pallaidium

PALLAIDIUM - a generative AI movie studio integrated in the Blender Video Editor.
Python
981
star
2

Audacity_Bridge_for_Blender

From Blender VSE, roundtrip Sound Strip, Sequence or Record in Audacity. Blender Video Sequence Editor (VSE).
Python
78
star
3

Scene_Strip_Tools

Scene Strip Tools - integrate the 3D View and the Sequencer in Blender. Blender Video Sequence Editor (VSE).
Python
70
star
4

Subtitle_Editor

Subtitle Editor for the Blender VSE - auto transcribing(using Whisper), import, export, translation, list based editing and batch text style change. Blender Video Sequence Editor (VSE).
Python
64
star
5

Shot_Detection

Auto detect and split shots in the Blender Video Sequence Editor. VSE.
Python
36
star
6

Intellisense_for_Blender_Text_Editor

Intellisense for the Blender Text Editor
Python
34
star
7

Export_EDL

Export EDL files from Blender. Blender Video Sequence Editor (VSE).
Python
33
star
8

VSE_OTIO_Export

Export .otio from the Blender Video Sequence Editor(VSE) timeline to ex. Davinci Resolve.
Python
28
star
9

GPT4BLENDER

GPT4ALL implemented in the Blender Text Editor.
Python
27
star
10

Awesome_VSE_Addons

A list of my awesome Blender Video Sequence Editor add-ons.
24
star
11

2D_Cutout_People

Blender add-on for AI generating 2D Cutout People for visualizations, using FLUX and BiRefNet
Python
18
star
12

Add_Rendered_Strips

For the Blender Video Sequence Editor, Render selected strips to hard disk and add the rendered files as movie strips to the original scene in the first free channel. VSE.
Python
18
star
13

remove_background

Remove background from a VSE Movie or Image strip
Python
18
star
14

PrevizCameraTools

Previz Camera Tools for Blender
Python
17
star
15

Music_Stems_Separator

A music stems separator for the Blender Video Sequence Editor.
Python
16
star
16

Sequence_Editing

A Sequence Editing workspace for Blender with add-ons included
Python
16
star
17

Script_Editing

A script editing workspace for the Blender Text Editor
Python
16
star
18

VSE_File_Menu

Enhanced UX and features for the file import and export of the Blender Video Sequence Editor VSE
Python
14
star
19

script_update_checker

Check scripts for functions which needs to be updated to the latest Blender API using the Text Editor UI
Python
13
star
20

Python_Stylechecker_for_Blender

Pycodestyle integrated into Blender Text Editor
Python
13
star
21

import_subtitles

Add-on for importing and translating subtitles(srt,ssa,ass,mpl2, tmp; vtt, microdvd) in the Blender Video Sequence Editor uning pysubs2 module
Python
11
star
22

Search-API-Reference

Blender Text Editor: Search online API reference for current or selected word
Python
11
star
23

Text_Strip_to_Speech

Convert text strips to speech sound strips. Blender Video Sequence Editor (VSE).
Python
11
star
24

text_to_strip

Python
9
star
25

SequencerSpecialsMenu

Add a 'Specials Menu' to Blender Video Editing Sequencer. Shortcut key: 'w'.
Python
8
star
26

Import_EDL

Import EDL into Blender Video Sequencer
Python
8
star
27

Auto_Organize_Sequence

Blender add-on to clean up messy sequences. Blender Video Sequence Editor (VSE).
Python
8
star
28

Import_as_asset

Imports files as assets. Blender Video Sequence Editor (VSE).
Python
7
star
29

change_to_scene_from_scene-strip

Changes to the scene from the active scene strip.
Python
7
star
30

Auto_Range

Blender Video Sequence Editor: Adds an operator to auto set the range from the first to the last strip in the timeline when playing.
Python
6
star
31

match_frame

In the Blender Video Sequence Editor, jump to a matching frame in a different scene.
Python
5
star
32

Trim-Whitespace-Change-Case-and-Split-Join-Lines

Adds Trim Whitespace, Change Case and Split/Join Lines to the Blender Text Editor
Python
5
star
33

ContentsViewer

Blender Text Editor: Contents Viewer - List text's classes, definitions and create snippets
Python
4
star
34

multicam

Expose multicam options in the Blender VSE headers.
Python
4
star
35

MediaInfoExtractor

Extract MediaInfo data from video strips in the Blender Video Sequencer
Python
4
star
36

text_strip_list

List and edit all text strips in a list control in the Blender VSE sidebar.
Python
4
star
37

sequencer_storehouse

Blender add-on for copying all in-VSE-used files to a specific folder and update the strip paths accordingly. Blender Video Sequence Editor (VSE).
Python
4
star
38

get_mediainfo

In the Blender Video Seqeunce Editor, get Media Info for active strip and insert it into the Text Editor
Python
3
star
39

Outline_for_Text_Strips

Add outlines to selected text strips in the Blender VSE.
Python
3
star
40

Camera-Markers-to-Scene-Strips

Convert "bind camera to marker" to Sequencer scene-strips in the Blender Video Sequencer - VSE
Python
3
star
41

Sound_Strip_Surround_UI

In Blender Video Sequence Editor, expose surround channel settings in sound strips.
Python
3
star
42

auto_select_active_strip

Blender VSE: Snippet to auto select active strip and all strips below it at the playhead position.
Python
3
star
43

open_vse_docs

A small add-on to add expose the option to open the online VSE documentation made by Husch: https://vse-docs.readthedocs.io/ It is located at the bottom of the View menu.
Python
3
star
44

import_text_block_as_text_strip

Script to import a Text Editor text-block as Text Strip content
Python
3
star
45

add_ken_burns

Adds Ken Burns(zoom) keyframes to the selected strips in the Blender VSE
Python
3
star
46

Debug-Mode-for-Info-Editor

Adds Debug Mode to the Info Editor's View menu
Python
2
star
47

go_to_frame

Go to frame pop up. Blender Video Sequence Editor (VSE).
Python
2
star
48

volume_menu

Volume Menu for the Blender Video Sequence Editor. Blender Video Sequence Editor (VSE).
Python
2
star
49

Code_Navigator

A code navigator for the Blender Text Editor
Python
2
star
50

Horizontal-Find-Replace

A horizontal find & replace UI for the Blender Text Editor
Python
2
star
51

volume_meter

A volume meter for the Blender Video Sequence Editor - displayed in the Timeline header.
Python
1
star
52

move_selection

For the VSE, move selection with numpad when you have no mouse. Blender Video Sequence Editor (VSE).
Python
1
star
53

lbricks_in_cr2

Python
1
star
54

blender_fade_operator

Fade python operator for Blender swap the two files with the similar named files in Blender 2.80 and restart it.
Python
1
star
55

join_through_splits

Blender VSE add-on for joining adjacent strips. Blender Video Sequence Editor (VSE).
Python
1
star
56

Text_Editor_Reworked

A reworking of the text editor in Blender through operators in python.
Python
1
star
57

render_current_frame

Operator for rendering current frame directly to disk - exposed in the View menu - good for assigning a short-cut to.
Python
1
star
58

surround_preset_ui

A UI to expose surround preset values for the various channel options.
Python
1
star
59

drmdecrypt

DRM decrypting tool for Samsung TVs PVR
C
1
star
60

screenwriter_send_to_mural

1
star