tracksperanto 2.8.6 → 2.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (127) hide show
  1. data/DEVELOPER_DOCS.rdoc +17 -5
  2. data/History.txt +8 -0
  3. data/README.rdoc +2 -0
  4. data/lib/export/base.rb +1 -0
  5. data/lib/export/boujou.rb +2 -1
  6. data/lib/export/equalizer3.rb +1 -0
  7. data/lib/export/equalizer4.rb +1 -0
  8. data/lib/export/flame_stabilizer.rb +1 -0
  9. data/lib/export/flame_stabilizer_cornerpin.rb +1 -0
  10. data/lib/export/match_mover.rb +2 -1
  11. data/lib/export/maya_live.rb +2 -1
  12. data/lib/export/mux.rb +1 -0
  13. data/lib/export/nuke_script.rb +2 -1
  14. data/lib/export/pfmatchit.rb +2 -1
  15. data/lib/export/pftrack.rb +2 -1
  16. data/lib/export/pftrack_5.rb +2 -1
  17. data/lib/export/ruby.rb +38 -0
  18. data/lib/export/shake_text.rb +2 -1
  19. data/lib/export/syntheyes.rb +1 -0
  20. data/lib/import/base.rb +2 -1
  21. data/lib/import/boujou.rb +2 -1
  22. data/lib/import/equalizer3.rb +2 -1
  23. data/lib/import/equalizer4.rb +2 -1
  24. data/lib/import/flame_stabilizer.rb +2 -1
  25. data/lib/import/match_mover.rb +3 -2
  26. data/lib/import/maya_live.rb +2 -1
  27. data/lib/import/nuke_grammar/utils.rb +2 -1
  28. data/lib/import/nuke_script.rb +2 -1
  29. data/lib/import/pftrack.rb +2 -1
  30. data/lib/import/shake_grammar/catcher.rb +2 -1
  31. data/lib/import/shake_grammar/lexer.rb +2 -1
  32. data/lib/import/shake_script.rb +2 -1
  33. data/lib/import/shake_text.rb +1 -0
  34. data/lib/import/syntheyes.rb +2 -1
  35. data/lib/middleware/base.rb +1 -0
  36. data/lib/middleware/crop.rb +2 -1
  37. data/lib/middleware/flip.rb +2 -1
  38. data/lib/middleware/flop.rb +2 -1
  39. data/lib/middleware/golden.rb +2 -1
  40. data/lib/middleware/length_cutoff.rb +2 -1
  41. data/lib/middleware/lerp.rb +2 -1
  42. data/lib/middleware/lint.rb +2 -1
  43. data/lib/middleware/pad.rb +2 -1
  44. data/lib/middleware/prefix.rb +2 -1
  45. data/lib/middleware/reformat.rb +2 -1
  46. data/lib/middleware/scaler.rb +2 -1
  47. data/lib/middleware/shift.rb +2 -1
  48. data/lib/middleware/slipper.rb +2 -1
  49. data/lib/middleware/start_trim.rb +2 -1
  50. data/lib/pipeline/base.rb +2 -1
  51. data/lib/tracksperanto/block_init.rb +1 -0
  52. data/lib/tracksperanto/buffer_io.rb +2 -1
  53. data/lib/tracksperanto/buffering_reader.rb +2 -1
  54. data/lib/tracksperanto/casts.rb +2 -1
  55. data/lib/tracksperanto/const_name.rb +2 -1
  56. data/lib/tracksperanto/ext_io.rb +2 -1
  57. data/lib/tracksperanto/format_detector.rb +2 -1
  58. data/lib/tracksperanto/keyframe.rb +4 -4
  59. data/lib/tracksperanto/returning.rb +2 -1
  60. data/lib/tracksperanto/safety.rb +2 -1
  61. data/lib/tracksperanto/simple_export.rb +1 -0
  62. data/lib/tracksperanto/tracker.rb +99 -15
  63. data/lib/tracksperanto/uv_coordinates.rb +2 -1
  64. data/lib/tracksperanto/zip_tuples.rb +2 -1
  65. data/lib/tracksperanto.rb +2 -1
  66. data/test/export/samples/ref_Mayalive.txt +36 -36
  67. data/test/export/samples/ref_Mayalive_CustomAspect.txt +36 -36
  68. data/test/export/samples/ref_Ruby.rb +54 -0
  69. data/test/export/samples/ref_boujou.txt +1 -0
  70. data/test/export/samples/ref_equalizer.txt +20 -20
  71. data/test/export/samples/ref_matchmover.rz2 +36 -36
  72. data/test/export/test_boujou_export.rb +2 -1
  73. data/test/export/test_equalizer3_export.rb +2 -1
  74. data/test/export/test_equalizer_export.rb +2 -3
  75. data/test/export/test_flame_stabilizer_cornerpin_export.rb +2 -1
  76. data/test/export/test_flame_stabilizer_export.rb +2 -1
  77. data/test/export/test_match_mover_export.rb +2 -1
  78. data/test/export/test_maya_live_export.rb +2 -1
  79. data/test/export/test_mux.rb +1 -0
  80. data/test/export/test_nuke_export.rb +2 -1
  81. data/test/export/test_pfmatchit_export.rb +2 -1
  82. data/test/export/test_pftrack5_export.rb +2 -1
  83. data/test/export/test_pftrack_export.rb +2 -1
  84. data/test/export/test_ruby_export.rb +17 -0
  85. data/test/export/test_shake_export.rb +2 -1
  86. data/test/export/test_syntheyes_export.rb +1 -0
  87. data/test/helper.rb +48 -54
  88. data/test/import/test_3de_import.rb +2 -1
  89. data/test/import/test_3de_import3.rb +2 -1
  90. data/test/import/test_boujou_import.rb +2 -1
  91. data/test/import/test_flame_import.rb +2 -1
  92. data/test/import/test_match_mover_import.rb +3 -1
  93. data/test/import/test_maya_live_import.rb +2 -1
  94. data/test/import/test_nuke_import.rb +2 -1
  95. data/test/import/test_pftrack_import.rb +2 -1
  96. data/test/import/test_shake_catcher.rb +2 -1
  97. data/test/import/test_shake_lexer.rb +2 -1
  98. data/test/import/test_shake_script_import.rb +2 -1
  99. data/test/import/test_shake_text_import.rb +2 -1
  100. data/test/import/test_syntheyes_import.rb +2 -1
  101. data/test/middleware/test_crop_middleware.rb +2 -1
  102. data/test/middleware/test_flip_middleware.rb +2 -1
  103. data/test/middleware/test_flop_middleware.rb +1 -0
  104. data/test/middleware/test_golden_middleware.rb +2 -1
  105. data/test/middleware/test_length_cutoff_middleware.rb +2 -1
  106. data/test/middleware/test_lerp_middleware.rb +2 -1
  107. data/test/middleware/test_lint_middleware.rb +2 -1
  108. data/test/middleware/test_pad_middleware.rb +2 -1
  109. data/test/middleware/test_prefix.rb +2 -1
  110. data/test/middleware/test_reformat_middleware.rb +2 -1
  111. data/test/middleware/test_scaler_middleware.rb +2 -1
  112. data/test/middleware/test_shift_middleware.rb +2 -1
  113. data/test/middleware/test_slip_middleware.rb +2 -1
  114. data/test/middleware/test_start_trim_middleware.rb +2 -1
  115. data/test/test_buffer_io.rb +2 -1
  116. data/test/test_bufferingreader.rb +2 -1
  117. data/test/test_cli.rb +4 -2
  118. data/test/test_const_name.rb +2 -1
  119. data/test/test_extio.rb +2 -1
  120. data/test/test_format_detector.rb +2 -1
  121. data/test/test_keyframe.rb +15 -1
  122. data/test/test_pipeline.rb +2 -1
  123. data/test/test_simple_export.rb +2 -1
  124. data/test/test_tracker.rb +86 -12
  125. data/test/test_tracksperanto.rb +2 -1
  126. data/tracksperanto.gemspec +5 -2
  127. metadata +23 -20
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class Equalizer3ExportTestTest < Test::Unit::TestCase
@@ -21,4 +22,4 @@ class Equalizer3ExportTestTest < Test::Unit::TestCase
21
22
  assert_equal "// 3DE Multiple Tracking Curves Export 2048 x 275 * 0 frames\n\n", out.string,
