tracksperanto 4.1.2 → 4.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (181) hide show
  1. checksums.yaml +5 -5
  2. data/lib/tracksperanto/version.rb +1 -1
  3. data/test/HELP_WHY_TESTS_ARE_EMPTY.md +8 -0
  4. data/tracksperanto.gemspec +2 -4
  5. metadata +4 -179
  6. data/test/export/README_EXPORT_TESTS.txt +0 -24
  7. data/test/export/samples/ref_AfterEffects.jsx +0 -70
  8. data/test/export/samples/ref_FlameProperlyReorderedCornerpin.stabilizer +0 -1946
  9. data/test/export/samples/ref_FlameSimpleReorderedCornerpin.stabilizer +0 -1946
  10. data/test/export/samples/ref_Maxscript.ms +0 -93
  11. data/test/export/samples/ref_MayaLocators.ma +0 -90
  12. data/test/export/samples/ref_Mayalive.txt +0 -43
  13. data/test/export/samples/ref_Mayalive_CustomAspect.txt +0 -43
  14. data/test/export/samples/ref_NukeCameraTrackerUsertracks.txt +0 -48
  15. data/test/export/samples/ref_NukeScript.nk +0 -37
  16. data/test/export/samples/ref_PFMatchit.2dt +0 -54
  17. data/test/export/samples/ref_PFTrack.2dt +0 -51
  18. data/test/export/samples/ref_PFTrack5.2dt +0 -54
  19. data/test/export/samples/ref_Ruby.rb +0 -54
  20. data/test/export/samples/ref_ShakeText.txt +0 -48
  21. data/test/export/samples/ref_Syntheyes.txt +0 -39
  22. data/test/export/samples/ref_XSI.py +0 -102
  23. data/test/export/samples/ref_boujou.txt +0 -44
  24. data/test/export/samples/ref_equalizer.txt +0 -49
  25. data/test/export/samples/ref_equalizer3.txt +0 -44
  26. data/test/export/samples/ref_flame.stabilizer +0 -962
  27. data/test/export/samples/ref_flameCornerpin.stabilizer +0 -962
  28. data/test/export/samples/ref_flame_2014.stabilizer +0 -893
  29. data/test/export/samples/ref_flame_2014_cornerpin.stabilizer +0 -1422
  30. data/test/export/samples/ref_matchmover.rz2 +0 -52
  31. data/test/export/test_ae_export.rb +0 -16
  32. data/test/export/test_boujou_export.rb +0 -17
  33. data/test/export/test_equalizer3_export.rb +0 -24
  34. data/test/export/test_equalizer_export.rb +0 -15
  35. data/test/export/test_flame_stabilizer_2014_cornerpin_export.rb +0 -33
  36. data/test/export/test_flame_stabilizer_2014_export.rb +0 -17
  37. data/test/export/test_flame_stabilizer_cornerpin_export.rb +0 -71
  38. data/test/export/test_flame_stabilizer_export.rb +0 -17
  39. data/test/export/test_match_mover_export.rb +0 -25
  40. data/test/export/test_maxscript.rb +0 -16
  41. data/test/export/test_maya_live_export.rb +0 -17
  42. data/test/export/test_maya_locators_export.rb +0 -16
  43. data/test/export/test_mux.rb +0 -23
  44. data/test/export/test_nuke_camtracker_export.rb +0 -15
  45. data/test/export/test_nuke_export.rb +0 -45
  46. data/test/export/test_pfmatchit_export.rb +0 -16
  47. data/test/export/test_pftrack5_export.rb +0 -19
  48. data/test/export/test_pftrack_export.rb +0 -19
  49. data/test/export/test_ruby_export.rb +0 -15
  50. data/test/export/test_shake_export.rb +0 -15
  51. data/test/export/test_syntheyes_export.rb +0 -15
  52. data/test/export/test_xsi_python_export.rb +0 -16
  53. data/test/helper.rb +0 -153
  54. data/test/import/README.rdoc +0 -10
  55. data/test/import/samples/3de_v3/3de_export_v3.txt +0 -2203
  56. data/test/import/samples/3de_v4/3de_export_cube.txt +0 -726
  57. data/test/import/samples/3de_v4/FB1880_man_v05.txt +0 -2402
  58. data/test/import/samples/boujou_features_text/boujou_txt_export.txt +0 -2885
  59. data/test/import/samples/flame_stabilizer/FlameStab_Cornerpin_CorrectOrder.stabilizer +0 -2758
  60. data/test/import/samples/flame_stabilizer/FlameStab_Cornerpin_IncorrectOrder.stabilizer +0 -2758
  61. data/test/import/samples/flame_stabilizer/Flame_Stabilizer_2012.stabilizer +0 -6954
  62. data/test/import/samples/flame_stabilizer/cornerpin_2012.stabilizer +0 -20958
  63. data/test/import/samples/flame_stabilizer/flame2010_cornerpin.stabilizer +0 -10792
  64. data/test/import/samples/flame_stabilizer/flame_2012_another.stabilizer +0 -2290
  65. data/test/import/samples/flame_stabilizer/fromCombustion_fromMidClip_wSnap.stabilizer +0 -2028
  66. data/test/import/samples/flame_stabilizer/fromTracksperanto.stabilizer +0 -541
  67. data/test/import/samples/flame_stabilizer/hugeFlameSetup.stabilizer +0 -263460
  68. data/test/import/samples/flame_stabilizer/megaTrack.action.3dtrack.stabilizer +0 -29793
  69. data/test/import/samples/flame_stabilizer/stabilizer_2014_ref_for_reexport.stabilizer +0 -2776
  70. data/test/import/samples/flame_stabilizer/stabilizer_2014_stp.stabilizer +0 -2536
  71. data/test/import/samples/match_mover/2dtracks.rz2 +0 -2076
  72. data/test/import/samples/match_mover/EP_1000_head_trackers_v002.rz2 +0 -935
  73. data/test/import/samples/match_mover/NonSequentialMatchmoverPoints.rz2 +0 -93306
  74. data/test/import/samples/match_mover/cha_171_1020_atb_v001.rz2 +0 -238
  75. data/test/import/samples/match_mover/kipPointsMatchmover.rz2 +0 -523
  76. data/test/import/samples/match_mover_rzml/md_145_1070_right_t1.rzml +0 -601
  77. data/test/import/samples/mayalive/mayalive_kipShot.txt +0 -1504
  78. data/test/import/samples/nuke/018.nk +0 -300
  79. data/test/import/samples/nuke/45trackers.nk +0 -331
  80. data/test/import/samples/nuke/A099_L008_0207TW_001_head_R.nk +0 -135
  81. data/test/import/samples/nuke/cornerpin.nk +0 -11
  82. data/test/import/samples/nuke/curve-start-with-curve-command.nk +0 -174
  83. data/test/import/samples/nuke/failing_nuke7_trackers_job_1872.nk +0 -112
  84. data/test/import/samples/nuke/nuke708_tracker.nk +0 -52
  85. data/test/import/samples/nuke/nuke7_planar.nk +0 -3143
  86. data/test/import/samples/nuke/nuke7_tracker_2tracks.nk +0 -116
  87. data/test/import/samples/nuke/nuke7_transform2d.nk +0 -69
  88. data/test/import/samples/nuke/nuke8_tracker4_copypastes.nk +0 -53
  89. data/test/import/samples/nuke/one_tracker_with_break.nk +0 -71
  90. data/test/import/samples/nuke/one_tracker_with_break_in_grp.nk +0 -91
  91. data/test/import/samples/nuke/planar.nk +0 -37692
  92. data/test/import/samples/nuke/reconciles.nk +0 -210
  93. data/test/import/samples/nuke/sh110_trackers_004_ipad1.nk +0 -56
  94. data/test/import/samples/nuke/skip_invalid_curve_expressions.nk +0 -62
  95. data/test/import/samples/nuke/track_nuke8.nk +0 -54
  96. data/test/import/samples/nuke/tracker4_with_empty_tracks_knob.nk +0 -13005
  97. data/test/import/samples/nuke/tracker_with_differing_gaps.nk +0 -82
  98. data/test/import/samples/nuke/tracker_with_repeating_gaps.nk +0 -79
  99. data/test/import/samples/pfmatchit/pfmatchit_example.2dt +0 -90
  100. data/test/import/samples/pftrack4/sourcefile_pftrack.2dt +0 -28972
  101. data/test/import/samples/pftrack5/apft.2dt +0 -164
  102. data/test/import/samples/pftrack5/empty_trackers.2dt +0 -30
  103. data/test/import/samples/pftrack5/garage.2dt +0 -79259
  104. data/test/import/samples/pftrack5/stereo.2dt +0 -21073
  105. data/test/import/samples/shake_script/205_030_shaketrack_v01_pd.shk +0 -379
  106. data/test/import/samples/shake_script/REDACTED_shake_file.shk +0 -317
  107. data/test/import/samples/shake_script/cliff_many_stabilize.shk +0 -675
  108. data/test/import/samples/shake_script/comments_inline_with_args.shk +0 -50
  109. data/test/import/samples/shake_script/designated_global_range_starting_at_negative_frame.shk +0 -496
  110. data/test/import/samples/shake_script/four_tracks_in_one_matchmove.shk +0 -323
  111. data/test/import/samples/shake_script/four_tracks_in_one_stabilizer.shk +0 -321
  112. data/test/import/samples/shake_script/from_matchmover.shk +0 -140
  113. data/test/import/samples/shake_script/ofx_vardefs.shk +0 -6
  114. data/test/import/samples/shake_script/oldTrackerNode.shk +0 -5
  115. data/test/import/samples/shake_script/shake_script_from_boujou.shk +0 -15
  116. data/test/import/samples/shake_script/shake_tracker_nodes.shk +0 -633
  117. data/test/import/samples/shake_script/shake_tracker_with_no_anim.shk +0 -6
  118. data/test/import/samples/shake_script/shake_trackers_with_Nspline.shk +0 -328
  119. data/test/import/samples/shake_script/stabilize_nodes_with_hermite.shk +0 -330
  120. data/test/import/samples/shake_script/three_tracks_in_one_stabilizer.shk +0 -320
  121. data/test/import/samples/shake_script/track.shk +0 -349
  122. data/test/import/samples/shake_script/two_tracks_in_one_tracker.shk +0 -319
  123. data/test/import/samples/shake_text/nuke_camtracker.txt +0 -11240
  124. data/test/import/samples/shake_text/one_shake_tracker.txt +0 -49
  125. data/test/import/samples/shake_text/one_shake_tracker_from_first.txt +0 -188
  126. data/test/import/samples/shake_text/two_shake_trackers.txt +0 -78
  127. data/test/import/samples/syntheyes_2d_paths/cola_plate.txt +0 -507
  128. data/test/import/samples/syntheyes_2d_paths/flyover2DP_syntheyes.txt +0 -12687
  129. data/test/import/samples/syntheyes_2d_paths/morePoints_sy2010.txt +0 -752
  130. data/test/import/samples/syntheyes_2d_paths/one_tracker.txt +0 -49
  131. data/test/import/samples/syntheyes_2d_paths/shake_tracker_nodes_to_syntheyes.txt +0 -4091
  132. data/test/import/samples/syntheyes_all_tracker_paths/shot06_2dTracks.txt +0 -6255
  133. data/test/import/test_3de_import.rb +0 -41
  134. data/test/import/test_3de_import3.rb +0 -33
  135. data/test/import/test_boujou_import.rb +0 -29
  136. data/test/import/test_flame_import.rb +0 -120
  137. data/test/import/test_match_mover_import.rb +0 -100
  138. data/test/import/test_match_mover_rzml_import.rb +0 -33
  139. data/test/import/test_maya_live_import.rb +0 -57
  140. data/test/import/test_nuke_import.rb +0 -298
  141. data/test/import/test_pftrack_import.rb +0 -94
  142. data/test/import/test_shake_catcher.rb +0 -85
  143. data/test/import/test_shake_lexer.rb +0 -204
  144. data/test/import/test_shake_script_import.rb +0 -164
  145. data/test/import/test_shake_text_import.rb +0 -71
  146. data/test/import/test_syntheyes_all_tracker_paths_import.rb +0 -26
  147. data/test/import/test_syntheyes_import.rb +0 -51
  148. data/test/test_blacklist.rb +0 -50
  149. data/test/test_block_init.rb +0 -48
  150. data/test/test_buffer_io.rb +0 -33
  151. data/test/test_casts.rb +0 -76
  152. data/test/test_cli.rb +0 -108
  153. data/test/test_const_name.rb +0 -12
  154. data/test/test_extio.rb +0 -28
  155. data/test/test_format_detector.rb +0 -39
  156. data/test/test_keyframe.rb +0 -56
  157. data/test/test_parameters.rb +0 -37
  158. data/test/test_pipeline.rb +0 -192
  159. data/test/test_safety.rb +0 -20
  160. data/test/test_simple_export.rb +0 -22
  161. data/test/test_tracker.rb +0 -149
  162. data/test/test_tracksperanto.rb +0 -88
  163. data/test/test_uv_coords.rb +0 -28
  164. data/test/test_yield_non_empty.rb +0 -10
  165. data/test/test_zip_tuples.rb +0 -31
  166. data/test/tools/test_crop_middleware.rb +0 -32
  167. data/test/tools/test_flip_middleware.rb +0 -18
  168. data/test/tools/test_flop_middleware.rb +0 -18
  169. data/test/tools/test_golden_middleware.rb +0 -25
  170. data/test/tools/test_length_cutoff_middleware.rb +0 -43
  171. data/test/tools/test_lens_middleware.rb +0 -77
  172. data/test/tools/test_lerp_middleware.rb +0 -28
  173. data/test/tools/test_lint_middleware.rb +0 -79
  174. data/test/tools/test_move_to_first_frame_middleware.rb +0 -37
  175. data/test/tools/test_pad_middleware.rb +0 -35
  176. data/test/tools/test_prefix.rb +0 -31
  177. data/test/tools/test_reformat_middleware.rb +0 -36
  178. data/test/tools/test_scaler_middleware.rb +0 -66
  179. data/test/tools/test_shift_middleware.rb +0 -31
  180. data/test/tools/test_slip_middleware.rb +0 -36
  181. data/test/tools/test_start_trim_middleware.rb +0 -36
