logline 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/README ADDED
File without changes
@@ -0,0 +1,13 @@
1
+ require 'rake'
2
+
3
+ require 'spec/rake/spectask'
4
+
5
+
6
+
7
+ desc "Run all examples"
8
+ Spec::Rake::SpecTask.new('spec') do |t|
9
+
10
+ t.spec_files = FileList['spec/**/*_spec.rb']
11
+
12
+ end
13
+
@@ -0,0 +1,75 @@
1
+ require 'nokogiri'
2
+ module Logline
3
+
4
+ class Script
5
+ attr_reader :doc
6
+ attr_reader :paragraphs
7
+
8
+ def self.from_fdx(path)
9
+ new File.read(path)
10
+ end
11
+
12
+ def to_scrippet
13
+ paragraphs.collect {|paragraph| paragraph.to_scrippet }.join("\n")
14
+ end
15
+
16
+ class Paragraph
17
+ attr_accessor :content
18
+
19
+ def initialize(c)
20
+ @content = c
21
+ end
22
+
23
+ def to_s
24
+ content
25
+ end
26
+
27
+ def to_scrippet
28
+ content
29
+ end
30
+
31
+ end
32
+
33
+ class Heading < Paragraph
34
+ def to_scrippet
35
+ "#{content.upcase}\n"
36
+ end
37
+ end
38
+
39
+ class Action < Paragraph
40
+ def to_scrippet
41
+ "#{content}\n"
42
+ end
43
+ end
44
+
45
+ class CharacterName < Paragraph
46
+ def to_scrippet
47
+ content.upcase
48
+ end
49
+ end
50
+
51
+ class Dialogue < Paragraph
52
+ def to_scrippet
53
+ "#{content}\n"
54
+ end
55
+ end
56
+ class Transition < Paragraph
57
+ def to_scrippet
58
+ "#{content}\n"
59
+ end
60
+ end
61
+ class Unknown < Paragraph ; end
62
+
63
+ @@klass_map = {'Scene Heading' => Heading, 'Action' => Action, 'Character' => CharacterName, 'Dialogue' => Dialogue, 'Transition' => Transition}
64
+
65
+ def initialize(data)
66
+ @doc = Nokogiri::XML(data)
67
+ @paragraphs = doc.xpath('/FinalDraft/Content/Paragraph').collect do |paragraph|
68
+ text = paragraph.css('Text').collect {|t| t.inner_text }.join('')
69
+ (@@klass_map[paragraph.attributes['Type'].to_s] || Unknown).new(text)
70
+ end
71
+ end
72
+
73
+ end
74
+
75
+ end
@@ -0,0 +1,3 @@
1
+ module Logline
2
+ VERSION = '0.0.1'
3
+ end
@@ -0,0 +1,43 @@
1
+
2
+ # -*- encoding: utf-8 -*-
3
+ $:.push('lib')
4
+ require "logline/version"
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "logline"
8
+ s.version = Logline::VERSION.dup
9
+ s.date = "2012-12-27"
10
+ s.summary = "A Ruby library for reading the Final Draft FDX file format"
11
+ s.email = "winkelspecht@gmail.com"
12
+ s.homepage = "http://github.com/wink/logline"
13
+ s.authors = ['Ben Sandofsky']
14
+
15
+ s.description = <<-EOF
16
+ A Ruby library for reading the Final Draft FDX file format
17
+ EOF
18
+
19
+ dependencies = [
20
+ # Examples:
21
+ [:runtime, "nokogiri"],
22
+ [:development, "rspec"],
23
+ ]
24
+
25
+ s.files = Dir['**/*']
26
+ s.test_files = Dir['test/**/*'] + Dir['spec/**/*']
27
+ s.executables = Dir['bin/*'].map { |f| File.basename(f) }
28
+ s.require_paths = ["lib"]
29
+
30
+
31
+ ## Make sure you can build the gem on older versions of RubyGems too:
32
+ s.rubygems_version = "1.8.24"
33
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
34
+ s.specification_version = 3 if s.respond_to? :specification_version
35
+
36
+ dependencies.each do |type, name, version|
37
+ if s.respond_to?("add_#{type}_dependency")
38
+ s.send("add_#{type}_dependency", name, version)
39
+ else
40
+ s.add_dependency(name, version)
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,664 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
2
+ <FinalDraft DocumentType="Script" Template="No" Version="1">
3
+
4
+ <Content>
5
+ <Paragraph Type="Scene Heading">
6
+ <SceneProperties Length="2/8" Page="1" Title=""/>
7
+ <Text>Int. Bedroom - night</Text>
8
+ </Paragraph>
9
+ <Paragraph Type="Action">
10
+ <Text>A computer nerd in his late </Text>
11
+ <Text AdornmentStyle="-1" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style="">20’s</Text>
12
+ <Text>, BENJAMIN </Text>
13
+ <Text AdornmentStyle="-1" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style="">SANDOFSKY</Text>
14
+ <Text>, hacks away at a ruby library for parsing Final Draft </Text>
15
+ <Text AdornmentStyle="-1" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style="">FDX</Text>
16
+ <Text> files.</Text>
17
+ </Paragraph>
18
+ <Paragraph Type="Character">
19
+ <Text>Ben</Text>
20
+ </Paragraph>
21
+ <Paragraph Type="Dialogue">
22
+ <Text>Eureka!</Text>
23
+ </Paragraph>
24
+ <Paragraph Type="Action">
25
+ <Text>He pounds return and we</Text>
26
+ </Paragraph>
27
+ <Paragraph Type="Transition">
28
+ <Text>CUT TO:</Text>
29
+ </Paragraph>
30
+ <Paragraph Type="Scene Heading">
31
+ <SceneProperties Length="2/8" Page="1" Title=""/>
32
+ <Text>EXT. House</Text>
33
+ </Paragraph>
34
+ <Paragraph Type="Action">
35
+ <Text>The roof collapses in. The hacker emerges from the ruble, coughs.</Text>
36
+ </Paragraph>
37
+ <Paragraph Type="Character">
38
+ <Text>BeN</Text>
39
+ </Paragraph>
40
+ <Paragraph Type="Dialogue">
41
+ <Text>Back to the drawing board.</Text>
42
+ </Paragraph>
43
+ </Content>
44
+
45
+ <HeaderAndFooter FooterFirstPage="Yes" FooterVisible="No" HeaderFirstPage="No" HeaderVisible="Yes" StartingPage="1">
46
+ <Header>
47
+ <Paragraph Alignment="Left" FirstIndent="0.00" Leading="Regular" LeftIndent="1.25" RightIndent="-1.00" SpaceBefore="0" Spacing="1" StartsNewPage="No">
48
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""> </Text>
49
+ <DynamicLabel Type="Last Revised"/>
50
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""> </Text>
51
+ <DynamicLabel Type="Page #"/>
52
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style="">.</Text>
53
+ <Tabstops>
54
+ <Tabstop Position="4.50" Type="Center"/>
55
+ <Tabstop Position="7.25" Type="Right"/>
56
+ </Tabstops>
57
+ </Paragraph>
58
+ </Header>
59
+ <Footer>
60
+ <Paragraph Alignment="Right" FirstIndent="0.00" Leading="Regular" LeftIndent="1.25" RightIndent="-1.25" SpaceBefore="0" Spacing="1" StartsNewPage="No">
61
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""> </Text>
62
+ </Paragraph>
63
+ </Footer>
64
+ </HeaderAndFooter>
65
+
66
+ <SpellCheckIgnoreLists>
67
+ <IgnoredRanges/>
68
+ <IgnoredWords/>
69
+ </SpellCheckIgnoreLists>
70
+
71
+ <PageLayout BackgroundColor="#FFFFFFFFFFFF" BottomMargin="72" BreakDialogueAndActionAtSentences="Yes" DocumentLeading="Normal" FooterMargin="36" ForegroundColor="#000000000000" HeaderMargin="36" InvisiblesColor="#808080808080" TopMargin="72" UsesSmartQuotes="Yes">
72
+ <AutoCastList AddParentheses="Yes" AutomaticallyGenerate="No" CastListElement="Cast List"/>
73
+ </PageLayout>
74
+
75
+ <WindowState Height="932" Left="15" Mode="Normal" Top="116" Width="636"/>
76
+
77
+ <TextState Scaling="100" Selection="290,290" ShowInvisibles="No"/>
78
+
79
+ <ElementSettings Type="General">
80
+ <FontSpec AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""/>
81
+ <ParagraphSpec Alignment="Left" FirstIndent="0.00" Leading="Regular" LeftIndent="1.50" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No"/>
82
+ <Behavior PaginateAs="General" ReturnKey="General" Shortcut="0"/>
83
+ </ElementSettings>
84
+
85
+ <ElementSettings Type="Scene Heading">
86
+ <FontSpec AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style="AllCaps"/>
87
+ <ParagraphSpec Alignment="Left" FirstIndent="0.00" Leading="Regular" LeftIndent="1.50" RightIndent="7.50" SpaceBefore="24" Spacing="1" StartsNewPage="No"/>
88
+ <Behavior PaginateAs="Scene Heading" ReturnKey="Action" Shortcut="1"/>
89
+ </ElementSettings>
90
+
91
+ <ElementSettings Type="Action">
92
+ <FontSpec AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""/>
93
+ <ParagraphSpec Alignment="Left" FirstIndent="0.00" Leading="Regular" LeftIndent="1.50" RightIndent="7.50" SpaceBefore="12" Spacing="1" StartsNewPage="No"/>
94
+ <Behavior PaginateAs="Action" ReturnKey="Action" Shortcut="2"/>
95
+ </ElementSettings>
96
+
97
+ <ElementSettings Type="Character">
98
+ <FontSpec AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style="AllCaps"/>
99
+ <ParagraphSpec Alignment="Left" FirstIndent="0.00" Leading="Regular" LeftIndent="3.50" RightIndent="7.25" SpaceBefore="12" Spacing="1" StartsNewPage="No"/>
100
+ <Behavior PaginateAs="Character" ReturnKey="Dialogue" Shortcut="3"/>
101
+ </ElementSettings>
102
+
103
+ <ElementSettings Type="Parenthetical">
104
+ <FontSpec AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""/>
105
+ <ParagraphSpec Alignment="Left" FirstIndent="-0.10" Leading="Regular" LeftIndent="3.00" RightIndent="5.50" SpaceBefore="0" Spacing="1" StartsNewPage="No"/>
106
+ <Behavior PaginateAs="Parenthetical" ReturnKey="Dialogue" Shortcut="4"/>
107
+ </ElementSettings>
108
+
109
+ <ElementSettings Type="Dialogue">
110
+ <FontSpec AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""/>
111
+ <ParagraphSpec Alignment="Left" FirstIndent="0.00" Leading="Regular" LeftIndent="2.50" RightIndent="6.00" SpaceBefore="0" Spacing="1" StartsNewPage="No"/>
112
+ <Behavior PaginateAs="Dialogue" ReturnKey="Action" Shortcut="5"/>
113
+ </ElementSettings>
114
+
115
+ <ElementSettings Type="Transition">
116
+ <FontSpec AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style="AllCaps"/>
117
+ <ParagraphSpec Alignment="Right" FirstIndent="0.00" Leading="Regular" LeftIndent="5.50" RightIndent="7.10" SpaceBefore="12" Spacing="1" StartsNewPage="No"/>
118
+ <Behavior PaginateAs="Transition" ReturnKey="Scene Heading" Shortcut="6"/>
119
+ </ElementSettings>
120
+
121
+ <ElementSettings Type="Shot">
122
+ <FontSpec AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style="AllCaps"/>
123
+ <ParagraphSpec Alignment="Left" FirstIndent="0.00" Leading="Regular" LeftIndent="1.50" RightIndent="7.50" SpaceBefore="24" Spacing="1" StartsNewPage="No"/>
124
+ <Behavior PaginateAs="Scene Heading" ReturnKey="Action" Shortcut="7"/>
125
+ </ElementSettings>
126
+
127
+ <TitlePage>
128
+ <HeaderAndFooter FooterFirstPage="Yes" FooterVisible="No" HeaderFirstPage="No" HeaderVisible="Yes" StartingPage="1">
129
+ <Header>
130
+ <Paragraph Alignment="Right" FirstIndent="0.00" Leading="Regular" LeftIndent="1.25" RightIndent="-1.25" SpaceBefore="0" Spacing="1" StartsNewPage="No">
131
+ <DynamicLabel Type="Page #"/>
132
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style="">.</Text>
133
+ </Paragraph>
134
+ </Header>
135
+ <Footer>
136
+ <Paragraph Alignment="Right" FirstIndent="0.00" Leading="Regular" LeftIndent="1.25" RightIndent="-1.25" SpaceBefore="0" Spacing="1" StartsNewPage="No">
137
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
138
+ </Paragraph>
139
+ </Footer>
140
+ </HeaderAndFooter>
141
+ <Content>
142
+ <Paragraph Alignment="Left" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
143
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
144
+ </Paragraph>
145
+ <Paragraph Alignment="Left" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
146
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
147
+ </Paragraph>
148
+ <Paragraph Alignment="Left" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
149
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
150
+ </Paragraph>
151
+ <Paragraph Alignment="Left" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
152
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
153
+ </Paragraph>
154
+ <Paragraph Alignment="Left" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
155
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
156
+ </Paragraph>
157
+ <Paragraph Alignment="Left" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
158
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
159
+ </Paragraph>
160
+ <Paragraph Alignment="Left" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
161
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
162
+ </Paragraph>
163
+ <Paragraph Alignment="Left" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
164
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
165
+ </Paragraph>
166
+ <Paragraph Alignment="Left" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
167
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
168
+ </Paragraph>
169
+ <Paragraph Alignment="Left" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
170
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
171
+ </Paragraph>
172
+ <Paragraph Alignment="Left" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
173
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
174
+ </Paragraph>
175
+ <Paragraph Alignment="Left" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
176
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
177
+ </Paragraph>
178
+ <Paragraph Alignment="Left" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
179
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
180
+ </Paragraph>
181
+ <Paragraph Alignment="Left" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
182
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
183
+ </Paragraph>
184
+ <Paragraph Alignment="Left" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
185
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
186
+ </Paragraph>
187
+ <Paragraph Alignment="Left" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
188
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
189
+ </Paragraph>
190
+ <Paragraph Alignment="Left" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
191
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
192
+ </Paragraph>
193
+ <Paragraph Alignment="Center" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
194
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style="Underline+AllCaps">Script Title</Text>
195
+ </Paragraph>
196
+ <Paragraph Alignment="Center" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
197
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
198
+ </Paragraph>
199
+ <Paragraph Alignment="Center" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
200
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
201
+ </Paragraph>
202
+ <Paragraph Alignment="Center" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
203
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
204
+ </Paragraph>
205
+ <Paragraph Alignment="Center" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
206
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style="">Written by</Text>
207
+ </Paragraph>
208
+ <Paragraph Alignment="Center" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
209
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
210
+ </Paragraph>
211
+ <Paragraph Alignment="Center" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
212
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
213
+ </Paragraph>
214
+ <Paragraph Alignment="Center" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
215
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style="">Name of First Writer</Text>
216
+ </Paragraph>
217
+ <Paragraph Alignment="Center" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
218
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
219
+ </Paragraph>
220
+ <Paragraph Alignment="Center" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
221
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
222
+ </Paragraph>
223
+ <Paragraph Alignment="Center" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
224
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
225
+ </Paragraph>
226
+ <Paragraph Alignment="Center" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
227
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
228
+ </Paragraph>
229
+ <Paragraph Alignment="Center" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
230
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style="">Based on, If Any</Text>
231
+ </Paragraph>
232
+ <Paragraph Alignment="Center" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
233
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
234
+ </Paragraph>
235
+ <Paragraph Alignment="Center" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
236
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
237
+ </Paragraph>
238
+ <Paragraph Alignment="Center" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
239
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
240
+ </Paragraph>
241
+ <Paragraph Alignment="Center" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
242
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
243
+ </Paragraph>
244
+ <Paragraph Alignment="Center" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
245
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
246
+ </Paragraph>
247
+ <Paragraph Alignment="Center" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
248
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
249
+ </Paragraph>
250
+ <Paragraph Alignment="Center" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
251
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
252
+ </Paragraph>
253
+ <Paragraph Alignment="Center" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
254
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
255
+ </Paragraph>
256
+ <Paragraph Alignment="Center" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
257
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
258
+ </Paragraph>
259
+ <Paragraph Alignment="Center" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
260
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
261
+ </Paragraph>
262
+ <Paragraph Alignment="Center" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
263
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
264
+ </Paragraph>
265
+ <Paragraph Alignment="Center" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
266
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
267
+ </Paragraph>
268
+ <Paragraph Alignment="Left" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
269
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
270
+ </Paragraph>
271
+ <Paragraph Alignment="Left" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
272
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
273
+ </Paragraph>
274
+ <Paragraph Alignment="Full" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
275
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
276
+ </Paragraph>
277
+ <Paragraph Alignment="Full" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
278
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
279
+ </Paragraph>
280
+ <Paragraph Alignment="Full" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
281
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
282
+ </Paragraph>
283
+ <Paragraph Alignment="Full" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
284
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
285
+ </Paragraph>
286
+ <Paragraph Alignment="Full" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
287
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
288
+ </Paragraph>
289
+ <Paragraph Alignment="Full" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
290
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
291
+ </Paragraph>
292
+ <Paragraph Alignment="Full" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
293
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
294
+ </Paragraph>
295
+ <Paragraph Alignment="Full" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
296
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""></Text>
297
+ </Paragraph>
298
+ <Paragraph Alignment="Full" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
299
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style="">Address</Text>
300
+ </Paragraph>
301
+ <Paragraph Alignment="Full" FirstIndent="0.00" Leading="Regular" LeftIndent="1.00" RightIndent="7.50" SpaceBefore="0" Spacing="1" StartsNewPage="No">
302
+ <Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style="">Phone Number</Text>
303
+ </Paragraph>
304
+ </Content>
305
+ <TextState Scaling="100" Selection="0,0" ShowInvisibles="No"/>
306
+ </TitlePage>
307
+
308
+ <ScriptNoteDefinitions Active="1">
309
+ <ScriptNoteDefinition Color="#000000000000" ID="1" Marker="!" Name="Important"/>
310
+ <ScriptNoteDefinition Color="#000000000000" ID="2" Marker="?" Name="Information"/>
311
+ <ScriptNoteDefinition Color="#000000000000" ID="3" Marker="*" Name="Suggestion"/>
312
+ </ScriptNoteDefinitions>
313
+
314
+ <SmartType>
315
+ <Characters>
316
+ <Character>Ben</Character>
317
+ <Character>Sandofsky</Character>
318
+ </Characters>
319
+ <Extensions>
320
+ <Extension>(V.O.)</Extension>
321
+ <Extension>(O.S.)</Extension>
322
+ <Extension>(O.C.)</Extension>
323
+ <Extension>(CONT'D)</Extension>
324
+ <Extension>(SUBTITLE)</Extension>
325
+ </Extensions>
326
+ <SceneIntros Separator=". ">
327
+ <SceneIntro>INT</SceneIntro>
328
+ <SceneIntro>EXT</SceneIntro>
329
+ <SceneIntro>I/E</SceneIntro>
330
+ </SceneIntros>
331
+ <Locations>
332
+ <Location>BEDROOM</Location>
333
+ <Location>HOUSE</Location>
334
+ </Locations>
335
+ <TimesOfDay Separator=" - ">
336
+ <TimeOfDay>DAY</TimeOfDay>
337
+ <TimeOfDay>NIGHT</TimeOfDay>
338
+ <TimeOfDay>AFTERNOON</TimeOfDay>
339
+ <TimeOfDay>MORNING</TimeOfDay>
340
+ <TimeOfDay>EVENING</TimeOfDay>
341
+ <TimeOfDay>LATER</TimeOfDay>
342
+ <TimeOfDay>MOMENTS LATER</TimeOfDay>
343
+ <TimeOfDay>CONTINUOUS</TimeOfDay>
344
+ <TimeOfDay>THE NEXT DAY</TimeOfDay>
345
+ </TimesOfDay>
346
+ <Transitions>
347
+ <Transition>CUT TO:</Transition>
348
+ <Transition>FADE IN:</Transition>
349
+ <Transition>FADE OUT.</Transition>
350
+ <Transition>FADE TO:</Transition>
351
+ <Transition>DISSOLVE TO:</Transition>
352
+ <Transition>BACK TO:</Transition>
353
+ <Transition>MATCH CUT TO:</Transition>
354
+ <Transition>JUMP CUT TO:</Transition>
355
+ <Transition>FADE TO BLACK.</Transition>
356
+ </Transitions>
357
+ </SmartType>
358
+
359
+ <MoresAndContinueds>
360
+ <FontSpec AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""/>
361
+ <DialogueBreaks AutomaticCharacterContinueds="Yes" BottomOfPage="Yes" DialogueBottom="(MORE)" DialogueTop="(CONT'D)" TopOfNext="Yes"/>
362
+ <SceneBreaks ContinuedNumber="No" SceneBottom="(CONTINUED)" SceneBottomOfPage="No" SceneTop="CONTINUED:" SceneTopOfNext="No"/>
363
+ </MoresAndContinueds>
364
+
365
+ <LockedPages/>
366
+
367
+ <Revisions ActiveSet="1" Location="7.75" RevisionMode="No" ShowAllMarks="No" ShowAllSets="No">
368
+ <Revision Color="#00000000FFFF" ID="1" Mark="*" Name="Blue (mm/dd/yyyy)" Style=""/>
369
+ <Revision Color="#00000000FFFF" ID="2" Mark="*" Name="Pink (mm/dd/yyyy)" Style=""/>
370
+ <Revision Color="#00000000FFFF" ID="3" Mark="*" Name="Yellow (mm/dd/yyyy)" Style=""/>
371
+ <Revision Color="#00000000FFFF" ID="4" Mark="*" Name="Green (mm/dd/yyyy)" Style=""/>
372
+ <Revision Color="#00000000FFFF" ID="5" Mark="*" Name="Goldenrod (mm/dd/yyyy)" Style=""/>
373
+ <Revision Color="#00000000FFFF" ID="6" Mark="*" Name="Buff (mm/dd/yyyy)" Style=""/>
374
+ <Revision Color="#00000000FFFF" ID="7" Mark="*" Name="Salmon (mm/dd/yyyy)" Style=""/>
375
+ <Revision Color="#00000000FFFF" ID="8" Mark="*" Name="Cherry (mm/dd/yyyy)" Style=""/>
376
+ <Revision Color="#00000000FFFF" ID="9" Mark="*" Name="Tan (mm/dd/yyyy)" Style=""/>
377
+ <Revision Color="#00000000FFFF" ID="10" Mark="*" Name="2nd White (mm/dd/yyyy)" Style=""/>
378
+ <Revision Color="#00000000FFFF" ID="11" Mark="*" Name="2nd Blue (mm/dd/yyyy)" Style=""/>
379
+ <Revision Color="#00000000FFFF" ID="12" Mark="*" Name="2nd Pink (mm/dd/yyyy)" Style=""/>
380
+ <Revision Color="#00000000FFFF" ID="13" Mark="*" Name="2nd Yellow (mm/dd/yyyy)" Style=""/>
381
+ <Revision Color="#00000000FFFF" ID="14" Mark="*" Name="2nd Green (mm/dd/yyyy)" Style=""/>
382
+ <Revision Color="#00000000FFFF" ID="15" Mark="*" Name="2nd Goldenrod (mm/dd/yyyy)" Style=""/>
383
+ <Revision Color="#00000000FFFF" ID="16" Mark="*" Name="2nd Buff (mm/dd/yyyy)" Style=""/>
384
+ <Revision Color="#00000000FFFF" ID="17" Mark="*" Name="2nd Salmon (mm/dd/yyyy)" Style=""/>
385
+ <Revision Color="#00000000FFFF" ID="18" Mark="*" Name="2nd Cherry (mm/dd/yyyy)" Style=""/>
386
+ <Revision Color="#00000000FFFF" ID="19" Mark="*" Name="2nd Tan (mm/dd/yyyy)" Style=""/>
387
+ </Revisions>
388
+
389
+ <SplitState ActivePanel="1" SplitMode="None" SplitterPosition="637">
390
+ <ScriptPanel DisplayMode="Page">
391
+ <FontSpec AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Verdana" RevisionID="0" Size="9" Style=""/>
392
+ </ScriptPanel>
393
+ </SplitState>
394
+
395
+ <Macros>
396
+ <Macro Element="Scene Heading" Name="INT" Shortcut="Ctrl+Alt+1" Text="INT. " Transition="None">
397
+ <Alias Confirm="No" MatchCase="No" SmartReplace="Yes" Text="" WordOnly="No">
398
+ <ActivateIn Element="General"/>
399
+ <ActivateIn Element="Scene Heading"/>
400
+ <ActivateIn Element="Action"/>
401
+ <ActivateIn Element="Character"/>
402
+ <ActivateIn Element="Parenthetical"/>
403
+ <ActivateIn Element="Dialogue"/>
404
+ <ActivateIn Element="Transition"/>
405
+ <ActivateIn Element="Shot"/>
406
+ </Alias>
407
+ </Macro>
408
+ <Macro Element="Scene Heading" Name="EXT" Shortcut="Ctrl+Alt+2" Text="EXT. " Transition="None">
409
+ <Alias Confirm="No" MatchCase="No" SmartReplace="Yes" Text="" WordOnly="No">
410
+ <ActivateIn Element="General"/>
411
+ <ActivateIn Element="Scene Heading"/>
412
+ <ActivateIn Element="Action"/>
413
+ <ActivateIn Element="Character"/>
414
+ <ActivateIn Element="Parenthetical"/>
415
+ <ActivateIn Element="Dialogue"/>
416
+ <ActivateIn Element="Transition"/>
417
+ <ActivateIn Element="Shot"/>
418
+ </Alias>
419
+ </Macro>
420
+ <Macro Element="Scene Heading" Name="I/E" Shortcut="Ctrl+Alt+3" Text="I/E " Transition="None">
421
+ <Alias Confirm="No" MatchCase="No" SmartReplace="Yes" Text="" WordOnly="No">
422
+ <ActivateIn Element="General"/>
423
+ <ActivateIn Element="Scene Heading"/>
424
+ <ActivateIn Element="Action"/>
425
+ <ActivateIn Element="Character"/>
426
+ <ActivateIn Element="Parenthetical"/>
427
+ <ActivateIn Element="Dialogue"/>
428
+ <ActivateIn Element="Transition"/>
429
+ <ActivateIn Element="Shot"/>
430
+ </Alias>
431
+ </Macro>
432
+ <Macro Element="Scene Heading" Name="DAY" Shortcut="Ctrl+Alt+4" Text=" - DAY" Transition="Action">
433
+ <Alias Confirm="No" MatchCase="No" SmartReplace="Yes" Text="" WordOnly="No">
434
+ <ActivateIn Element="General"/>
435
+ <ActivateIn Element="Scene Heading"/>
436
+ <ActivateIn Element="Action"/>
437
+ <ActivateIn Element="Character"/>
438
+ <ActivateIn Element="Parenthetical"/>
439
+ <ActivateIn Element="Dialogue"/>
440
+ <ActivateIn Element="Transition"/>
441
+ <ActivateIn Element="Shot"/>
442
+ </Alias>
443
+ </Macro>
444
+ <Macro Element="Scene Heading" Name="NIGHT" Shortcut="Ctrl+Alt+5" Text=" - NIGHT" Transition="Action">
445
+ <Alias Confirm="No" MatchCase="No" SmartReplace="Yes" Text="" WordOnly="No">
446
+ <ActivateIn Element="General"/>
447
+ <ActivateIn Element="Scene Heading"/>
448
+ <ActivateIn Element="Action"/>
449
+ <ActivateIn Element="Character"/>
450
+ <ActivateIn Element="Parenthetical"/>
451
+ <ActivateIn Element="Dialogue"/>
452
+ <ActivateIn Element="Transition"/>
453
+ <ActivateIn Element="Shot"/>
454
+ </Alias>
455
+ </Macro>
456
+ <Macro Element="Scene Heading" Name="SUNRISE" Shortcut="Ctrl+Alt+6" Text=" - SUNRISE" Transition="Action">
457
+ <Alias Confirm="No" MatchCase="No" SmartReplace="Yes" Text="" WordOnly="No">
458
+ <ActivateIn Element="General"/>
459
+ <ActivateIn Element="Scene Heading"/>
460
+ <ActivateIn Element="Action"/>
461
+ <ActivateIn Element="Character"/>
462
+ <ActivateIn Element="Parenthetical"/>
463
+ <ActivateIn Element="Dialogue"/>
464
+ <ActivateIn Element="Transition"/>
465
+ <ActivateIn Element="Shot"/>
466
+ </Alias>
467
+ </Macro>
468
+ <Macro Element="Scene Heading" Name="MAGIC" Shortcut="Ctrl+Alt+7" Text=" - MAGIC" Transition="Action">
469
+ <Alias Confirm="No" MatchCase="No" SmartReplace="Yes" Text="" WordOnly="No">
470
+ <ActivateIn Element="General"/>
471
+ <ActivateIn Element="Scene Heading"/>
472
+ <ActivateIn Element="Action"/>
473
+ <ActivateIn Element="Character"/>
474
+ <ActivateIn Element="Parenthetical"/>
475
+ <ActivateIn Element="Dialogue"/>
476
+ <ActivateIn Element="Transition"/>
477
+ <ActivateIn Element="Shot"/>
478
+ </Alias>
479
+ </Macro>
480
+ <Macro Element="Parenthetical" Name="CONT" Shortcut="Ctrl+Alt+8" Text="continuing" Transition="Dialogue">
481
+ <Alias Confirm="No" MatchCase="No" SmartReplace="Yes" Text="" WordOnly="No">
482
+ <ActivateIn Element="General"/>
483
+ <ActivateIn Element="Scene Heading"/>
484
+ <ActivateIn Element="Action"/>
485
+ <ActivateIn Element="Character"/>
486
+ <ActivateIn Element="Parenthetical"/>
487
+ <ActivateIn Element="Dialogue"/>
488
+ <ActivateIn Element="Transition"/>
489
+ <ActivateIn Element="Shot"/>
490
+ </Alias>
491
+ </Macro>
492
+ <Macro Element="Parenthetical" Name="INTER" Shortcut="Ctrl+Alt+9" Text="interrupting" Transition="Dialogue">
493
+ <Alias Confirm="No" MatchCase="No" SmartReplace="Yes" Text="" WordOnly="No">
494
+ <ActivateIn Element="General"/>
495
+ <ActivateIn Element="Scene Heading"/>
496
+ <ActivateIn Element="Action"/>
497
+ <ActivateIn Element="Character"/>
498
+ <ActivateIn Element="Parenthetical"/>
499
+ <ActivateIn Element="Dialogue"/>
500
+ <ActivateIn Element="Transition"/>
501
+ <ActivateIn Element="Shot"/>
502
+ </Alias>
503
+ </Macro>
504
+ <Macro Element="None" Name="" Shortcut="Ctrl+Alt+0" Text="" Transition="None">
505
+ <Alias Confirm="No" MatchCase="No" SmartReplace="Yes" Text="" WordOnly="No">
506
+ <ActivateIn Element="General"/>
507
+ <ActivateIn Element="Scene Heading"/>
508
+ <ActivateIn Element="Action"/>
509
+ <ActivateIn Element="Character"/>
510
+ <ActivateIn Element="Parenthetical"/>
511
+ <ActivateIn Element="Dialogue"/>
512
+ <ActivateIn Element="Transition"/>
513
+ <ActivateIn Element="Shot"/>
514
+ </Alias>
515
+ </Macro>
516
+ <Macro Element="Transition" Name="CUTTO" Shortcut="Ctrl+Shift+Alt+1" Text="CUT TO:" Transition="Scene Heading">
517
+ <Alias Confirm="No" MatchCase="No" SmartReplace="Yes" Text="" WordOnly="No">
518
+ <ActivateIn Element="General"/>
519
+ <ActivateIn Element="Scene Heading"/>
520
+ <ActivateIn Element="Action"/>
521
+ <ActivateIn Element="Character"/>
522
+ <ActivateIn Element="Parenthetical"/>
523
+ <ActivateIn Element="Dialogue"/>
524
+ <ActivateIn Element="Transition"/>
525
+ <ActivateIn Element="Shot"/>
526
+ </Alias>
527
+ </Macro>
528
+ <Macro Element="Action" Name="FADEIN" Shortcut="Ctrl+Shift+Alt+2" Text="FADE IN:" Transition="Scene Heading">
529
+ <Alias Confirm="No" MatchCase="No" SmartReplace="Yes" Text="" WordOnly="No">
530
+ <ActivateIn Element="General"/>
531
+ <ActivateIn Element="Scene Heading"/>
532
+ <ActivateIn Element="Action"/>
533
+ <ActivateIn Element="Character"/>
534
+ <ActivateIn Element="Parenthetical"/>
535
+ <ActivateIn Element="Dialogue"/>
536
+ <ActivateIn Element="Transition"/>
537
+ <ActivateIn Element="Shot"/>
538
+ </Alias>
539
+ </Macro>
540
+ <Macro Element="Transition" Name="FADEOUT" Shortcut="Ctrl+Shift+Alt+3" Text="FADE OUT." Transition="Scene Heading">
541
+ <Alias Confirm="No" MatchCase="No" SmartReplace="Yes" Text="" WordOnly="No">
542
+ <ActivateIn Element="General"/>
543
+ <ActivateIn Element="Scene Heading"/>
544
+ <ActivateIn Element="Action"/>
545
+ <ActivateIn Element="Character"/>
546
+ <ActivateIn Element="Parenthetical"/>
547
+ <ActivateIn Element="Dialogue"/>
548
+ <ActivateIn Element="Transition"/>
549
+ <ActivateIn Element="Shot"/>
550
+ </Alias>
551
+ </Macro>
552
+ <Macro Element="Transition" Name="FADETO" Shortcut="Ctrl+Shift+Alt+4" Text="FADE TO:" Transition="Scene Heading">
553
+ <Alias Confirm="No" MatchCase="No" SmartReplace="Yes" Text="" WordOnly="No">
554
+ <ActivateIn Element="General"/>
555
+ <ActivateIn Element="Scene Heading"/>
556
+ <ActivateIn Element="Action"/>
557
+ <ActivateIn Element="Character"/>
558
+ <ActivateIn Element="Parenthetical"/>
559
+ <ActivateIn Element="Dialogue"/>
560
+ <ActivateIn Element="Transition"/>
561
+ <ActivateIn Element="Shot"/>
562
+ </Alias>
563
+ </Macro>
564
+ <Macro Element="Transition" Name="DISSLV" Shortcut="Ctrl+Shift+Alt+5" Text="DISSOLVE TO:" Transition="Scene Heading">
565
+ <Alias Confirm="No" MatchCase="No" SmartReplace="Yes" Text="" WordOnly="No">
566
+ <ActivateIn Element="General"/>
567
+ <ActivateIn Element="Scene Heading"/>
568
+ <ActivateIn Element="Action"/>
569
+ <ActivateIn Element="Character"/>
570
+ <ActivateIn Element="Parenthetical"/>
571
+ <ActivateIn Element="Dialogue"/>
572
+ <ActivateIn Element="Transition"/>
573
+ <ActivateIn Element="Shot"/>
574
+ </Alias>
575
+ </Macro>
576
+ <Macro Element="Transition" Name="BACKTO" Shortcut="Ctrl+Shift+Alt+6" Text="BACK TO:" Transition="Scene Heading">
577
+ <Alias Confirm="No" MatchCase="No" SmartReplace="Yes" Text="" WordOnly="No">
578
+ <ActivateIn Element="General"/>
579
+ <ActivateIn Element="Scene Heading"/>
580
+ <ActivateIn Element="Action"/>
581
+ <ActivateIn Element="Character"/>
582
+ <ActivateIn Element="Parenthetical"/>
583
+ <ActivateIn Element="Dialogue"/>
584
+ <ActivateIn Element="Transition"/>
585
+ <ActivateIn Element="Shot"/>
586
+ </Alias>
587
+ </Macro>
588
+ <Macro Element="Transition" Name="MATCHCUT" Shortcut="Ctrl+Shift+Alt+7" Text="MATCH CUT TO:" Transition="Scene Heading">
589
+ <Alias Confirm="No" MatchCase="No" SmartReplace="Yes" Text="" WordOnly="No">
590
+ <ActivateIn Element="General"/>
591
+ <ActivateIn Element="Scene Heading"/>
592
+ <ActivateIn Element="Action"/>
593
+ <ActivateIn Element="Character"/>
594
+ <ActivateIn Element="Parenthetical"/>
595
+ <ActivateIn Element="Dialogue"/>
596
+ <ActivateIn Element="Transition"/>
597
+ <ActivateIn Element="Shot"/>
598
+ </Alias>
599
+ </Macro>
600
+ <Macro Element="Transition" Name="JUMPCUT" Shortcut="Ctrl+Shift+Alt+8" Text="JUMP CUT TO:" Transition="Scene Heading">
601
+ <Alias Confirm="No" MatchCase="No" SmartReplace="Yes" Text="" WordOnly="No">
602
+ <ActivateIn Element="General"/>
603
+ <ActivateIn Element="Scene Heading"/>
604
+ <ActivateIn Element="Action"/>
605
+ <ActivateIn Element="Character"/>
606
+ <ActivateIn Element="Parenthetical"/>
607
+ <ActivateIn Element="Dialogue"/>
608
+ <ActivateIn Element="Transition"/>
609
+ <ActivateIn Element="Shot"/>
610
+ </Alias>
611
+ </Macro>
612
+ <Macro Element="Transition" Name="FBLACK" Shortcut="Ctrl+Shift+Alt+9" Text="FADE TO BLACK." Transition="None">
613
+ <Alias Confirm="No" MatchCase="No" SmartReplace="Yes" Text="" WordOnly="No">
614
+ <ActivateIn Element="General"/>
615
+ <ActivateIn Element="Scene Heading"/>
616
+ <ActivateIn Element="Action"/>
617
+ <ActivateIn Element="Character"/>
618
+ <ActivateIn Element="Parenthetical"/>
619
+ <ActivateIn Element="Dialogue"/>
620
+ <ActivateIn Element="Transition"/>
621
+ <ActivateIn Element="Shot"/>
622
+ </Alias>
623
+ </Macro>
624
+ <Macro Element="None" Name="" Shortcut="E" Text="" Transition="None">
625
+ <Alias Confirm="No" MatchCase="No" SmartReplace="Yes" Text="" WordOnly="No">
626
+ <ActivateIn Element="General"/>
627
+ <ActivateIn Element="Scene Heading"/>
628
+ <ActivateIn Element="Action"/>
629
+ <ActivateIn Element="Character"/>
630
+ <ActivateIn Element="Parenthetical"/>
631
+ <ActivateIn Element="Dialogue"/>
632
+ <ActivateIn Element="Transition"/>
633
+ <ActivateIn Element="Shot"/>
634
+ </Alias>
635
+ </Macro>
636
+ </Macros>
637
+
638
+ <Actors>
639
+ <Actor MacVoice="" Name="Man 1" Pitch="Normal" Speed="Medium" WinVoice=""/>
640
+ <Actor MacVoice="" Name="Man 2" Pitch="Normal" Speed="Medium" WinVoice=""/>
641
+ <Actor MacVoice="" Name="Woman 1" Pitch="Normal" Speed="Medium" WinVoice=""/>
642
+ <Actor MacVoice="" Name="Woman 2" Pitch="Normal" Speed="Medium" WinVoice=""/>
643
+ <Actor MacVoice="" Name="Boy 1" Pitch="Normal" Speed="Medium" WinVoice=""/>
644
+ <Actor MacVoice="" Name="Boy 2" Pitch="Normal" Speed="Medium" WinVoice=""/>
645
+ <Actor MacVoice="" Name="Girl 1" Pitch="Normal" Speed="Medium" WinVoice=""/>
646
+ <Actor MacVoice="" Name="Girl 2" Pitch="Normal" Speed="Medium" WinVoice=""/>
647
+ <Actor MacVoice="" Name="Old Man" Pitch="Normal" Speed="Medium" WinVoice=""/>
648
+ <Actor MacVoice="" Name="Old Woman" Pitch="Normal" Speed="Medium" WinVoice=""/>
649
+ </Actors>
650
+
651
+ <Cast>
652
+ <Narrator Actor="Man 1">
653
+ <Element Type="Character"/>
654
+ <Element Type="Dialogue"/>
655
+ </Narrator>
656
+ <Member Actor="" Character="Ben"/>
657
+ <Member Actor="" Character="Sandofsky"/>
658
+ </Cast>
659
+
660
+ <SceneNumberOptions LeftLocation="0.75" RightLocation="7.38" ShowNumbersOnLeft="Yes" ShowNumbersOnRight="Yes">
661
+ <FontSpec AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" Font="Courier Final Draft" RevisionID="0" Size="12" Style=""/>
662
+ </SceneNumberOptions>
663
+
664
+ </FinalDraft>
@@ -0,0 +1,39 @@
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
+
3
+ describe Logline do
4
+ before(:each) do
5
+ @script = Logline::Script.from_fdx(File.dirname(__FILE__) + '/fixtures/hacker.fdx')
6
+ end
7
+ it "should load an fdx file" do
8
+ @script.should be_kind_of(Logline::Script)
9
+ end
10
+
11
+ it "should recognize all paragraphs" do
12
+ @script.paragraphs.size.should == 10
13
+ @script.paragraphs[0].should be_kind_of(Logline::Script::Heading)
14
+ @script.paragraphs[1].should be_kind_of(Logline::Script::Action)
15
+ end
16
+
17
+ it "should convert it into a scrippet" do
18
+ @script.to_scrippet.should == <<-EOF
19
+ INT. BEDROOM - NIGHT
20
+
21
+ A computer nerd in his late 20’s, BENJAMIN SANDOFSKY, hacks away at a ruby library for parsing Final Draft FDX files.
22
+
23
+ BEN
24
+ Eureka!
25
+
26
+ He pounds return and we
27
+
28
+ CUT TO:
29
+
30
+ EXT. HOUSE
31
+
32
+ The roof collapses in. The hacker emerges from the ruble, coughs.
33
+
34
+ BEN
35
+ Back to the drawing board.
36
+ EOF
37
+ end
38
+
39
+ end
@@ -0,0 +1 @@
1
+ require File.dirname(__FILE__) + '/../lib/logline'
metadata ADDED
@@ -0,0 +1,89 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: logline
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Ben Sandofsky
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-12-27 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: nokogiri
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: rspec
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ description: ! 'A Ruby library for reading the Final Draft FDX file format
47
+
48
+ '
49
+ email: winkelspecht@gmail.com
50
+ executables: []
51
+ extensions: []
52
+ extra_rdoc_files: []
53
+ files:
54
+ - lib/logline/version.rb
55
+ - lib/logline.rb
56
+ - logline.gemspec
57
+ - Rakefile
58
+ - README
59
+ - spec/fixtures/hacker.fdx
60
+ - spec/logline_spec.rb
61
+ - spec/spec_helper.rb
62
+ homepage: http://github.com/wink/logline
63
+ licenses: []
64
+ post_install_message:
65
+ rdoc_options: []
66
+ require_paths:
67
+ - lib
68
+ required_ruby_version: !ruby/object:Gem::Requirement
69
+ none: false
70
+ requirements:
71
+ - - ! '>='
72
+ - !ruby/object:Gem::Version
73
+ version: '0'
74
+ required_rubygems_version: !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - ! '>='
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
80
+ requirements: []
81
+ rubyforge_project:
82
+ rubygems_version: 1.8.24
83
+ signing_key:
84
+ specification_version: 3
85
+ summary: A Ruby library for reading the Final Draft FDX file format
86
+ test_files:
87
+ - spec/fixtures/hacker.fdx
88
+ - spec/logline_spec.rb
89
+ - spec/spec_helper.rb