22
23
  "Frame count should not bleed into width"
23
24
  end
24
- end
25
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class Equalizer4ExportTest < Test::Unit::TestCase
@@ -5,8 +6,6 @@ class Equalizer4ExportTest < Test::Unit::TestCase
5
6
  P = File.dirname(__FILE__) + "/samples/ref_equalizer.txt"
6
7
 
7
8
  def test_export_output_written
8
- # This test might be failing due to different float rounding between platforms
9
- # (currently fails on win ruby and jruby)
10
9
  ensure_same_output Tracksperanto::Export::Equalizer4, P, "Please note this test might fail due to differences in float rounding between platforms"
11
10
  end
12
11
 
@@ -14,4 +13,4 @@ class Equalizer4ExportTest < Test::Unit::TestCase
14
13
  assert_equal "3de_v4.txt", Tracksperanto::Export::Equalizer4.desc_and_extension
15
14
  assert_equal "3DE v4 point export .txt file", Tracksperanto::Export::Equalizer4.human_name
16
15
  end
17
- end
16
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class FlameStabilizerCornerpinExportTest < Test::Unit::TestCase
@@ -64,4 +65,4 @@ class FlameStabilizerCornerpinExportTest < Test::Unit::TestCase
64
65
 
65
66
  assert_same_buffer(File.open(P3), s)
66
67
  end
67
- end
68
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class FlameStabilizerExportTestTest < Test::Unit::TestCase
@@ -14,4 +15,4 @@ class FlameStabilizerExportTestTest < Test::Unit::TestCase
14
15
  assert_equal "flame.stabilizer", Tracksperanto::Export::FlameStabilizer.desc_and_extension
15
16
  assert_equal "Flame/Smoke 2D Stabilizer setup", Tracksperanto::Export::FlameStabilizer.human_name
16
17
  end
17
- end
18
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class MatchmoverExportTest < Test::Unit::TestCase
@@ -22,4 +23,4 @@ class MatchmoverExportTest < Test::Unit::TestCase
22
23
  o.string,
23
24
  "The output width and height should be properly substituted"
24
25
  end
25
- end
26
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class MayaLiveExportTest < Test::Unit::TestCase
@@ -14,4 +15,4 @@ class MayaLiveExportTest < Test::Unit::TestCase
14
15
  exporter.aspect = 1.78
15
16
  end
16
17
  end
17
- end
18
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class MuxTest < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class NukeExportTest < Test::Unit::TestCase
@@ -42,4 +43,4 @@ Constant {
42
43
  assert_equal PREAMBLE, o.string.strip
43
44
  end
44
45
 
45
- end
46
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class PFMatchitExportTest < Test::Unit::TestCase
@@ -13,4 +14,4 @@ class PFMatchitExportTest < Test::Unit::TestCase
13
14
  def test_export_output_written
14
15
  ensure_same_output Tracksperanto::Export::PFMatchit, P
15
16
  end
16
- end
17
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class PFTrack5ExportTest < Test::Unit::TestCase
@@ -16,4 +17,4 @@ class PFTrack5ExportTest < Test::Unit::TestCase
16
17
  def test_export_output_written
17
18
  ensure_same_output Tracksperanto::Export::PFTrack5, P
18
19
  end
19
- end
20
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class PFTrackExportTest < Test::Unit::TestCase
@@ -16,4 +17,4 @@ class PFTrackExportTest < Test::Unit::TestCase
16
17
  def test_export_output_written
17
18
  ensure_same_output Tracksperanto::Export::PFTrack4, P
18
19
  end
19
- end
20
+ end
@@ -0,0 +1,17 @@
1
+ # -*- encoding : utf-8 -*-
2
+ require File.expand_path(File.dirname(__FILE__)) + '/../helper'
3
+
4
+ class RubyExportTest < Test::Unit::TestCase
5
+ include ParabolicTracks
6
+ P = File.dirname(__FILE__) + "/samples/ref_Ruby.rb"
7
+
8
+ def test_export_output_written
9
+ create_reference_output Tracksperanto::Export::Ruby, P
10
+ ensure_same_output Tracksperanto::Export::Ruby, P
11
+ end
12
+
13
+ def test_exporter_meta
14
+ assert_equal "tracksperanto_ruby.rb", Tracksperanto::Export::Ruby.desc_and_extension
15
+ assert_equal "Bare Ruby code", Tracksperanto::Export::Ruby.human_name
16
+ end
17
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class ShakeTextExportTest < Test::Unit::TestCase
@@ -12,4 +13,4 @@ class ShakeTextExportTest < Test::Unit::TestCase
12
13
  assert_equal "shake_trackers.txt", Tracksperanto::Export::ShakeText.desc_and_extension
13
14
  assert_equal "Shake trackers in a .txt file (also usable with Nuke's CameraTracker)", Tracksperanto::Export::ShakeText.human_name
14
15
  end
15
- end
16
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class SynthEyesExportTest < Test::Unit::TestCase
data/test/helper.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require "rubygems"
2
3
  require File.dirname(__FILE__) + '/../lib/tracksperanto' unless defined?(Tracksperanto)
3
4
  require 'test/unit'
@@ -30,58 +31,53 @@ end
30
31
  # The tracker residual will degrade linarly and wll be "good" at the first image, "medium" at the extreme
31
32
  # and "bad" at end
32
33
  module ParabolicTracks
33
- x_uv_chain = [
34
- -1.0, -0.9, -0.8, -0.7, -0.6, -0.5, -0.4, -0.3, -0.2, -0.1, 0,
35
- 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0
36
- ]
37
34
 
38
- def self.uv_to_abs(uv_x, uv_y, w, h)
39
- x_wt = w.to_f / 2.0
40
- y_wt = h.to_f / 2.0
41
- [(uv_x + 1) * x_wt, ((uv_y) * y_wt) * 2]
35
+ FIRST_TRACK = Tracksperanto::Tracker.new(:name => "Parabolic_1_from_top_left") do |t|
36
+ t.keyframe!(:frame => 0, :abs_x => 0.00000, :abs_y => 1080.00000, :residual => 0.00000)
37
+ t.keyframe!(:frame => 1, :abs_x => 96.00000, :abs_y => 874.80000, :residual => 0.04762)
38
+ t.keyframe!(:frame => 2, :abs_x => 192.00000, :abs_y => 691.20000, :residual => 0.09524)
39
+ t.keyframe!(:frame => 3, :abs_x => 288.00000, :abs_y => 529.20000, :residual => 0.14286)
40
+ t.keyframe!(:frame => 4, :abs_x => 384.00000, :abs_y => 388.80000, :residual => 0.19048)
41
+ t.keyframe!(:frame => 5, :abs_x => 480.00000, :abs_y => 270.00000, :residual => 0.23810)
42
+ t.keyframe!(:frame => 6, :abs_x => 576.00000, :abs_y => 172.80000, :residual => 0.28571)
43
+ t.keyframe!(:frame => 7, :abs_x => 672.00000, :abs_y => 97.20000, :residual => 0.33333)
44
+ t.keyframe!(:frame => 8, :abs_x => 768.00000, :abs_y => 43.20000, :residual => 0.38095)
45
+ t.keyframe!(:frame => 9, :abs_x => 864.00000, :abs_y => 10.80000, :residual => 0.42857)
46
+ t.keyframe!(:frame => 12, :abs_x => 1152.00000, :abs_y => 43.20000, :residual => 0.57143)
47
+ t.keyframe!(:frame => 13, :abs_x => 1248.00000, :abs_y => 97.20000, :residual => 0.61905)
48
+ t.keyframe!(:frame => 14, :abs_x => 1344.00000, :abs_y => 172.80000, :residual => 0.66667)
49
+ t.keyframe!(:frame => 15, :abs_x => 1440.00000, :abs_y => 270.00000, :residual => 0.71429)
50
+ t.keyframe!(:frame => 16, :abs_x => 1536.00000, :abs_y => 388.80000, :residual => 0.76190)
51
+ t.keyframe!(:frame => 17, :abs_x => 1632.00000, :abs_y => 529.20000, :residual => 0.80952)
52
+ t.keyframe!(:frame => 18, :abs_x => 1728.00000, :abs_y => 691.20000, :residual => 0.85714)
53
+ t.keyframe!(:frame => 19, :abs_x => 1824.00000, :abs_y => 874.80000, :residual => 0.90476)
54
+ t.keyframe!(:frame => 20, :abs_x => 1920.00000, :abs_y => 1080.00000, :residual => 0.95238)
42
55
  end
43
56
 
44
- from_uv = lambda do | coordinate, dimension |
45
- dimension_part = dimension / 2
46
- (coordinate + 1.0) * dimension_part
57
+ SECOND_TRACK = Tracksperanto::Tracker.new(:name => "Parabolic_2_from_bottom_right") do |t|
58
+ t.keyframe!(:frame => 0, :abs_x => 1920.00000, :abs_y => 0.00000, :residual => 0.00000)
59
+ t.keyframe!(:frame => 1, :abs_x => 1824.00000, :abs_y => 205.20000, :residual => 0.04762)
60
+ t.keyframe!(:frame => 2, :abs_x => 1728.00000, :abs_y => 388.80000, :residual => 0.09524)
61
+ t.keyframe!(:frame => 3, :abs_x => 1632.00000, :abs_y => 550.80000, :residual => 0.14286)
62
+ t.keyframe!(:frame => 4, :abs_x => 1536.00000, :abs_y => 691.20000, :residual => 0.19048)
63
+ t.keyframe!(:frame => 5, :abs_x => 1440.00000, :abs_y => 810.00000, :residual => 0.23810)
64
+ t.keyframe!(:frame => 6, :abs_x => 1344.00000, :abs_y => 907.20000, :residual => 0.28571)
65
+ t.keyframe!(:frame => 7, :abs_x => 1248.00000, :abs_y => 982.80000, :residual => 0.33333)
66
+ t.keyframe!(:frame => 8, :abs_x => 1152.00000, :abs_y => 1036.80000, :residual => 0.38095)
67
+ t.keyframe!(:frame => 9, :abs_x => 1056.00000, :abs_y => 1069.20000, :residual => 0.42857)
68
+ t.keyframe!(:frame => 12, :abs_x => 768.00000, :abs_y => 1036.80000, :residual => 0.57143)
69
+ t.keyframe!(:frame => 13, :abs_x => 672.00000, :abs_y => 982.80000, :residual => 0.61905)
70
+ t.keyframe!(:frame => 14, :abs_x => 576.00000, :abs_y => 907.20000, :residual => 0.66667)
71
+ t.keyframe!(:frame => 15, :abs_x => 480.00000, :abs_y => 810.00000, :residual => 0.71429)
72
+ t.keyframe!(:frame => 16, :abs_x => 384.00000, :abs_y => 691.20000, :residual => 0.76190)
73
+ t.keyframe!(:frame => 17, :abs_x => 288.00000, :abs_y => 550.80000, :residual => 0.80952)
74
+ t.keyframe!(:frame => 18, :abs_x => 192.00000, :abs_y => 388.80000, :residual => 0.85714)
75
+ t.keyframe!(:frame => 19, :abs_x => 96.00000, :abs_y => 205.20000, :residual => 0.90476)
76
+ t.keyframe!(:frame => 20, :abs_x => 0.00000, :abs_y => 0.00000, :residual => 0.95238)
47
77
  end
48
78
 
49
- tuples_for_tracker_1 = x_uv_chain.inject([]) do | tuples_m, x_value |
50
- tuples_m << [tuples_m.length, x_value, x_value ** 2]
51
- end
52
-
53
- tuples_for_tracker_2 = tuples_for_tracker_1.map do | tuple |
54
- [tuple[0], tuple[1], (tuple[2] * -1) + 1]
55
- end
56
-
57
- tuples_for_tracker_2.reverse!
58
- tuples_for_tracker_2.each_with_index do | t, i |
59
- t[0] = i
60
- end
61
-
62
- residual_unit = 1.0 / x_uv_chain.length
63
-
64
- SKIPS = [10,11]
65
- FIRST_TRACK = Tracksperanto::Tracker.new(:name => "Parabolic_1_from_top_left") do | t |
66
- tuples_for_tracker_1.each do | (f, x, y )|
67
- ax, ay = uv_to_abs(x, y, 1920, 1080)
68
- unless SKIPS.include?(f)
69
- t.keyframe!(:frame => f, :abs_x => ax, :abs_y => ay, :residual => (f * residual_unit))
70
- end
71
- end
72
- end
73
-
74
- SECOND_TRACK = Tracksperanto::Tracker.new(:name => "Parabolic_2_from_bottom_right") do | t |
75
- tuples_for_tracker_2.each do | (f, x, y )|
76
- ax, ay = uv_to_abs(x, y, 1920, 1080)
77
- unless SKIPS.include?(f)
78
- t.keyframe!(:frame => f, :abs_x => ax, :abs_y => ay, :residual => (f * residual_unit))
79
- end
80
- end
81
- end
82
-
83
- SINGLE_FRAME_TRACK = Tracksperanto::Tracker.new(:name => "SingleFrame") do | t |
84
- t.keyframe! :frame => 0, :abs_x => (1920/2) + 10, :abs_y => (1080/2)+10, :residual => 0
79
+ SINGLE_FRAME_TRACK = Tracksperanto::Tracker.new(:name => "SingleFrame") do |t|
80
+ t.keyframe!(:frame => 0, :abs_x => 970.00000, :abs_y => 550.00000, :residual => 0.00000)
85
81
  end
86
82
 
87
83
  def create_reference_output(exporter_klass, ref_path)
@@ -94,12 +90,10 @@ module ParabolicTracks
94
90
 
95
91
  def assert_same_buffer(ref_buffer, actual_buffer, message = "The line should be identical")
96
92
  [ref_buffer, actual_buffer].each{|io| io.rewind }
97
- at_line = 0
98
- until ref_buffer.eof? && actual_buffer.eof?
99
- at_line += 1
100
- reference_line, output_line = ref_buffer.readline, actual_buffer.readline
101
- assert_equal reference_line, output_line, "Line #{at_line} - #{message}"
102
- end
93
+
94
+ # There are subtle differences in how IO is handled on dfferent platforms (Darwin)
95
+ ref_buffer, actual_buffer = ref_buffer.read, actual_buffer.read
96
+ assert_equal ref_buffer, actual_buffer
103
97
  end
104
98
 
105
99
  def ensure_same_output(exporter_klass, reference_path, message = "The line should be identical")
@@ -122,4 +116,4 @@ module ParabolicTracks
122
116
  end
123
117
  exporter.end_export
124
118
  end
125
- end unless defined?(ParabolicTracks)
119
+ end unless defined?(ParabolicTracks)
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class EqualizerImportTest < Test::Unit::TestCase
@@ -25,4 +26,4 @@ class EqualizerImportTest < Test::Unit::TestCase
25
26
  assert_in_delta 232.449011732690479, first_kf.abs_y, DELTA
26
27
  assert_equal 39, first_kf.frame
27
28
  end
28
- end
29
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class Equalizer3ImportTest < Test::Unit::TestCase
@@ -29,4 +30,4 @@ class Equalizer3ImportTest < Test::Unit::TestCase
29
30
  assert_in_delta 71.7889, first_kf.abs_x, DELTA
30
31
  assert_in_delta 481.708, first_kf.abs_y, DELTA
31
32
  end
32
- end
33
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class BoujouImportTest < Test::Unit::TestCase
@@ -26,4 +27,4 @@ class BoujouImportTest < Test::Unit::TestCase
26
27
  assert_in_delta 306.906, kf.abs_x, DELTA
27
28
  assert_in_delta 40.79, kf.abs_y, DELTA
28
29
  end
29
- end
30
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class FlameImportTest < Test::Unit::TestCase
@@ -108,4 +109,4 @@ class FlameImportTest < Test::Unit::TestCase
108
109
  assert_equal "bottom_right", trackers[-1].name
109
110
  end
110
111
 
111
- end
112
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class MatchMoverImportTest < Test::Unit::TestCase
@@ -17,6 +18,7 @@ class MatchMoverImportTest < Test::Unit::TestCase
17
18
 
18
19
  parser = Tracksperanto::Import::MatchMover.new(:io => fixture)
19
20
  trackers = parser.to_a
21
+ assert_not_equal 0, trackers[0].length
20
22
  assert_equal 0, trackers[0][0].frame, "Should have offset the first frame to 0"
21
23
  end
22
24
 
@@ -48,4 +50,4 @@ class MatchMoverImportTest < Test::Unit::TestCase
48
50
  assert_in_delta 0.027457, last_kf.residual, DELTA
49
51
  end
50
52
 
51
- end
53
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class MayaLiveImportTest < Test::Unit::TestCase
@@ -54,4 +55,4 @@ class MayaLiveImportTest < Test::Unit::TestCase
54
55
  assert_in_delta 305.141, first_kf.abs_x, DELTA
55
56
  assert_in_delta 513.346, first_kf.abs_y, DELTA
56
57
  end
57
- end
58
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class NukeImportTest < Test::Unit::TestCase
@@ -111,4 +112,4 @@ x754 912.0731812 x755 913.7190552 916.0959473 918.1025391 920.0751953 922.189880
111
112
  result = Tracksperanto::Import::NukeScript.new(:io => StringIO.new).send(:zip_curve_tuples, tuples_x, tuples_y)
112
113
  assert_equal [[3, 234, 123], [9, 876, 430]], result
113
114
  end
114
- end
115
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class PFTrackImportTest < Test::Unit::TestCase
@@ -91,4 +92,4 @@ class PFTrackImportTest < Test::Unit::TestCase
91
92
  assert_equal "Auto_00021_Primary", acc[20].name
92
93
  assert_equal 0, acc[20].length
93
94
  end
94
- end
95
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class ShakeCatcherTest < Test::Unit::TestCase
@@ -82,4 +83,4 @@ class ShakeCatcherTest < Test::Unit::TestCase
82
83
  s = StringIO.new(s) unless s.respond_to?(:read)
83
84
  klass.new(s).stack
84
85
  end
85
- end
86
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class ShakeLexerTest < Test::Unit::TestCase
@@ -201,4 +202,4 @@ class ShakeLexerTest < Test::Unit::TestCase
201
202
  s = StringIO.new(s) unless s.respond_to?(:read)
202
203
  klass.new(s).stack
203
204
  end
204
- end
205
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class ShakeScriptImportTest < Test::Unit::TestCase
@@ -146,4 +147,4 @@ class ShakeScriptImportTest < Test::Unit::TestCase
146
147
  assert_equal "Camera01Trackers_Tracker8", trackers[0].name
147
148
 
148
149
  end
149
- end
150
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class ShakeTextImportTest < Test::Unit::TestCase
@@ -68,4 +69,4 @@ class ShakeTextImportTest < Test::Unit::TestCase
68
69
  t2 = trackers[-1]
69
70
  assert_equal "autotrack260", t2.name
70
71
  end
71
- end
72
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class SyntheyesImportTest < Test::Unit::TestCase
@@ -46,4 +47,4 @@ class SyntheyesImportTest < Test::Unit::TestCase
46
47
 
47
48
  assert_equal 26, trackers.length
48
49
  end
49
- end
50
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class CropMiddlewareTest < Test::Unit::TestCase
@@ -24,4 +25,4 @@ class CropMiddlewareTest < Test::Unit::TestCase
24
25
  m.end_export
25
26
  end
26
27
 
27
- end
28
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class FlipMiddlewareTest < Test::Unit::TestCase
@@ -30,4 +31,4 @@ class FlipMiddlewareTest < Test::Unit::TestCase
30
31
  m.start_export(110, 120)
31
32
  m.export_point(1, 10, 95, 0)
32
33
  end
33
- end
34
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class FlopMiddlewareTest < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class GoldenMiddlewareTest < Test::Unit::TestCase
@@ -29,4 +30,4 @@ class GoldenMiddlewareTest < Test::Unit::TestCase
29
30
  m.end_tracker_segment
30
31
  m.end_export
31
32
  end
32
- end
33
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class LengthCutoffMiddlewareTest < Test::Unit::TestCase
@@ -35,4 +36,4 @@ class LengthCutoffMiddlewareTest < Test::Unit::TestCase
35
36
  m.end_export
36
37
 
37
38
  end
38
- end
39
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class LerpMiddlewareTest < Test::Unit::TestCase
@@ -39,4 +40,4 @@ class LerpMiddlewareTest < Test::Unit::TestCase
39
40
  m.end_export
40
41
  end
41
42
 
42
- end
43
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class LintMiddlewareTest < Test::Unit::TestCase
@@ -71,4 +72,4 @@ class LintMiddlewareTest < Test::Unit::TestCase
71
72
  end
72
73
  end
73
74
 
74
- end
75
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class PadMiddlewareTest < Test::Unit::TestCase
@@ -27,4 +28,4 @@ class PadMiddlewareTest < Test::Unit::TestCase
27
28
  m.end_export
28
29
  end
29
30
 
30
- end
31
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class PrefixMiddlewareTest < Test::Unit::TestCase
@@ -24,4 +25,4 @@ class PrefixMiddlewareTest < Test::Unit::TestCase
24
25
  m.start_tracker_segment("Tracker")
25
26
  end
26
27
 
27
- end
28
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class ReformatMiddlewareTest < Test::Unit::TestCase
@@ -32,4 +33,4 @@ class ReformatMiddlewareTest < Test::Unit::TestCase
32
33
  m.start_export(720, 576)
33
34
  m.end_export
34
35
  end
35
- end
36
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class ScalerMiddlewareTest < Test::Unit::TestCase
@@ -58,4 +59,4 @@ class ScalerMiddlewareTest < Test::Unit::TestCase
58
59
  m.end_tracker_segment
59
60
  m.end_export
60
61
  end
61
- end
62
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class ShiftMiddlewareTest < Test::Unit::TestCase
@@ -23,4 +24,4 @@ class ShiftMiddlewareTest < Test::Unit::TestCase
23
24
  m.end_export
24
25
  end
25
26
 
26
- end
27
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class SlipMiddlewareTest < Test::Unit::TestCase
@@ -28,4 +29,4 @@ class SlipMiddlewareTest < Test::Unit::TestCase
28
29
  m.end_tracker_segment
29
30
  m.end_export
30
31
  end
31
- end
32
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
3
 
3
4
  class StartTrimMiddlewareTest < Test::Unit::TestCase
@@ -39,4 +40,4 @@ class StartTrimMiddlewareTest < Test::Unit::TestCase
39
40
 
40
41
  m.end_export
41
42
  end
42
- end
43
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/helper'
2
3
 
3
4
  class TestBufferIO < Test::Unit::TestCase
@@ -30,4 +31,4 @@ class TestBufferIO < Test::Unit::TestCase
30
31
  assert_equal 3000, f.pos
31
32
  assert f.file_backed?
32
33
  end
33
- end
34
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__)) + '/helper'
2
3
 
3
4
  class TestBufferingReader < Test::Unit::TestCase
@@ -44,4 +45,4 @@ class TestBufferingReader < Test::Unit::TestCase
44
45
  s.length.times { reader.read_one_byte }
45
46
  assert reader.data_exhausted?
46
47
  end
47
- end
48
+ end