@@ -1,52 +0,0 @@
1
- imageSequence "Sequence 01"
2
- {
3
- 1920 1080 f( "D:/temp/sequence.%04d.dpx" ) b( 1 211 1 )
4
- }
5
- pointTrack "Parabolic_1_from_top_left" rgb( 255 0 0 )
6
- {
7
- 1 0.000 0.000 ki( 0.8 ) s( 66 66 64 64 ) p( 24 24 25 25 )
8
- 2 96.000 205.200 p+( 0.952380 )
9
- 3 192.000 388.800 p+( 0.904760 )
10
- 4 288.000 550.800 p+( 0.857140 )
11
- 5 384.000 691.200 p+( 0.809520 )
12
- 6 480.000 810.000 p+( 0.761900 )
13
- 7 576.000 907.200 p+( 0.714290 )
14
- 8 672.000 982.800 p+( 0.666670 )
15
- 9 768.000 1036.800 p+( 0.619050 )
16
- 10 864.000 1069.200 p+( 0.571430 )
17
- 13 1152.000 1036.800 p+( 0.428570 )
18
- 14 1248.000 982.800 p+( 0.380950 )
19
- 15 1344.000 907.200 p+( 0.333330 )
20
- 16 1440.000 810.000 p+( 0.285710 )
21
- 17 1536.000 691.200 p+( 0.238100 )
22
- 18 1632.000 550.800 p+( 0.190480 )
23
- 19 1728.000 388.800 p+( 0.142860 )
24
- 20 1824.000 205.200 p+( 0.095240 )
25
- 21 1920.000 0.000 p+( 0.047620 )
26
- }
27
- pointTrack "Parabolic_2_from_bottom_right" rgb( 255 0 0 )
28
- {
29
- 1 1920.000 1080.000 ki( 0.8 ) s( 66 66 64 64 ) p( 24 24 25 25 )
30
- 2 1824.000 874.800 p+( 0.952380 )
31
- 3 1728.000 691.200 p+( 0.904760 )
32
- 4 1632.000 529.200 p+( 0.857140 )
33
- 5 1536.000 388.800 p+( 0.809520 )
34
- 6 1440.000 270.000 p+( 0.761900 )
35
- 7 1344.000 172.800 p+( 0.714290 )
36
- 8 1248.000 97.200 p+( 0.666670 )
37
- 9 1152.000 43.200 p+( 0.619050 )
38
- 10 1056.000 10.800 p+( 0.571430 )
39
- 13 768.000 43.200 p+( 0.428570 )
40
- 14 672.000 97.200 p+( 0.380950 )
41
- 15 576.000 172.800 p+( 0.333330 )
42
- 16 480.000 270.000 p+( 0.285710 )
43
- 17 384.000 388.800 p+( 0.238100 )
44
- 18 288.000 529.200 p+( 0.190480 )
45
- 19 192.000 691.200 p+( 0.142860 )
46
- 20 96.000 874.800 p+( 0.095240 )
47
- 21 0.000 1080.000 p+( 0.047620 )
48
- }
49
- pointTrack "SingleFrame_InTheMiddle" rgb( 255 0 0 )
50
- {
51
- 1 970.000 530.000 ki( 0.8 ) s( 66 66 64 64 ) p( 24 24 25 25 )
52
- }
@@ -1,16 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
-
3
- class AEExportTest < Test::Unit::TestCase
4
- include ParabolicTracks
5
-
6
- P_LOCATORS = File.dirname(__FILE__) + "/samples/ref_AfterEffects.jsx"
7
-
8
- def test_export_output_written
9
- ensure_same_output Tracksperanto::Export::AE, P_LOCATORS
10
- end
11
-
12
- def test_exporter_meta
13
- assert_equal "createNulls.jsx", Tracksperanto::Export::AE.desc_and_extension
14
- assert_equal "AfterEffects .jsx script generating null layers", Tracksperanto::Export::AE.human_name
15
- end
16
- end
@@ -1,17 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
-
3
- class BoujouExportTest < Test::Unit::TestCase
4
- include ParabolicTracks
5
- P = File.dirname(__FILE__) + "/samples/ref_boujou.txt"
6
-
7
- def test_export_output_written
8
- t = Time.local(2010, "Apr", 15, 17, 21, 26)
9
- flexmock(Time).should_receive(:now).and_return(t)
10
- ensure_same_output Tracksperanto::Export::Boujou, P
11
- end
12
-
13
- def test_exporter_meta
14
- assert_equal "boujou_text.txt", Tracksperanto::Export::Boujou.desc_and_extension
15
- assert_equal "boujou feature tracks", Tracksperanto::Export::Boujou.human_name
16
- end
17
- end
@@ -1,24 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
-
3
- class Equalizer3ExportTestTest < Test::Unit::TestCase
4
- include ParabolicTracks
5
- P = File.dirname(__FILE__) + "/samples/ref_equalizer3.txt"
6
-
7
- def test_export_output_written
8
- ensure_same_output Tracksperanto::Export::Equalizer3, P
9
- end
10
-
11
- def test_exporter_meta
12
- assert_equal "3de_v3.txt", Tracksperanto::Export::Equalizer3.desc_and_extension
13
- assert_equal "3DE v3 point export .txt file", Tracksperanto::Export::Equalizer3.human_name
14
- end
15
-
16
- def test_export_for_format_does_not_override_preamble
17
- out = StringIO.new
18
- expt = Tracksperanto::Export::Equalizer3.new(out)
19
- expt.start_export(2048, 275)
20
- expt.end_export
21
- assert_equal "// 3DE Multiple Tracking Curves Export 2048 x 275 * 0 frames\n\n", out.string,
22
- "Frame count should not bleed into width"
23
- end
24
- end
@@ -1,15 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
-
3
- class Equalizer4ExportTest < Test::Unit::TestCase
4
- include ParabolicTracks
5
- P = File.dirname(__FILE__) + "/samples/ref_equalizer.txt"
6
-
7
- def test_export_output_written
8
- ensure_same_output Tracksperanto::Export::Equalizer4, P, "Please note this test might fail due to differences in float rounding between platforms"
9
- end
10
-
11
- def test_exporter_meta
12
- assert_equal "3de_v4.txt", Tracksperanto::Export::Equalizer4.desc_and_extension
13
- assert_equal "3DE v4 point export .txt file", Tracksperanto::Export::Equalizer4.human_name
14
- end
15
- end
@@ -1,33 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
-
3
- class TestFlameStabilizer2014CornerpinExport < Test::Unit::TestCase
4
- IN = File.dirname(__FILE__) + "/../import/samples/flame_stabilizer/stabilizer_2014_ref_for_reexport.stabilizer"
5
- OUT = File.dirname(__FILE__) + "/samples/ref_flame_2014_cornerpin.stabilizer"
6
-
7
- include ParabolicTracks
8
-
9
- def test_roundtrip_export
10
- importer = Tracksperanto::Import::FlameStabilizer.new(:io => File.open(IN))
11
- trackers = importer.to_a.shuffle # Ensure we are not in correct order
12
- assert_equal 4, trackers.length
13
- trackers.each_with_index {|t, i | t.name = "randomName#{i}"}
14
-
15
- io = StringIO.new
16
-
17
- t = Time.local(2014, "Feb", 22, 11, 3, 0)
18
- flexmock(Time).should_receive(:now).and_return(t)
19
-
20
- x = Tracksperanto::Export::FlameStabilizer2014Cornerpin.new(io)
21
- x.just_export(trackers, importer.width, importer.height)
22
- io.rewind
23
-
24
- assert_same_buffer(File.open(OUT, "r"), io, "Shoudl have exported the same buffer")
25
- end
26
-
27
- def test_exporter_meta
28
- assert_equal "flamesmoke_2014_cornerpin.stabilizer",
29
- Tracksperanto::Export::FlameStabilizer2014Cornerpin.desc_and_extension
30
- assert_equal "Flame/Smoke 2D Stabilizer setup (v. 2014 and above) for corner pins",
31
- Tracksperanto::Export::FlameStabilizer2014Cornerpin.human_name
32
- end
33
- end
@@ -1,17 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
-
3
- class TestFlameStabilizer2014Export < Test::Unit::TestCase
4
- include ParabolicTracks
5
- P = File.dirname(__FILE__) + "/samples/ref_flame_2014.stabilizer"
6
-
7
- def test_export_output_written
8
- t = Time.local(2014, "Feb", 22, 11, 3, 0)
9
- flexmock(Time).should_receive(:now).and_return(t)
10
- ensure_same_output Tracksperanto::Export::FlameStabilizer2014, P
11
- end
12
-
13
- def test_exporter_meta
14
- assert_equal "flamesmoke2014.stabilizer", Tracksperanto::Export::FlameStabilizer2014.desc_and_extension
15
- assert_equal "Flame/Smoke 2D Stabilizer setup (v. 2014 and above)", Tracksperanto::Export::FlameStabilizer2014.human_name
16
- end
17
- end
@@ -1,71 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
-
3
- class FlameStabilizerCornerpinExportTest < Test::Unit::TestCase
4
- include ParabolicTracks
5
- P = File.dirname(__FILE__) + "/samples/ref_flameCornerpin.stabilizer"
6
- P2 = File.dirname(__FILE__) + "/samples/ref_FlameSimpleReorderedCornerpin.stabilizer"
7
- P3 = File.dirname(__FILE__) + "/samples/ref_FlameProperlyReorderedCornerpin.stabilizer"
8
-
9
- def test_export_output_written
10
- t = Time.local(2010, "Feb", 18, 17, 22, 12)
11
- flexmock(Time).should_receive(:now).and_return(t)
12
- ensure_same_output Tracksperanto::Export::FlameStabilizerCornerpin, P
13
- end
14
-
15
- def test_exporter_meta
16
- assert_equal "flame_cornerpin.stabilizer", Tracksperanto::Export::FlameStabilizerCornerpin.desc_and_extension
17
- assert_equal "Flame/Smoke 2D Stabilizer setup for bilinear corner pins", Tracksperanto::Export::FlameStabilizerCornerpin.human_name
18
- end
19
-
20
- def test_only_ever_exports_4_points
21
- s = StringIO.new
22
- x = Tracksperanto::Export::FlameStabilizerCornerpin.new(s)
23
-
24
- trackers = (1..40).map do | i |
25
- Tracksperanto::Tracker.new(:name => "Foe#{i}") do | t |
26
- 7.times {|j| t.keyframe! :frame => j, :abs_x => 123, :abs_y => 456 }
27
- end
28
- end
29
- x.just_export(trackers, 720, 576)
30
- s.rewind
31
-
32
- roundtrip = Tracksperanto::Import::FlameStabilizer.new(:io => s).to_a
33
- assert_equal 4, roundtrip.length
34
- end
35
-
36
- def test_roundtrip_with_correct_order
37
- t = Time.local(2010, "Feb", 18, 17, 22, 12)
38
- flexmock(Time).should_receive(:now).and_return(t)
39
-
40
- trackers = File.open(File.dirname(__FILE__) + "/../import/samples/flame_stabilizer/FlameStab_Cornerpin_CorrectOrder.stabilizer") do | f|
41
- Tracksperanto::Import::FlameStabilizer.new(:io => f).to_a
42
- end
43
- assert_equal 4, trackers.length
44
-
45
- s = StringIO.new
46
- x = Tracksperanto::Export::FlameStabilizerCornerpin.new(s)
47
- x.just_export(trackers, 1920, 1080)
48
-
49
- s.rewind
50
-
51
- assert_same_buffer(File.open(P2), s)
52
- end
53
-
54
- def test_roundtrip_with_incorrect_order
55
- t = Time.local(2010, "Feb", 18, 17, 22, 12)
56
- flexmock(Time).should_receive(:now).and_return(t)
57
-
58
- trackers = File.open(File.dirname(__FILE__) + "/../import/samples/flame_stabilizer/FlameStab_Cornerpin_IncorrectOrder.stabilizer") do | f|
59
- Tracksperanto::Import::FlameStabilizer.new(:io => f).to_a
60
- end
61
- assert_equal 4, trackers.length
62
-
63
- s = StringIO.new
64
- x = Tracksperanto::Export::FlameStabilizerCornerpin.new(s)
65
- x.just_export(trackers, 1920, 1080)
66
-
67
- s.rewind
68
-
69
- assert_same_buffer(File.open(P3), s)
70
- end
71
- end
@@ -1,17 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
-
3
- class TestFlameStabilizerExport < Test::Unit::TestCase
4
- include ParabolicTracks
5
- P = File.dirname(__FILE__) + "/samples/ref_flame.stabilizer"
6
-
7
- def test_export_output_written
8
- t = Time.local(2010, "Feb", 18, 17, 22, 12)
9
- flexmock(Time).should_receive(:now).and_return(t)
10
- ensure_same_output Tracksperanto::Export::FlameStabilizer, P
11
- end
12
-
13
- def test_exporter_meta
14
- assert_equal "flame.stabilizer", Tracksperanto::Export::FlameStabilizer.desc_and_extension
15
- assert_equal "Flame/Smoke 2D Stabilizer setup", Tracksperanto::Export::FlameStabilizer.human_name
16
- end
17
- end
@@ -1,25 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
-
3
- class MatchmoverExportTest < Test::Unit::TestCase
4
- include ParabolicTracks
5
- P = File.dirname(__FILE__) + "/samples/ref_matchmover.rz2"
6
-
7
- def test_export_output_written
8
- ensure_same_output Tracksperanto::Export::MatchMover, P
9
- end
10
-
11
- def test_exporter_meta
12
- assert_equal "matchmover.rz2", Tracksperanto::Export::MatchMover.desc_and_extension
13
- assert_equal "MatchMover REALVIZ Ascii Point Tracks .rz2 file", Tracksperanto::Export::MatchMover.human_name
14
- end
15
-
16
- def test_width_and_height_not_stepping_on_each_other_in_preamble
17
- o = StringIO.new
18
- expt = Tracksperanto::Export::MatchMover.new(o)
19
- expt.start_export(1080, 720)
20
- expt.end_export
21
- assert_equal "imageSequence\t\"Sequence 01\"\n{\n\t1080\t720\tf( \"D:/temp/sequence.%04d.dpx\" )\tb( 1 211 1 )\t\n}\n",
22
- o.string,
23
- "The output width and height should be properly substituted"
24
- end
25
- end
@@ -1,16 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
-
3
- class MaxscriptExportTest < Test::Unit::TestCase
4
- include ParabolicTracks
5
-
6
- P_MAX = File.dirname(__FILE__) + "/samples/ref_Maxscript.ms"
7
-
8
- def test_export_output_written
9
- ensure_same_output Tracksperanto::Export::Maxscript, P_MAX
10
- end
11
-
12
- def test_exporter_meta
13
- assert_equal "3dsmax_nulls.ms", Tracksperanto::Export::Maxscript.desc_and_extension
14
- assert_equal "Autodesk 3dsmax script for nulls on an image plane", Tracksperanto::Export::Maxscript.human_name
15
- end
16
- end
@@ -1,17 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
-
3
- class MayaLiveExportTest < Test::Unit::TestCase
4
- include ParabolicTracks
5
- P_STD_ASPECT = File.dirname(__FILE__) + "/samples/ref_Mayalive.txt"
6
- P_CUSTOM_ASPECT = File.dirname(__FILE__) + "/samples/ref_Mayalive_CustomAspect.txt"
7
-
8
- def test_export_output_written
9
- ensure_same_output Tracksperanto::Export::MayaLive, P_STD_ASPECT
10
- end
11
-
12
- def test_export_output_written_for_custom_aspect
13
- ensure_same_output(Tracksperanto::Export::MayaLive, P_CUSTOM_ASPECT) do | exporter |
14
- exporter.aspect = 1.78
15
- end
16
- end
17
- end
@@ -1,16 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
-
3
- class MayaLocatorsExportTest < Test::Unit::TestCase
4
- include ParabolicTracks
5
-
6
- P_LOCATORS = File.dirname(__FILE__) + "/samples/ref_MayaLocators.ma"
7
-
8
- def test_export_output_written
9
- ensure_same_output Tracksperanto::Export::MayaLocators, P_LOCATORS
10
- end
11
-
12
- def test_exporter_meta
13
- assert_equal "mayaLocators.ma", Tracksperanto::Export::MayaLocators.desc_and_extension
14
- assert_equal "Maya ASCII scene with locators on an image plane", Tracksperanto::Export::MayaLocators.human_name
15
- end
16
- end
@@ -1,23 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
-
3
- class MuxTest < Test::Unit::TestCase
4
-
5
- def test_mux_replays
6
- outs = (0..25).map do
7
- o = flexmock
8
- o.should_receive(:start_export).once.with(720, 576)
9
- o.should_receive(:start_tracker_segment).once.with("FooT")
10
- o.should_receive(:export_point).once.with(0, 45.0, 67.0, 0.3)
11
- o.should_receive(:end_tracker_segment).once
12
- o.should_receive(:end_export).once
13
- o
14
- end
15
-
16
- mux = Tracksperanto::Export::Mux.new(outs)
17
- mux.start_export(720, 576)
18
- mux.start_tracker_segment("FooT")
19
- mux.export_point(0, 45.0, 67.0, 0.3)
20
- mux.end_tracker_segment
21
- mux.end_export
22
- end
23
- end
@@ -1,15 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
-
3
- class NukeCamTrackerExportTest < Test::Unit::TestCase
4
- include ParabolicTracks
5
- P = File.dirname(__FILE__) + "/samples/ref_NukeCameraTrackerUsertracks.txt"
6
-
7
- def test_export_output_written
8
- ensure_same_output Tracksperanto::Export::NukeCameraUsertracks, P
9
- end
10
-
11
- def test_exporter_meta
12
- assert_equal "nuke_cam_trk_autotracks.txt", Tracksperanto::Export::NukeCameraUsertracks.desc_and_extension
13
- assert_equal "Nuke CameraTracker node autotracks (enable import/export in the Tracking tab)", Tracksperanto::Export::NukeCameraUsertracks.human_name
14
- end
15
- end
@@ -1,45 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
-
3
- class NukeExportTest < Test::Unit::TestCase
4
- include ParabolicTracks
5
- TEST_FILE = File.dirname(__FILE__) + "/samples/ref_NukeScript.nk"
6
- PREAMBLE = 'version 5.1200
7
- Root {
8
- inputs 0
9
- frame 1
10
- last_frame 1
11
- }
12
- Constant {
13
- inputs 0
14
- channels rgb
15
- format "1080 720 0 0 1080 720 1"
16
- name CompSize_1080x720
17
- postage_stamp false
18
- xpos 0
19
- ypos -60
20
- }'
21
- def test_export_output_written
22
- ensure_same_output Tracksperanto::Export::NukeScript, TEST_FILE
23
- end
24
-
25
- def test_exporter_meta
26
- assert_equal "nuke.nk", Tracksperanto::Export::NukeScript.desc_and_extension
27
- assert_equal "Nuke .nk script", Tracksperanto::Export::NukeScript.human_name
28
- end
29
-
30
- def test_tuples_to_curves
31
- tuples = [[6, 234, 145], [8, 144, 223], [9, 231, 189], [10, 232, 190]]
32
- x = Tracksperanto::Export::NukeScript.new(StringIO.new)
33
- curves = x.send(:curves_from_tuples, tuples)
34
- assert_equal "{curve i x6 234.0000 x8 144.0000 x9 231.0000 232.0000} {curve i x6 145.0000 x8 223.0000 x9 189.0000 190.0000}", curves
35
- end
36
-
37
- def test_compsize_not_overridden
38
- o = StringIO.new
39
- x = Tracksperanto::Export::NukeScript.new(o)
40
- x.start_export(1080, 720)
41
- x.end_export
42
- assert_equal PREAMBLE, o.string.strip
43
- end
44
-
45
- end
@@ -1,16 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
-
3
- class PFMatchitExportTest < Test::Unit::TestCase
4
- include ParabolicTracks
5
-
6
- def test_desc_and_ext
7
- assert_equal "PFTrack2011/PFMatchit .txt file (single camera)", Tracksperanto::Export::PFMatchit.human_name
8
- assert_equal "pftrack_2011_pfmatchit.txt", Tracksperanto::Export::PFMatchit.desc_and_extension
9
- end
10
-
11
- P = File.dirname(__FILE__) + "/samples/ref_PFMatchit.2dt"
12
-
13
- def test_export_output_written
14
- ensure_same_output Tracksperanto::Export::PFMatchit, P
15
- end
16
- end