timecode 0.1.9 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,3 +1,7 @@
1
+ === 0.2.0 / 2009-02-26
2
+
3
+ * Properly handle integers starting with 0 in Tiecode.parse (zef)
4
+
1
5
  === 0.1.9 / 2009-02-23
2
6
 
3
7
  * Do not be biased when rounding out frames on from_seconds
data/SPECS.txt CHANGED
@@ -90,6 +90,7 @@
90
90
  * raise when trying to parse DF timecode
91
91
  * raise on improper format
92
92
  * raise on empty argument
93
+ * properly handle 09 and 08 as part of complete TC pattern
93
94
 
94
95
  == Timecode.soft_parse should
95
96
  * parse the timecode
@@ -99,4 +100,4 @@
99
100
  * parse from a 4x4bits packed 32bit unsigned int
100
101
  * properly convert itself back to 4x4 bits 32bit unsigned int
101
102
 
102
- 68 specifications (112 requirements), 0 failures
103
+ 69 specifications (113 requirements), 0 failures
data/lib/timecode.rb CHANGED
@@ -12,7 +12,7 @@
12
12
  # :mapping => [%w(source_tc_frames total), %w(tape_fps fps)]
13
13
 
14
14
  class Timecode
15
- VERSION = '0.1.9'
15
+ VERSION = '0.2.0'
16
16
 
17
17
  include Comparable
18
18
 
@@ -82,7 +82,7 @@ class Timecode
82
82
  raise Error, "We do not support drop-frame TC"
83
83
  # 00:00:00:00
84
84
  elsif (input =~ COMPLETE_TC_RE)
85
- atoms_and_fps = input.scan(COMPLETE_TC_RE).to_a.flatten.map{|e| Integer(e)} + [with_fps]
85
+ atoms_and_fps = input.scan(COMPLETE_TC_RE).to_a.flatten.map{|e| e.to_i} + [with_fps]
86
86
  return at(*atoms_and_fps)
87
87
  # 00:00:00.0
88
88
  elsif input =~ FRACTIONAL_TC_RE
@@ -156,6 +156,14 @@ context "A Timecode of zero should" do
156
156
  end
157
157
  end
158
158
 
159
+ context "Timecode.from_seconds should" do
160
+ specify "properly process this specific case for a float framerate" do
161
+ float_secs = 89.99165971643036
162
+ float_fps = 23.9898
163
+ lambda{ Timecode.from_seconds(float_secs, float_fps) }.should.not.raise
164
+ end
165
+ end
166
+
159
167
  context "Timecode#to_seconds should" do
160
168
  specify "return a float" do
161
169
  Timecode.new(0).to_seconds.should.be.kind_of Float
@@ -397,6 +405,10 @@ context "Timecode.parse should" do
397
405
  specify "raise on empty argument" do
398
406
  lambda { Timecode.parse(" \n\n ", 25) }.should.raise Timecode::CannotParse
399
407
  end
408
+
409
+ specify "properly handle 09 and 08 as part of complete TC pattern" do
410
+ Timecode.parse( "09:08:09:08", 25).total.should.equal 822233
411
+ end
400
412
  end
401
413
 
402
414
  context "Timecode.soft_parse should" do
@@ -412,6 +424,7 @@ context "Timecode.soft_parse should" do
412
424
  end
413
425
  end
414
426
 
427
+
415
428
  context "Timecode with unsigned integer conversions should" do
416
429
 
417
430
  specify "parse from a 4x4bits packed 32bit unsigned int" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: timecode
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julik
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-02-23 00:00:00 +01:00
12
+ date: 2009-08-29 00:00:00 +02:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency