logline 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.
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