edl 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,3 +1,8 @@
1
+ === 0.0.5 / 2000-01-14
2
+
3
+ * EDL::Event#starts_with_transition? is an alias
4
+ * EDL::Event#incoming_transition_duration works as a shortcut for EDL::Transition#duration
5
+
1
6
  === 0.0.4 / 2000-01-14
2
7
 
3
8
  * EDL::Event#speed works as a shortcut for timewarp speed
data/SPECS.txt CHANGED
@@ -19,6 +19,16 @@
19
19
  * support capture_length as an alias to src_length
20
20
  * delegate src_length to the timewarp if it is there
21
21
  * report reverse? and reversed? based on the timewarp
22
+ * report speed as 100 percent without a timewarp
23
+ * consult the timewarp for speed
24
+ * report false for starts_with_transition? if transision is nil
25
+ * report zero for incoming_transition_duration if transision is nil
26
+ * report true for starts_with_transition? if transision is not nil
27
+ * consult the transition for incoming_transition_duration if it's present
28
+ * report capture_from_tc as the source start without a timewarp
29
+ * consult the timewarp for capture_from_tc if a timewarp is there
30
+ * report capture_to_tc as record length plus transition when no timewarp present
31
+ * consult the timewarp for capture_to_tc if timewarp is present
22
32
 
23
33
  == A Parser should
24
34
  * store the passed framerate
@@ -72,4 +82,4 @@
72
82
  == A FinalCutPro speedup and reverse with fade at the end should
73
83
  * parse cleanly
74
84
 
75
- 49 specifications, 1 empty (145 requirements), 0 failures
85
+ 59 specifications, 1 empty (161 requirements), 0 failures
data/lib/edl.rb CHANGED
@@ -6,10 +6,9 @@ require File.dirname(__FILE__) + '/edl/event'
6
6
  require File.dirname(__FILE__) + '/edl/transition'
7
7
  require File.dirname(__FILE__) + '/edl/timewarp'
8
8
 
9
- # A simplistic EDL parser. Current limitations: no support for DF timecode, no support for audio,
10
- # no support for split edits, no support for key effects, no support for audio
9
+ # A simplistic EDL parser
11
10
  module EDL
12
- VERSION = "0.0.4"
11
+ VERSION = "0.0.5"
13
12
  DEFAULT_FPS = 25
14
13
 
15
14
  # Represents an EDL, is returned from the parser. Traditional operation is functional style, i.e.
data/lib/edl/event.rb CHANGED
@@ -78,9 +78,15 @@ module EDL
78
78
 
79
79
  # Returns true if the clip starts with a transiton (not a jump cut)
80
80
  def has_transition?
81
- !transition.nil?
81
+ !!@transition
82
82
  end
83
-
83
+ alias_method :starts_with_transition?, :has_transition?
84
+
85
+ # The duration of the incoming transition, or 0 if no transition is used
86
+ def incoming_transition_duration
87
+ @transition ? @transition.duration : 0
88
+ end
89
+
84
90
  # Returns true if the clip ends with a transition (if the next clip starts with a transition)
85
91
  def ends_with_transition?
86
92
  outgoing_transition_duration > 0
@@ -128,7 +134,7 @@ module EDL
128
134
  def speed
129
135
  @timewarp ? @timewarp.speed : 100
130
136
  end
131
-
137
+
132
138
  # Returns true if this event is a generator
133
139
  def generator?
134
140
  black? || (%(AX GEN).include?(reel))
data/test/test_edl.rb CHANGED
@@ -150,6 +150,32 @@ context "An Event should" do
150
150
  e.speed.should.equal :something
151
151
  end
152
152
 
153
+ specify "report false for starts_with_transition? if transision is nil" do
154
+ e = EDL::Event.new
155
+ e.should.respond_to :starts_with_transition?
156
+ e.should.not.be.starts_with_transition
157
+ end
158
+
159
+ specify "report zero for incoming_transition_duration if transision is nil" do
160
+ e = EDL::Event.new
161
+ e.should.respond_to :incoming_transition_duration
162
+ e.incoming_transition_duration.should.zero
163
+ end
164
+
165
+ specify "report true for starts_with_transition? if transision is not nil" do
166
+ e = EDL::Event.new :transition => true
167
+ e.should.respond_to :starts_with_transition?
168
+ e.should.starts_with_transition
169
+ end
170
+
171
+ specify "consult the transition for incoming_transition_duration if it's present" do
172
+ tr = flexmock
173
+ tr.should_receive(:duration).and_return(:something)
174
+
175
+ e = EDL::Event.new(:transition => tr)
176
+ e.should.respond_to :incoming_transition_duration
177
+ e.incoming_transition_duration.should.equal :something
178
+ end
153
179
 
154
180
  specify "report capture_from_tc as the source start without a timewarp" do
155
181
  e = EDL::Event.new(:src_start_tc => "1h".tc)
@@ -319,6 +345,7 @@ context "A reverse timewarp EDL coming from Avid should" do
319
345
  end
320
346
 
321
347
  context "A Final Cut Pro originating reverse should" do
348
+
322
349
  specify "be interpreted properly" do
323
350
  e = EDL::Parser.new.parse(File.open(FCP_REVERSE)).pop
324
351
 
@@ -332,6 +359,10 @@ context "A Final Cut Pro originating reverse should" do
332
359
  e.timewarp.should.not.be nil
333
360
 
334
361
  tw = e.timewarp
362
+
363
+ tw.speed.should.equal -100.0
364
+ e.speed.should.equal -100.0
365
+
335
366
  tw.source_used_from.should.equal "1h".tc
336
367
  tw.source_used_upto.should.equal "1h 40s".tc
337
368
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: edl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julik