tracksperanto 1.6.5 → 1.6.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. data/History.txt +4 -0
  2. data/Manifest.txt +27 -31
  3. data/lib/import/shake_grammar/catcher.rb +3 -1
  4. data/lib/import/shake_script.rb +10 -0
  5. data/lib/tracksperanto.rb +1 -1
  6. data/test/import/.DS_Store +0 -0
  7. data/test/import/samples/.DS_Store +0 -0
  8. data/test/import/samples/{3de_export_v3.txt → 3de_v3/3de_export_v3.txt} +0 -0
  9. data/test/import/samples/{3de_export_cube.txt → 3de_v4/3de_export_cube.txt} +0 -0
  10. data/test/import/samples/{boujou_txt_export.txt → boujou_features_text/boujou_txt_export.txt} +0 -0
  11. data/test/import/samples/{fromCombustion_fromMidClip_wSnap.stabilizer → flame_stabilizer/fromCombustion_fromMidClip_wSnap.stabilizer} +0 -0
  12. data/test/import/samples/{hugeFlameSetup.stabilizer → flame_stabilizer/hugeFlameSetup.stabilizer} +0 -0
  13. data/test/import/samples/{megaTrack.action.3dtrack.stabilizer → flame_stabilizer/megaTrack.action.3dtrack.stabilizer} +0 -0
  14. data/test/import/samples/{kipPointsMatchmover.rz2 → match_mover/kipPointsMatchmover.rz2} +0 -0
  15. data/test/import/samples/{mayalive_kipShot.txt → mayalive/mayalive_kipShot.txt} +0 -0
  16. data/test/import/samples/{018.nk → nuke/018.nk} +0 -0
  17. data/test/import/samples/{one_tracker_with_break.nk → nuke/one_tracker_with_break.nk} +0 -0
  18. data/test/import/samples/{one_tracker_with_break_in_grp.nk → nuke/one_tracker_with_break_in_grp.nk} +0 -0
  19. data/test/import/samples/{sourcefile_pftrack.2dt → pftrack4/sourcefile_pftrack.2dt} +0 -0
  20. data/test/import/samples/{garage.2dt → pftrack5/garage.2dt} +0 -0
  21. data/test/import/samples/{four_tracks_in_one_matchmove.shk → shake_script/four_tracks_in_one_matchmove.shk} +0 -0
  22. data/test/import/samples/{four_tracks_in_one_stabilizer.shk → shake_script/four_tracks_in_one_stabilizer.shk} +0 -0
  23. data/test/import/samples/{shake_script_from_boujou.shk → shake_script/shake_script_from_boujou.shk} +0 -0
  24. data/test/import/samples/{shake_tracker_nodes.shk → shake_script/shake_tracker_nodes.shk} +0 -0
  25. data/test/import/samples/{shake_tracker_with_no_anim.shk → shake_script/shake_tracker_with_no_anim.shk} +0 -0
  26. data/test/import/samples/{shake_trackers_with_Nspline.shk → shake_script/shake_trackers_with_Nspline.shk} +0 -0
  27. data/test/import/samples/shake_script/stabilize_nodes_with_hermite.shk +330 -0
  28. data/test/import/samples/{three_tracks_in_one_stabilizer.shk → shake_script/three_tracks_in_one_stabilizer.shk} +0 -0
  29. data/test/import/samples/{two_tracks_in_one_tracker.shk → shake_script/two_tracks_in_one_tracker.shk} +0 -0
  30. data/test/import/samples/{one_shake_tracker.txt → shake_text/one_shake_tracker.txt} +0 -0
  31. data/test/import/samples/{one_shake_tracker_from_first.txt → shake_text/one_shake_tracker_from_first.txt} +0 -0
  32. data/test/import/samples/{two_shake_trackers.txt → shake_text/two_shake_trackers.txt} +0 -0
  33. data/test/import/samples/{flyover2DP_syntheyes.txt → syntheyes_2d_paths/flyover2DP_syntheyes.txt} +0 -0
  34. data/test/import/samples/{shake_tracker_nodes_to_syntheyes.txt → syntheyes_2d_paths/shake_tracker_nodes_to_syntheyes.txt} +0 -0
  35. data/test/import/test_3de_import.rb +1 -1
  36. data/test/import/test_3de_import3.rb +1 -1
  37. data/test/import/test_boujou_import.rb +1 -1
  38. data/test/import/test_flame_import.rb +3 -3
  39. data/test/import/test_match_mover_import.rb +1 -1
  40. data/test/import/test_maya_live_import.rb +2 -2
  41. data/test/import/test_nuke_import.rb +3 -3
  42. data/test/import/test_pftrack_import.rb +2 -2
  43. data/test/import/test_shake_catcher.rb +20 -4
  44. data/test/import/test_shake_lexer.rb +13 -2
  45. data/test/import/test_shake_script_import.rb +23 -8
  46. data/test/import/test_shake_text_import.rb +2 -2
  47. data/test/import/test_syntheyes_import.rb +1 -1
  48. metadata +29 -33
  49. data/.DS_Store +0 -0
  50. data/lib/.DS_Store +0 -0
  51. data/test/.DS_Store +0 -0
  52. data/test/export/.DS_Store +0 -0
  53. data/test/export/samples/ref_NukeScript.nk.autosave +0 -77
data/History.txt CHANGED
@@ -1,3 +1,7 @@
1
+ === 1.6.6 / 2009-12-07
2
+
3
+ * Handle Hermite cuves in Shake scripts
4
+
1
5
  === 1.6.5 / 2009-11-27
2
6
 
3
7
  * Adds the --only option for the tracksperanto binary to only export a specific format
data/Manifest.txt CHANGED
@@ -1,10 +1,8 @@
1
- .DS_Store
2
1
  History.txt
3
2
  Manifest.txt
4
3
  README.txt
5
4
  Rakefile
6
5
  bin/tracksperanto
7
- lib/.DS_Store
8
6
  lib/export/base.rb
9
7
  lib/export/equalizer3.rb
10
8
  lib/export/equalizer4.rb
@@ -50,13 +48,10 @@ lib/tracksperanto/simple_export.rb
50
48
  lib/tracksperanto/tracker.rb
51
49
  lib/tracksperanto/uv_coordinates.rb
52
50
  lib/tracksperanto/zip_tuples.rb
53
- test/.DS_Store
54
- test/export/.DS_Store
55
51
  test/export/README_EXPORT_TESTS.txt
56
52
  test/export/samples/ref_Mayalive.txt
57
53
  test/export/samples/ref_Mayalive_CustomAspect.txt
58
54
  test/export/samples/ref_NukeScript.nk
59
- test/export/samples/ref_NukeScript.nk.autosave
60
55
  test/export/samples/ref_PFTrack.2dt
61
56
  test/export/samples/ref_PFTrack5.2dt
62
57
  test/export/samples/ref_ShakeText.txt
@@ -77,32 +72,33 @@ test/export/test_syntheyes_export.rb
77
72
  test/helper.rb
78
73
  test/import/.DS_Store
79
74
  test/import/samples/.DS_Store
80
- test/import/samples/018.nk
81
- test/import/samples/3de_export_cube.txt
82
- test/import/samples/3de_export_v3.txt
83
- test/import/samples/boujou_txt_export.txt
84
- test/import/samples/flyover2DP_syntheyes.txt
85
- test/import/samples/four_tracks_in_one_matchmove.shk
86
- test/import/samples/four_tracks_in_one_stabilizer.shk
87
- test/import/samples/fromCombustion_fromMidClip_wSnap.stabilizer
88
- test/import/samples/garage.2dt
89
- test/import/samples/hugeFlameSetup.stabilizer
90
- test/import/samples/kipPointsMatchmover.rz2
91
- test/import/samples/mayalive_kipShot.txt
92
- test/import/samples/megaTrack.action.3dtrack.stabilizer
93
- test/import/samples/one_shake_tracker.txt
94
- test/import/samples/one_shake_tracker_from_first.txt
95
- test/import/samples/one_tracker_with_break.nk
96
- test/import/samples/one_tracker_with_break_in_grp.nk
97
- test/import/samples/shake_script_from_boujou.shk
98
- test/import/samples/shake_tracker_nodes.shk
99
- test/import/samples/shake_tracker_nodes_to_syntheyes.txt
100
- test/import/samples/shake_tracker_with_no_anim.shk
101
- test/import/samples/shake_trackers_with_Nspline.shk
102
- test/import/samples/sourcefile_pftrack.2dt
103
- test/import/samples/three_tracks_in_one_stabilizer.shk
104
- test/import/samples/two_shake_trackers.txt
105
- test/import/samples/two_tracks_in_one_tracker.shk
75
+ test/import/samples/3de_v3/3de_export_v3.txt
76
+ test/import/samples/3de_v4/3de_export_cube.txt
77
+ test/import/samples/boujou_features_text/boujou_txt_export.txt
78
+ test/import/samples/flame_stabilizer/fromCombustion_fromMidClip_wSnap.stabilizer
79
+ test/import/samples/flame_stabilizer/hugeFlameSetup.stabilizer
80
+ test/import/samples/flame_stabilizer/megaTrack.action.3dtrack.stabilizer
81
+ test/import/samples/match_mover/kipPointsMatchmover.rz2
82
+ test/import/samples/mayalive/mayalive_kipShot.txt
83
+ test/import/samples/nuke/018.nk
84
+ test/import/samples/nuke/one_tracker_with_break.nk
85
+ test/import/samples/nuke/one_tracker_with_break_in_grp.nk
86
+ test/import/samples/pftrack4/sourcefile_pftrack.2dt
87
+ test/import/samples/pftrack5/garage.2dt
88
+ test/import/samples/shake_script/four_tracks_in_one_matchmove.shk
89
+ test/import/samples/shake_script/four_tracks_in_one_stabilizer.shk
90
+ test/import/samples/shake_script/shake_script_from_boujou.shk
91
+ test/import/samples/shake_script/shake_tracker_nodes.shk
92
+ test/import/samples/shake_script/shake_tracker_with_no_anim.shk
93
+ test/import/samples/shake_script/shake_trackers_with_Nspline.shk
94
+ test/import/samples/shake_script/stabilize_nodes_with_hermite.shk
95
+ test/import/samples/shake_script/three_tracks_in_one_stabilizer.shk
96
+ test/import/samples/shake_script/two_tracks_in_one_tracker.shk
97
+ test/import/samples/shake_text/one_shake_tracker.txt
98
+ test/import/samples/shake_text/one_shake_tracker_from_first.txt
99
+ test/import/samples/shake_text/two_shake_trackers.txt
100
+ test/import/samples/syntheyes_2d_paths/flyover2DP_syntheyes.txt
101
+ test/import/samples/syntheyes_2d_paths/shake_tracker_nodes_to_syntheyes.txt
106
102
  test/import/test_3de_import.rb
107
103
  test/import/test_3de_import3.rb
108
104
  test/import/test_boujou_import.rb
@@ -45,7 +45,9 @@ module Tracksperanto::ShakeGrammar
45
45
  def unwrap_atom(atom)
46
46
  kind = atom.shift
47
47
  case kind
48
- when :retval, :atom_i, :atom_c, :atom_f
48
+ when :arr
49
+ atom.map{|e| unwrap_atom(e)}
50
+ when :retval, :atom_i, :atom_c, :atom_f, :atom_at_i, :atom_at_f
49
51
  atom.shift
50
52
  else
51
53
  :unknown
@@ -32,6 +32,16 @@ class Tracksperanto::Import::ShakeScript < Tracksperanto::Import::Base
32
32
  alias_method :nspline, :linear
33
33
  alias_method :jspline, :linear
34
34
 
35
+ # Hermite interpolation looks like this
36
+ # Hermite(0,[1379.04,-0.02,-0.02]@1,[1379.04,-0.03,-0.03]@2)
37
+ # The first value in the array is the keyframe value, the other two are
38
+ # tangent positions (which we discard)
39
+ def hermite(initial_value, *keyframes)
40
+ report_progress("Translating Hermite curve, removing tangents")
41
+ values, at_frames = keyframes.partition{|e| e.is_a?(Array)}
42
+ values = values.map{|v| v[0] }
43
+ at_frames.zip(values)
44
+ end
35
45
 
36
46
  # image Tracker(
37
47
  # image In,
data/lib/tracksperanto.rb CHANGED
@@ -4,7 +4,7 @@ require 'tempfile'
4
4
 
5
5
  module Tracksperanto
6
6
  PATH = File.expand_path(File.dirname(__FILE__))
7
- VERSION = '1.6.5'
7
+ VERSION = '1.6.6'
8
8
 
9
9
  module Import; end
10
10
  module Export; end
Binary file
Binary file
File without changes
@@ -0,0 +1,330 @@
1
+ // CinesiteShake v4.10.0325 (Revision 58) - (c) Apple Computer, Inc. 1998-2006. All Rights Reserved.
2
+ // Apple, the Apple logo and Shake are trademarks of Apple Computer, Inc., registered in the U.S. and other countries.
3
+
4
+
5
+ SetTimeRange("1");
6
+ SetFieldRendering(0);
7
+ SetFps(24);
8
+ SetMotionBlur(1, 1, 0);
9
+ SetQuality(1);
10
+ SetUseProxy("Base");
11
+ SetProxyFilter("lanczos");
12
+ SetPixelScale(1, 1);
13
+ SetUseProxyOnMissing(1);
14
+ SetDefaultWidth(2048);
15
+ SetDefaultHeight(1556);
16
+ SetDefaultBytes(1);
17
+ SetDefaultAspect(0.5);
18
+ SetDefaultViewerAspect(2);
19
+ SetMacroCheck(1);
20
+ SetTimecodeMode("24 FPS");
21
+
22
+ DefineProxyPath("No_Precomputed_Proxy", 1, 1, -1, "Auto", -1, 0, 0, "",1);
23
+ DefineProxyPath("No_Precomputed_Proxy", 0.5, 1, 1, "Auto", 0, 0, 1, "");
24
+ DefineProxyPath("No_Precomputed_Proxy", 0.25, 1, 1, "Auto", 0, 0, 2, "");
25
+ DefineProxyPath("No_Precomputed_Proxy", 0.1, 1, 1, "Auto", 0, 0, 3, "");
26
+ SetAudio("100W@E0000qFdsuHW962Dl9BOW0mWa06w7mCJ000000000008");
27
+
28
+ // Processing nodes
29
+
30
+ Stabilize1 = Stabilize(0, 1, 1, "1 point", Linear(0,1482.85@1,1473.04@6,1473.48@7,1475.82@8,1480.18@9,1485.63@10,1493.31@11,1501.31@12,1509.88@13,1519.6@14,1529.45@15,1538.87@16,1548.35@17,1556.05@18,1563.19@19,1568.6@20,1573.65@21,1576.79@22,1578.32@23,1578.3@24,1575.72@25,1571.13@26,1564.74@27,1556.47@28,1550.24@29,1548.19@30,1549.74@31,1552.23@32,1554.71@33,1557.78@34,1558.19@35,1559@36,1568.14@37,1568.71@38,1580.98@39,1592.6@40,1610.64@41,1636.27@42,1656.39@43,1656.52@44,1665.61@45,1685.82@46,1681.01@47,1663.98@48,1673.77@49,1687.52@50,1691.88@51,1642.78@52,1638.36@53,1607.13@54,1585.63@55,1570.96@56,1541.33@57,1530.94@58,1518.5@59,1506.47@60,1496.46@61,1485.54@62,1472.46@63,1460.45@64,1448.45@65,1433.83@66,1417.37@67,1401.95@68,1387.9@69,1373.49@70,1359.16@71,1342.72@72,1325.53@73,1306.85@74,1290.76@75,1272.53@76,1256.72@77),
31
+ Linear(0,1151.79@1,1209.82@6,1231.55@7,1255.59@8,1280.1@9,1301.24@10,1319.18@11,1334.35@12,1346.05@13,1355.15@14,1363.34@15,1370.23@16,1375.18@17,1380.87@18,1388.84@19,1392.1@20,1395.62@21,1396.54@22,1396.01@23,1397.1@24,1402.6@25,1410.6@26,1419.57@27,1434.6@28,1453.73@29,1473.51@30,1496.59@31,1519.85@32,1542.81@33,1562.98@34,1577.64@35,1583.73@36,1597.78@37,1597.64@38,1615.98@39,1628.57@40,1640.27@41,1627.88@42,1634.01@43,1634.92@44,1638.94@45,1655.99@46,1640.01@47,1612.15@48,1625.02@49,1624.2@50,1610.74@51,1629.86@52,1635.24@53,1617.1@54,1615.36@55,1622.29@56,1608.88@57,1600.56@58,1590.66@59,1570.97@60,1569.32@61,1566.15@62,1564.82@63,1546@64,1536.16@65,1531.51@66,1528.55@67,1521.88@68,1518.21@69,1516.88@70,1515.27@71,1519.28@72,1527.64@73,1534.33@74,1546.51@75,1560.86@76,1569.04@77),
32
+ 1, 1, 2*width/3, height/3, 0, 0, 2*width/3, 2*height/3, width/3,
33
+ 2*height/3, "default", xFilter, "trsx", 0, 0.5, 0, 19, 1,
34
+ 0, 0.5, "v2.0", 37, "1/64", "luminance", 0.3, 0.59, 0.11,
35
+ 0.75, "update from keyframes", 0.5, "stop", 0, 0, 25, "track1",
36
+ 1548.51672, 1587.68591, 1556.843, 1635.72656, 1503.41406,
37
+ 1632.78857, 1470.94934, 1724.55762, "track2", 1313.46667,
38
+ 1417.20007, 466.800018, 570.5333, 1261.6001, 1469.06665,
39
+ 414.93335, 622.4, "track3", 1313.46667, 1417.20007, 985.466736,
40
+ 1089.20007, 1261.6001, 1469.06665, 933.600037, 1141.06665,
41
+ "track4", 630.800049, 734.5333, 985.466736, 1089.20007, 578.93335,
42
+ 786.4, 933.600037, 1141.06665);
43
+ Stabilize2 = Stabilize(0, 1, 1, "1 point", Hermite(0,[1379.04,-0.02,-0.02]@1,[1379.04,-0.03,-0.03]@2,[1379.04,0,0]@5,[1379.04,0.38,0.38]@6,[1379.66,49.67,49.67]@7,[1382.13,81.24,81.24]@8,[1387.07,88.52,88.52]@9,[1393.24,91.34,91.34]@10,[1402.19,92.92,92.92]@11,[1411.14,93.43,93.43]@12,[1421.63,94.04,94.04]@13,[1432.43,94.2,94.2]@14,[1443.54,94.2,94.2]@15,[1454.34,94.12,94.12]@16,[1465.13,93.85,93.85]@17,[1475,93.12,93.12]@18,[1483.64,90.95,90.95]@19,[1489.5,89.97,89.97]@20,[1496.29,88.98,88.98]@21,[1501.23,87.28,87.28]@22,[1506.17,0,0]@23,[1506.17,-0.37,-0.37]@24,[1505.55,-51.1,-51.1]@25,[1502.46,-83.21,-83.21]@26,[1497.83,-88.34,-88.34]@27,[1491.35,-87.87,-87.87]@28,[1487.03,-33.11,-33.11]@29,[1486.72,0,0]@30,[1489.19,79.26,79.26]@31,[1492.89,84.82,84.82]@32,[1497.52,85.45,85.45]@33,[1501.53,32.9,32.9]@34,[1501.84,30.03,30.03]@35,[1503.38,59.82,59.82]@36,[1504.61,68.43,68.43]@37,[1508.31,86.45,86.45]@38,[1514.48,91.21,91.21]@39,[1523.11,93.55,93.55]@40,[1534.53,94.51,94.51]@41,[1546.25,94.08,94.08]@42,[1556.12,91.11,91.11]@43,[1561.67,84.28,84.28]@44,[1564.76,76.11,76.11]@45,[1566.92,63.95,63.95]@46,[1568.15,51.79,51.79]@47,[1569.08,54.55,54.55]@48,[1570.62,0,0]@49,[1570,-45.91,-45.91]@50,[1568.46,-75.72,-75.72]@51,[1561.98,-91.58,-91.58]@52,[1553.03,-93.6,-93.6]@53,[1541.92,-94.5,-94.5]@54,[1529.89,-94.24,-94.24]@55,[1519.71,-93.46,-93.46]@56,[1510.45,-93.46,-93.46]@57,[1500.27,-93.22,-93.22]@58,[1491.63,-92.66,-92.66]@59,[1482.99,-92.06,-92.06]@60,[1475.59,-92.18,-92.18]@61,[1466.64,-93.74,-93.74]@62,[1454.92,-94.58,-94.58]@63,[1443.2,-94.17,-94.17]@64,[1433.02,-94.69,-94.69]@65,[1418.52,-95.71,-95.71]@66,[1403.4,-95.66,-95.66]@67,[1389.21,-95.52,-95.52]@68,[1375.02,-95.25,-95.25]@69,[1362.37,-95.2,-95.2]@70,[1348.49,-95.52,-95.52]@71,[1333.99,-96.02,-96.02]@72,[1316.16,-96.27,-96.27]@73,[1299.82,-96.27,-96.27]@74,[1281.99,-96.53,-96.53]@75,[1263.17,-96.42,-96.42]@76,[1246.33,-96.22,-96.22]@77),
44
+ Hermite(0,[825.816,93.95,93.95]@1,[836.306,93.55,93.55]@2,[864.074,94.66,94.66]@5,[880.735,96.7,96.7]@6,[903.567,97.35,97.35]@7,[928.867,97.35,97.35]@8,[951.699,97.21,97.21]@9,[974.531,96.83,96.83]@10,[992.426,96.24,96.24]@11,[1008.47,95.44,95.44]@12,[1020.81,93.76,93.76]@13,[1029.45,92.66,92.66]@14,[1038.09,92.39,92.39]@15,[1046.11,90.38,90.38]@16,[1051.67,89.68,89.68]@17,[1058.46,91.92,91.92]@18,[1067.72,90.9,90.9]@19,[1073.27,84.27,84.27]@20,[1076.36,67.17,67.17]@21,[1077.59,65.28,65.28]@22,[1080.06,49.68,49.68]@23,[1080.68,54.01,54.01]@24,[1087.47,92.12,92.12]@25,[1097.34,93.57,93.57]@26,[1107.21,94.88,94.88]@27,[1123.87,96.48,96.48]@28,[1143.62,96.92,96.92]@29,[1165.22,97.17,97.17]@30,[1188.67,97.35,97.35]@31,[1213.35,97.32,97.32]@32,[1236.18,97.38,97.38]@33,[1262.1,97.34,97.34]@34,[1284.31,97.17,97.17]@35,[1307.14,97.09,97.09]@36,[1328.12,96.92,96.92]@37,[1348.48,97.04,97.04]@38,[1371.31,96.63,96.63]@39,[1387.35,94.59,94.59]@40,[1396.61,86.46,86.46]@41,[1399.7,82.75,82.75]@42,[1404.02,88.78,88.78]@43,[1412.04,88.79,88.79]@44,[1416.36,0,0]@45,[1415.13,-69.43,-69.43]@46,[1410.81,-88.78,-88.78]@47,[1402.79,-83.53,-83.53]@48,[1400.32,-49.67,-49.67]@49,[1399.7,-49.65,-49.65]@50,[1397.23,-83.99,-83.99]@51,[1387.98,-94.12,-94.12]@52,[1375.02,-95.1,-95.1]@53,[1362.06,-93.27,-93.27]@54,[1354.66,-91.08,-91.08]@55,[1347.87,-85.25,-85.25]@56,[1344.78,-67.15,-67.15]@57,[1343.55,-69.44,-69.44]@58,[1339.23,-89.06,-89.06]@59,[1330.59,-93.88,-93.88]@60,[1317.63,-95.71,-95.71]@61,[1300.35,-95.59,-95.59]@62,[1288.01,-94.85,-94.85]@63,[1275.67,-93.75,-93.75]@64,[1267.03,-90.65,-90.65]@65,[1261.48,-85.9,-85.9]@66,[1257.78,-85.9,-85.9]@67,[1252.23,-85.9,-85.9]@68,[1248.53,-75.46,-75.46]@69,[1246.68,-62.18,-62.18]@70,[1245.45,0,0]@71,[1247.3,80.29,80.29]@72,[1257.21,91.48,91.48]@73,[1263.15,91.77,91.77]@74,[1274.05,95.4,95.4]@75,[1292.87,96.17,96.17]@76,[1307.73,95.72,95.72]@77),
45
+ 1, 1, 2*width/3, height/3, 0, 0, 2*width/3, 2*height/3, width/3,
46
+ 2*height/3, "default", xFilter, "trsx", 0, 0.5, 0, 19, 1,
47
+ 0, 0.5, "v2.0", 1, "1/64", "luminance", 0.3, 0.59, 0.11,
48
+ 0.75, "use start frame", 0.5, "stop", 0, 0, 25, "track1",
49
+ 1359.35632, 1398.70728, 785.866638, 865.828064, 1275.29846,
50
+ 1482.76514, 722.113953, 929.58075, "track2", 1313.46667,
51
+ 1417.20007, 466.800018, 570.5333, 1261.6001, 1469.06665,
52
+ 414.93335, 622.4, "track3", 1313.46667, 1417.20007, 985.466736,
53
+ 1089.20007, 1261.6001, 1469.06665, 933.600037, 1141.06665,
54
+ "track4", 630.800049, 734.5333, 985.466736, 1089.20007, 578.93335,
55
+ 786.4, 933.600037, 1141.06665);
56
+ Stabilize3 = Stabilize(0, 1, 1, "1 point", Hermite(0,[1087.13,-16.68,-16.68]@1,[1086.86,-27.43,-27.43]@2,[1085.25,-68.31,-68.31]@3,[1083.1,-45.33,-45.33]@4,[1082.56,-15.52,-15.52]@5,[1082.4,0,0]@6,[1082.83,41.96,41.96]@7,[1095.44,88.95,88.95]@10,[1104.3,92.94,92.94]@11,[1113.42,93.33,93.33]@12,[1123.35,93.85,93.85]@13,[1134.08,94.01,94.01]@14,[1144.55,94.08,94.08]@15,[1155.55,94.16,94.16]@16,[1166.28,93.47,93.47]@17,[1175.14,92.49,92.49]@18,[1183.19,91.7,91.7]@19,[1190.44,90.52,90.52]@20,[1196.61,88.01,88.01]@21,[1201.17,83.52,83.52]@22,[1204.39,68.97,68.97]@23,[1205.73,0,0]@24,[1204.92,-57.96,-57.96]@25,[1201.7,-83.51,-83.51]@26,[1197.14,-88.41,-88.41]@27,[1190.43,-88.41,-88.41]@28,[1185.87,-30.05,-30.05]@29,[1185.6,0,0]@30,[1188.55,82.26,82.26]@31,[1192.84,85.84,85.84]@32,[1197.4,84.25,84.25]@33,[1200.89,58.42,58.42]@34,[1201.7,53.05,53.05]@35,[1205.19,74.17,74.17]@37,[1208.68,86.16,86.16]@38,[1215.12,91.62,91.62]@39,[1224.25,93.84,93.84]@40,[1236.06,94.62,94.62]@41,[1247.87,94.11,94.11]@42,[1257.8,91.69,91.69]@43,[1263.97,86.57,86.57]@44,[1267.73,80.3,80.3]@45,[1270.41,77.26,77.26]@46,[1273.09,63.13,63.13]@47,[1274.16,63.15,63.15]@48,[1276.84,46.39,46.39]@49,[1277.38,0,0]@50,[1275.5,-77.1,-77.1]@51,[1270.94,-89.3,-89.3]@52,[1262.62,-93.08,-93.08]@53,[1252.42,-93.6,-93.6]@54,[1242.76,-93.43,-93.43]@55,[1233.1,-93.24,-93.24]@56,[1223.98,-92.46,-92.46]@57,[1216.2,-92.13,-92.13]@58,[1207.88,-91.83,-91.83]@59,[1200.63,-90.73,-90.73]@60,[1194.19,-91.03,-91.03]@61,[1186.41,-92.74,-92.74]@62,[1176.48,-93.69,-93.69]@63,[1166.28,-93.78,-93.78]@64,[1156.08,-94.47,-94.47]@65,[1142.93,-95.07,-95.07]@66,[1130.32,-95.11,-95.11]@67,[1116.9,-95.17,-95.17]@68,[1104.02,-94.96,-94.96]@69,[1091.67,-94.85,-94.85]@70,[1079.33,-95.24,-95.24]@71,[1064.83,-95.69,-95.69]@72,[1049.8,-95.94,-95.94]@73,[1033.43,-96.18,-96.18]@74,[1016.52,-96.38,-96.38]@75,[998.268,-96.18,-96.18]@76,[982.971,-95.84,-95.84]@77),
57
+ Hermite(0,[661.899,31.38,31.38]@1,[662.436,46.48,46.48]@2,[665.12,85.12,85.12]@3,[674.782,94.25,94.25]@4,[687.663,95.71,95.71]@5,[705.145,96.72,96.72]@6,[726.845,97.21,97.21]@7,[798.768,96.98,96.98]@10,[817.554,96.33,96.33]@11,[833.656,95.75,95.75]@12,[847.611,94.44,94.44]@13,[857.272,92.5,92.5]@14,[864.786,92.68,92.68]@15,[874.984,89.56,89.56]@16,[879.278,89.39,89.39]@17,[888.939,92.78,92.78]@18,[896.991,92.59,92.59]@19,[906.116,89.2,89.2]@20,[910.41,83.11,83.11]@21,[913.631,0,0]@22,[913.631,0,0]@23,[916.314,85.12,85.12]@24,[925.975,93.61,93.61]@25,[936.173,94.2,94.2]@26,[947.981,95.46,95.46]@27,[965.157,96.63,96.63]@28,[986.09,97.1,97.1]@29,[1009.17,97.41,97.41]@30,[1035.47,97.61,97.61]@31,[1062.31,97.55,97.55]@32,[1087.54,97.42,97.42]@33,[1111.69,97.39,97.39]@34,[1136.38,97.28,97.28]@35,[1180.93,97.19,97.19]@37,[1204.01,97.21,97.21]@38,[1226.55,96.68,96.68]@39,[1243.19,95.27,95.27]@40,[1254.46,92.27,92.27]@41,[1260.9,87.79,87.79]@42,[1265.19,89.39,89.39]@43,[1274.85,90.84,90.84]@44,[1280.22,49.4,49.4]@45,[1280.76,0,0]@46,[1275.4,-88.27,-88.27]@47,[1270.03,-82.66,-82.66]@48,[1267.35,0,0]@49,[1268.42,0,0]@50,[1267.35,-69.32,-69.32]@51,[1258.76,-93.94,-93.94]@52,[1245.34,-95.26,-95.26]@53,[1231.92,-93.41,-93.41]@54,[1224.41,-86.11,-86.11]@55,[1221.19,-47.53,-47.53]@56,[1220.65,-31.52,-31.52]@57,[1220.11,-45.31,-45.31]@58,[1217.96,-81.73,-81.73]@59,[1209.91,-93.49,-93.49]@60,[1197.57,-95.45,-95.45]@61,[1181.47,-95.34,-95.34]@62,[1169.66,-94.03,-94.03]@63,[1160,-93.24,-93.24]@64,[1150.88,-86.83,-86.83]@65,[1147.66,-76.44,-76.44]@66,[1145.51,-79.34,-79.34]@67,[1140.68,-83.89,-83.89]@68,[1137.46,-47.35,-47.35]@69,[1136.92,-43.16,-43.16]@70,[1135.31,0,0]@71,[1140.14,90.01,90.01]@72,[1149.26,92.59,92.59]@73,[1157.31,93.37,93.37]@74,[1169.11,95.33,95.33]@75,[1185.21,96.18,96.18]@76,[1202.39,96.3,96.3]@77),
58
+ 1, 1, 2*width/3, height/3, 0, 0, 2*width/3, 2*height/3, width/3,
59
+ 2*height/3, "default", xFilter, "trsx", 0, 0.5, 0, 19, 1,
60
+ 0, 0.5, "v2.0", 1, "1/64", "luminance", 0.3, 0.59, 0.11,
61
+ 0.75, "use start frame", 0.5, "stop", 0, 0, 25, "track1",
62
+ 1066.0918, 1108.10022, 619.1574, 704.6417, 1032.47424, 1141.7179,
63
+ 571.584656, 752.2145, "track2", 1313.46667, 1417.20007, 466.800018,
64
+ 570.5333, 1261.6001, 1469.06665, 414.93335, 622.4, "track3",
65
+ 1313.46667, 1417.20007, 985.466736, 1089.20007, 1261.6001,
66
+ 1469.06665, 933.600037, 1141.06665, "track4", 630.800049,
67
+ 734.5333, 985.466736, 1089.20007, 578.93335, 786.4, 933.600037,
68
+ 1141.06665);
69
+
70
+
71
+ // User Interface settings
72
+
73
+ SetKey(
74
+ "colorPicker.hex", "0",
75
+ "colorPicker.range", "32",
76
+ "globals.cacheMode", "1",
77
+ "globals.consoleLineLength", "120",
78
+ "globals.displayThumbnails", "1",
79
+ "globals.enhancedNodeView", "0",
80
+ "globals.fileBrowser.favorites", "/vdisk/COT/sb_050/1310/comp/work_andre/;$HOME;/home/andre//nreal/;/usr/nreal/shake-v4.10/;/usr/nreal/shake-v4.10/doc/pix/; ---- ;/vdisk/COT/sb_050/1310/;/vdisk/COT/sb_050/1310/comp/;/vdisk/COT/sb_050/1310/comp/work_andre/scripts/;/vdisk/COT/sb_050/1310/comp/remote_images/;/vdisk/COT/sb_050/1310/comp/work_andre/local_images/;/hosts/nassau/images/COT/sb_050/1310/;",
81
+ "globals.fileBrowserExactList", "0",
82
+ "globals.fileBrowserFilterList", "1",
83
+ "globals.fileBrowserFullList", "0",
84
+ "globals.fileBrowserHeight", "540",
85
+ "globals.fileBrowserImageList", "0",
86
+ "globals.fileBrowserLC1", "230",
87
+ "globals.fileBrowserLC2", "70",
88
+ "globals.fileBrowserLC3", "110",
89
+ "globals.fileBrowserLC4", "245",
90
+ "globals.fileBrowserLC5", "175",
91
+ "globals.fileBrowserLC6", "65",
92
+ "globals.fileBrowserLC7", "111",
93
+ "globals.fileBrowserRIntSet", "0",
94
+ "globals.fileBrowserSC1", "211",
95
+ "globals.fileBrowserSC2", "211",
96
+ "globals.fileBrowserSC3", "211",
97
+ "globals.fileBrowserSeqList", "0",
98
+ "globals.fileBrowserShortList", "0",
99
+ "globals.fileBrowserWIntSet", "1",
100
+ "globals.fileBrowserWidth", "790",
101
+ "globals.fileBrowserfullPath", "0",
102
+ "globals.fontBlue", "1",
103
+ "globals.fontGreen", "1",
104
+ "globals.fontRed", "1",
105
+ "globals.gridBlue", "0.15",
106
+ "globals.gridEnabled", "0",
107
+ "globals.gridGreen", "0.15",
108
+ "globals.gridHeight", "40",
109
+ "globals.gridRed", "0.15",
110
+ "globals.gridVisible", "0",
111
+ "globals.gridWidth", "40",
112
+ "globals.layoutTightness", "40",
113
+ "globals.multiPlaneLocatorScale", "1",
114
+ "globals.noodleABlue", "1",
115
+ "globals.noodleAGreen", "1",
116
+ "globals.noodleARed", "1",
117
+ "globals.noodleAZBlue", "0.4",
118
+ "globals.noodleAZGreen", "0",
119
+ "globals.noodleAZRed", "0",
120
+ "globals.noodleBWABlue", "0.4",
121
+ "globals.noodleBWAGreen", "0.4",
122
+ "globals.noodleBWARed", "0.4",
123
+ "globals.noodleBWAZBlue", "0.4",
124
+ "globals.noodleBWAZGreen", "0",
125
+ "globals.noodleBWAZRed", "0",
126
+ "globals.noodleBWBlue", "0.15",
127
+ "globals.noodleBWGreen", "0.15",
128
+ "globals.noodleBWRed", "0.15",
129
+ "globals.noodleBWZBlue", "0.4",
130
+ "globals.noodleBWZGreen", "0",
131
+ "globals.noodleBWZRed", "0",
132
+ "globals.noodleBlue", "1",
133
+ "globals.noodleColorCoding", "2",
134
+ "globals.noodleGreen", "1",
135
+ "globals.noodleRGBABlue", "0.7",
136
+ "globals.noodleRGBAGreen", "0.7",
137
+ "globals.noodleRGBARed", "0.7",
138
+ "globals.noodleRGBAZBlue", "1",
139
+ "globals.noodleRGBAZGreen", "0.4",
140
+ "globals.noodleRGBAZRed", "0.4",
141
+ "globals.noodleRGBBlue", "0",
142
+ "globals.noodleRGBGreen", "0.7",
143
+ "globals.noodleRGBRed", "0.7",
144
+ "globals.noodleRGBZBlue", "0.8",
145
+ "globals.noodleRGBZGreen", "0.2",
146
+ "globals.noodleRGBZRed", "0.2",
147
+ "globals.noodleRed", "1",
148
+ "globals.noodleStipple16", "1061109567",
149
+ "globals.noodleStipple32", "-1",
150
+ "globals.noodleStipple8", "-1431655766",
151
+ "globals.noodleTension", "0.25",
152
+ "globals.noodleZBlue", "0.4",
153
+ "globals.noodleZGreen", "0",
154
+ "globals.noodleZRed", "0",
155
+ "globals.paintFrameMode", "1",
156
+ "globals.pdfBrowserPath", ": \"/usr/local/bin/acroread\"",
157
+ "globals.proxyTog.cycle", "-1,0,0,0,0,-1",
158
+ "globals.renderModeTog.cycle", "2,0,0,2",
159
+ "globals.rotoAutoControlScale", "1",
160
+ "globals.rotoBuildColorBlue", "0.75",
161
+ "globals.rotoBuildColorGreen", "0.75",
162
+ "globals.rotoBuildColorRed", "0.375",
163
+ "globals.rotoControlScale", "0.17621097",
164
+ "globals.rotoFocusColorBlue", "0.9375",
165
+ "globals.rotoFocusColorGreen", "0.375",
166
+ "globals.rotoFocusColorRed", "0.5",
167
+ "globals.rotoFocusSelectColorBlue", "0.5",
168
+ "globals.rotoFocusSelectColorGreen", "1",
169
+ "globals.rotoFocusSelectColorRed", "0.5",
170
+ "globals.rotoKeyedColorBlue", "1",
171
+ "globals.rotoKeyedColorGreen", "0.65",
172
+ "globals.rotoKeyedColorRed", "0.45",
173
+ "globals.rotoNormalColorBlue", "0",
174
+ "globals.rotoNormalColorGreen", "0",
175
+ "globals.rotoNormalColorRed", "1",
176
+ "globals.rotoNormalSelectColorBlue", "0.0625",
177
+ "globals.rotoNormalSelectColorGreen", "1",
178
+ "globals.rotoNormalSelectColorRed", "0.0625",
179
+ "globals.rotoPickRadius", "15",
180
+ "globals.rotoTangentColorBlue", "0",
181
+ "globals.rotoTangentColorGreen", "1",
182
+ "globals.rotoTangentColorRed", "0",
183
+ "globals.rotoTangentCreationRadius", "10",
184
+ "globals.rotoTempKeyColorBlue", "0",
185
+ "globals.rotoTempKeyColorGreen", "0.5",
186
+ "globals.rotoTempKeyColorRed", "1",
187
+ "globals.rotoTransformIncrement", "5",
188
+ "globals.showActiveGlows", "2",
189
+ "globals.showConcatenationLinks", "2",
190
+ "globals.showExpressionLinks", "2",
191
+ "globals.showTimeDependency", "2",
192
+ "globals.textureProxy", "1",
193
+ "globals.thumbAlphaBlend", "1",
194
+ "globals.thumbSize", "15",
195
+ "globals.thumbSizeRelative", "0",
196
+ "globals.viewerAspectRatio", "script.defaultViewerAspectRatio",
197
+ "globals.viewerZoom", "1.0/proxyScale",
198
+ "globals.virtualSliderMode", "0",
199
+ "globals.virtualSliderSpeed", "0.25",
200
+ "globals.warpBoundaryNormalColorBlue", "0",
201
+ "globals.warpBoundaryNormalColorGreen", "0.5",
202
+ "globals.warpBoundaryNormalColorRed", "1",
203
+ "globals.warpConnectionNormalColorBlue", "0.8",
204
+ "globals.warpConnectionNormalColorGreen", "0",
205
+ "globals.warpConnectionNormalColorRed", "0.4",
206
+ "globals.warpDisplacedNormalColorBlue", "1",
207
+ "globals.warpDisplacedNormalColorGreen", "0",
208
+ "globals.warpDisplacedNormalColorRed", "1",
209
+ "globals.warpLockedColorBlue", "0.6",
210
+ "globals.warpLockedColorGreen", "0.6",
211
+ "globals.warpLockedColorRed", "0.6",
212
+ "globals.warpSourceNormalColorBlue", "1",
213
+ "globals.warpSourceNormalColorGreen", "0.8",
214
+ "globals.warpSourceNormalColorRed", "0",
215
+ "globals.warpTargetNormalColorBlue", "0.7",
216
+ "globals.warpTargetNormalColorGreen", "0.2",
217
+ "globals.warpTargetNormalColorRed", "0.2",
218
+ "globals.webBrowserPath", ": \"/usr/local/bin/firefox\"",
219
+ "mainQuad.bot", "0.6",
220
+ "mainQuad.left", "0.29",
221
+ "mainQuad.right", "0.35",
222
+ "mainQuad.top", "0.6",
223
+ "mainWin.height", "1142",
224
+ "mainWin.tabChild1", "0.Image",
225
+ "mainWin.tabChild10", "0.GenArts",
226
+ "mainWin.tabChild11", "0.COT",
227
+ "mainWin.tabChild12", "0.CsTools",
228
+ "mainWin.tabChild13", "0.CsColourTools",
229
+ "mainWin.tabChild14", "0.CsMtools",
230
+ "mainWin.tabChild15", "0.ParanoiaFX",
231
+ "mainWin.tabChild16", "0.User",
232
+ "mainWin.tabChild17", "0.Curve_Editor_2",
233
+ "mainWin.tabChild18", "0.Node_View_2",
234
+ "mainWin.tabChild19", "0.Time_View",
235
+ "mainWin.tabChild2", "0.Color",
236
+ "mainWin.tabChild20", "1.Parameters1",
237
+ "mainWin.tabChild21", "1.Parameters2",
238
+ "mainWin.tabChild22", "1.Globals",
239
+ "mainWin.tabChild23", "2.Viewers",
240
+ "mainWin.tabChild24", "3.Node_View",
241
+ "mainWin.tabChild25", "3.Curve_Editor",
242
+ "mainWin.tabChild26", "3.Color_Picker",
243
+ "mainWin.tabChild27", "3.Console",
244
+ "mainWin.tabChild28", "3.Audio_Panel",
245
+ "mainWin.tabChild29", "3.Pixel_Analyzer",
246
+ "mainWin.tabChild3", "0.Filter",
247
+ "mainWin.tabChild4", "0.Key",
248
+ "mainWin.tabChild5", "0.Layer",
249
+ "mainWin.tabChild6", "0.Transform",
250
+ "mainWin.tabChild7", "0.Warp",
251
+ "mainWin.tabChild8", "0.Other",
252
+ "mainWin.tabChild9", "0.Furnace_4_0",
253
+ "mainWin.width", "1920",
254
+ "mainWin.xPos", "0",
255
+ "mainWin.yPos", "31",
256
+ "nodeView.Stabilize1.t", "0",
257
+ "nodeView.Stabilize1.x", "2671.03027",
258
+ "nodeView.Stabilize1.y", "637.518738",
259
+ "nodeView.Stabilize2.t", "0",
260
+ "nodeView.Stabilize2.x", "2375.03027",
261
+ "nodeView.Stabilize2.y", "637.518738",
262
+ "nodeView.Stabilize3.t", "0",
263
+ "nodeView.Stabilize3.x", "2051.03027",
264
+ "nodeView.Stabilize3.y", "563.518738",
265
+ "nodeView.xPan", "-1906.2395",
266
+ "nodeView.yPan", "-207.4242",
267
+ "nodeView.zoom", "0.482267946",
268
+ "pixelAnalyzer1.aStatToggleState", "0",
269
+ "pixelAnalyzer1.accumulate", "0",
270
+ "pixelAnalyzer1.bStatToggleState", "0",
271
+ "pixelAnalyzer1.bit16ToggleState", "0",
272
+ "pixelAnalyzer1.bit32ToggleState", "1",
273
+ "pixelAnalyzer1.bit8ToggleState", "0",
274
+ "pixelAnalyzer1.gStatToggleState", "0",
275
+ "pixelAnalyzer1.hStatToggleState", "0",
276
+ "pixelAnalyzer1.hex", "0",
277
+ "pixelAnalyzer1.imgToggleState", "0",
278
+ "pixelAnalyzer1.lStatToggleState", "1",
279
+ "pixelAnalyzer1.offToggleState", "0",
280
+ "pixelAnalyzer1.pxlToggleState", "1",
281
+ "pixelAnalyzer1.rStatToggleState", "0",
282
+ "pixelAnalyzer1.sStatToggleState", "0",
283
+ "pixelAnalyzer1.vStatToggleState", "0",
284
+ "spawnedViewerCount", "0",
285
+ "timeBar.current", "1",
286
+ "timeBar.high", "77",
287
+ "timeBar.incr", "1",
288
+ "timeBar.low", "1",
289
+ "timeView.ctrls.selGroup", "0",
290
+ "timeView.wSpace.constDisp", "0",
291
+ "timeView.wSpace.dispInOut", "1",
292
+ "timeView.wSpace.endTime", "100",
293
+ "timeView.wSpace.startTime", "1",
294
+ "timeView.wSpace.trim", "0",
295
+ "updater.mode", "2",
296
+ "vDesk.0.chanTog.0.cycle", "4,0,0,0,0,0",
297
+ "vDesk.0.chanTog.1.cycle", "4,0,0,0,0,0",
298
+ "vDesk.0.compareMode", "0",
299
+ "vDesk.0.compareTog.cycle", "-1,0,0,0,-1",
300
+ "vDesk.0.displayModeA", "0",
301
+ "vDesk.0.displayModeB", "0",
302
+ "vDesk.0.dodToggle", "0",
303
+ "vDesk.0.g", "1",
304
+ "vDesk.0.h", "749",
305
+ "vDesk.0.i", "0",
306
+ "vDesk.0.ih", "0",
307
+ "vDesk.0.isActive", "1",
308
+ "vDesk.0.iw", "0",
309
+ "vDesk.0.lookupTog.cycle", "1,0,0,0,0,0,0,0,0,8",
310
+ "vDesk.0.lookupToggle", "8",
311
+ "vDesk.0.oscAutoKeyOnOff", "1",
312
+ "vDesk.0.oscLockTog.cycle", "1,0,0,0",
313
+ "vDesk.0.oscOnOff", "1",
314
+ "vDesk.0.oscTog.cycle", "1,0,0,1",
315
+ "vDesk.0.roiOnOff", "1",
316
+ "vDesk.0.scriptTog.cycle", "-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1",
317
+ "vDesk.0.scriptToggle", "0",
318
+ "vDesk.0.updateModeA", "1",
319
+ "vDesk.0.updateModeB", "1",
320
+ "vDesk.0.updateTog.0.cycle", "-1,0,0,1",
321
+ "vDesk.0.updateTog.1.cycle", "-1,0,0,1",
322
+ "vDesk.0.w", "1146",
323
+ "vDesk.0.x", "0",
324
+ "vDesk.0.xPan", "-361",
325
+ "vDesk.0.xliderValue", "0",
326
+ "vDesk.0.y", "0",
327
+ "vDesk.0.yPan", "-267",
328
+ "vDesk.0.zoom", "0.434277743",
329
+ "vDesk.viewers", "1"
330
+ );
@@ -10,7 +10,7 @@ class EqualizerImportTest < Test::Unit::TestCase
10
10
  end
11
11
 
12
12
  def test_parsing_from_importable
13
- fixture = File.open(File.dirname(__FILE__) + '/samples/3de_export_cube.txt')
13
+ fixture = File.open(File.dirname(__FILE__) + '/samples/3de_v4/3de_export_cube.txt')
14
14
 
15
15
  parser = Tracksperanto::Import::Equalizer4.new
16
16
  parser.width = 1024
@@ -10,7 +10,7 @@ class Equalizer3ImportTest < Test::Unit::TestCase
10
10
  end
11
11
 
12
12
  def test_parsing_from_importable
13
- fixture = File.open(File.dirname(__FILE__) + '/samples/3de_export_v3.txt')
13
+ fixture = File.open(File.dirname(__FILE__) + '/samples/3de_v3/3de_export_v3.txt')
14
14
 
15
15
  parser = Tracksperanto::Import::Equalizer3.new
16
16
 
@@ -10,7 +10,7 @@ class BoujouImportTest < Test::Unit::TestCase
10
10
  end
11
11
 
12
12
  def test_parsing_from_fixture
13
- fixture = File.open(File.dirname(__FILE__) + '/samples/boujou_txt_export.txt')
13
+ fixture = File.open(File.dirname(__FILE__) + '/samples/boujou_features_text/boujou_txt_export.txt')
14
14
 
15
15
  parser = Tracksperanto::Import::Boujou.new
16
16
  parser.width = 2560
@@ -84,7 +84,7 @@ class FlameImportTest < Test::Unit::TestCase
84
84
  end
85
85
 
86
86
  def test_parsing_from_flame
87
- fixture = File.open(File.dirname(__FILE__) + '/samples/hugeFlameSetup.stabilizer')
87
+ fixture = File.open(File.dirname(__FILE__) + '/samples/flame_stabilizer/hugeFlameSetup.stabilizer')
88
88
 
89
89
  parser = Tracksperanto::Import::FlameStabilizer.new
90
90
 
@@ -113,7 +113,7 @@ class FlameImportTest < Test::Unit::TestCase
113
113
  end
114
114
 
115
115
  def test_parsing_another_track
116
- fixture = File.open(File.dirname(__FILE__) + '/samples/megaTrack.action.3dtrack.stabilizer')
116
+ fixture = File.open(File.dirname(__FILE__) + '/samples/flame_stabilizer/megaTrack.action.3dtrack.stabilizer')
117
117
 
118
118
  parser = Tracksperanto::Import::FlameStabilizer.new
119
119
 
@@ -125,7 +125,7 @@ class FlameImportTest < Test::Unit::TestCase
125
125
  end
126
126
 
127
127
  def test_simple_from_combustion
128
- fixture = File.open(File.dirname(__FILE__) + '/samples/fromCombustion_fromMidClip_wSnap.stabilizer')
128
+ fixture = File.open(File.dirname(__FILE__) + '/samples/flame_stabilizer/fromCombustion_fromMidClip_wSnap.stabilizer')
129
129
 
130
130
  parser = Tracksperanto::Import::FlameStabilizer.new
131
131
 
@@ -3,7 +3,7 @@ require File.dirname(__FILE__) + '/../helper'
3
3
  class MatchMoverImportTest < Test::Unit::TestCase
4
4
  DELTA = 0.01
5
5
 
6
- P = File.dirname(__FILE__) + '/samples/kipPointsMatchmover.rz2'
6
+ P = File.dirname(__FILE__) + '/samples/match_mover/kipPointsMatchmover.rz2'
7
7
 
8
8
  def test_introspects_properly
9
9
  i = Tracksperanto::Import::MatchMover
@@ -10,7 +10,7 @@ class MayaLiveImportTest < Test::Unit::TestCase
10
10
  end
11
11
 
12
12
  def test_parse_file
13
- f = File.open(File.dirname(__FILE__) + "/samples/mayalive_kipShot.txt")
13
+ f = File.open(File.dirname(__FILE__) + "/samples/mayalive/mayalive_kipShot.txt")
14
14
 
15
15
  p = Tracksperanto::Import::MayaLive.new
16
16
  trackers = p.parse(f)
@@ -32,7 +32,7 @@ class MayaLiveImportTest < Test::Unit::TestCase
32
32
  end
33
33
 
34
34
  def test_parse_file_with_custom_aspect
35
- f = File.open(File.dirname(__FILE__) + "/samples/mayalive_kipShot.txt")
35
+ f = File.open(File.dirname(__FILE__) + "/samples/mayalive/mayalive_kipShot.txt")
36
36
 
37
37
  p = Tracksperanto::Import::MayaLive.new
38
38
  p.aspect = 1.78
@@ -10,7 +10,7 @@ class NukeImportTest < Test::Unit::TestCase
10
10
  end
11
11
 
12
12
  def test_parsing_from_nuke
13
- fixture = File.open(File.dirname(__FILE__) + '/samples/one_tracker_with_break.nk')
13
+ fixture = File.open(File.dirname(__FILE__) + '/samples/nuke/one_tracker_with_break.nk')
14
14
 
15
15
  parser = Tracksperanto::Import::NukeScript.new
16
16
  parser.width = 2048
@@ -27,7 +27,7 @@ class NukeImportTest < Test::Unit::TestCase
27
27
  end
28
28
 
29
29
  def test_parsing_many_tracks_per_node
30
- fixture = File.open(File.dirname(__FILE__) + '/samples/018.nk')
30
+ fixture = File.open(File.dirname(__FILE__) + '/samples/nuke/018.nk')
31
31
  parser = Tracksperanto::Import::NukeScript.new
32
32
  parser.width = 1920
33
33
  parser.height = 1080
@@ -36,7 +36,7 @@ class NukeImportTest < Test::Unit::TestCase
36
36
  end
37
37
 
38
38
  def test_parsing_from_nuke_group
39
- fixture = File.open(File.dirname(__FILE__) + '/samples/one_tracker_with_break_in_grp.nk')
39
+ fixture = File.open(File.dirname(__FILE__) + '/samples/nuke/one_tracker_with_break_in_grp.nk')
40
40
 
41
41
  parser = Tracksperanto::Import::NukeScript.new
42
42
  parser.width = 2048
@@ -10,7 +10,7 @@ class PFTrackImportTest < Test::Unit::TestCase
10
10
  end
11
11
 
12
12
  def test_parsing_from_importable_pftrack_4
13
- fixture = File.open(File.dirname(__FILE__) + '/samples/sourcefile_pftrack.2dt')
13
+ fixture = File.open(File.dirname(__FILE__) + '/samples/pftrack4/sourcefile_pftrack.2dt')
14
14
 
15
15
  parser = Tracksperanto::Import::PFTrack.new
16
16
  parser.width = 2560
@@ -38,7 +38,7 @@ class PFTrackImportTest < Test::Unit::TestCase
38
38
  end
39
39
 
40
40
  def test_garage_shot_from_pftrack_5
41
- fixture = File.open(File.dirname(__FILE__) + '/samples/garage.2dt')
41
+ fixture = File.open(File.dirname(__FILE__) + '/samples/pftrack5/garage.2dt')
42
42
  parser = Tracksperanto::Import::PFTrack.new(:width => 1920, :height => 1080)
43
43
  trackers = parser.parse(fixture)
44
44
  assert_equal 250, trackers.length
@@ -37,17 +37,33 @@ class ShakeCatcherTest < Test::Unit::TestCase
37
37
  assert_equal [[:retval, 300]], tree
38
38
  end
39
39
 
40
+ def test_hermite_funcall_with_array_ats
41
+ k = Class.new(C) do
42
+ def hermite(first_arg, *keyframes)
43
+ keyframes
44
+ end
45
+ end
46
+
47
+ tree = parse('Hermite(0,[1379.04,-0.02,-0.02]@1,[1379.04,-0.03,-0.03]@2)', k)
48
+ assert_equal [[:retval, [[1379.04, -0.02, -0.02], 1, [1379.04, -0.03, -0.03], 2]]], tree
49
+ end
50
+
40
51
  def test_linear_funcall
41
52
  k = Class.new(C) do
42
53
  def linear(first_arg, *keyframes)
43
- keyframes.map do | kf |
44
- [kf[0][1], kf[1][1]]
45
- end
54
+ keyframes
46
55
  end
47
56
  end
48
57
 
49
58
  tree = parse('Linear(0,591.702@1,591.452@2,591.202@3,590.733@4,590.202@5,589.421@6,589.249@7)', k)
50
- assert_equal [[:retval, [[591.702, 1], [591.452, 2], [591.202, 3], [590.733, 4], [590.202, 5], [589.421, 6], [589.249, 7]]]], tree
59
+ assert_equal [[:retval,
60
+ [[[:atom_f, 591.702], [:atom_at_i, 1]],
61
+ [[:atom_f, 591.452], [:atom_at_i, 2]],
62
+ [[:atom_f, 591.202], [:atom_at_i, 3]],
63
+ [[:atom_f, 590.733], [:atom_at_i, 4]],
64
+ [[:atom_f, 590.202], [:atom_at_i, 5]],
65
+ [[:atom_f, 589.421], [:atom_at_i, 6]],
66
+ [[:atom_f, 589.249], [:atom_at_i, 7]]]]], tree
51
67
  end
52
68
 
53
69
  def test_nested_funcalls_with_array_return
@@ -1,7 +1,7 @@
1
1
  require File.dirname(__FILE__) + '/../helper'
2
2
 
3
3
  class ShakeLexerTest < Test::Unit::TestCase
4
- P = File.dirname(__FILE__) + "/samples/shake_tracker_nodes.shk"
4
+ P = File.dirname(__FILE__) + "/samples/shake_script/shake_tracker_nodes.shk"
5
5
  L = Tracksperanto::ShakeGrammar::Lexer
6
6
 
7
7
  def test_parse_single_cmt
@@ -15,7 +15,18 @@ class ShakeLexerTest < Test::Unit::TestCase
15
15
  s = parse(cmt)
16
16
  assert_equal [[:comment, " Mary had a little lamb"], [:comment, " Old McDonald had a farm"]], s
17
17
  end
18
-
18
+
19
+ def test_parse_hermite_curve
20
+ curve = 'Hermite(0,[1379.04,-0.02,-0.02]@1,[1379.04,-0.03,-0.03]@2)'
21
+ s = parse(curve)
22
+ assert_equal [
23
+ [:funcall, "Hermite", [:atom_i, 0],
24
+ [:arr, [:atom_f, 1379.04], [:atom_f, -0.02], [:atom_f, -0.02]], [:atom_at_i, 1],
25
+ [:arr, [:atom_f, 1379.04], [:atom_f, -0.03], [:atom_f, -0.03]], [:atom_at_i, 2]
26
+ ]
27
+ ], s
28
+ end
29
+
19
30
  def test_parse_cmt_and_unknown
20
31
  cmt = " // Mary had a little lamb\nFooBar"
21
32
  s = parse(cmt)
@@ -4,7 +4,7 @@ class ShakeScriptImportTest < Test::Unit::TestCase
4
4
  DELTA = 0.001
5
5
 
6
6
  def test_parsing_fifty_tracker_nodes_with_one_track_each
7
- fixture = File.open(File.dirname(__FILE__) + '/samples/shake_tracker_nodes.shk')
7
+ fixture = File.open(File.dirname(__FILE__) + '/samples/shake_script/shake_tracker_nodes.shk')
8
8
 
9
9
  trackers = Tracksperanto::Import::ShakeScript.new.parse(fixture)
10
10
  assert_equal 50, trackers.length
@@ -23,7 +23,7 @@ class ShakeScriptImportTest < Test::Unit::TestCase
23
23
  end
24
24
 
25
25
  def test_parse_tracker_node_with_no_animation
26
- fixture = File.open(File.dirname(__FILE__) + '/samples/shake_tracker_with_no_anim.shk')
26
+ fixture = File.open(File.dirname(__FILE__) + '/samples/shake_script/shake_tracker_with_no_anim.shk')
27
27
  assert_nothing_raised do
28
28
  trackers = Tracksperanto::Import::ShakeScript.new.parse(fixture)
29
29
  assert_equal 0, trackers.length
@@ -31,7 +31,7 @@ class ShakeScriptImportTest < Test::Unit::TestCase
31
31
  end
32
32
 
33
33
  def test_parsing_two_tracks_in_one_tracker_node
34
- fixture = File.open(File.dirname(__FILE__) + '/samples/two_tracks_in_one_tracker.shk')
34
+ fixture = File.open(File.dirname(__FILE__) + '/samples/shake_script/two_tracks_in_one_tracker.shk')
35
35
 
36
36
  trackers = Tracksperanto::Import::ShakeScript.new.parse(fixture)
37
37
  assert_equal 2, trackers.length
@@ -54,7 +54,7 @@ class ShakeScriptImportTest < Test::Unit::TestCase
54
54
  end
55
55
 
56
56
  def test_parsing_three_tracks_in_one_stabilizer_node
57
- fixture = File.open(File.dirname(__FILE__) + '/samples/three_tracks_in_one_stabilizer.shk')
57
+ fixture = File.open(File.dirname(__FILE__) + '/samples/shake_script/three_tracks_in_one_stabilizer.shk')
58
58
 
59
59
  trackers = Tracksperanto::Import::ShakeScript.new.parse(fixture)
60
60
  ft = trackers[0]
@@ -63,7 +63,7 @@ class ShakeScriptImportTest < Test::Unit::TestCase
63
63
  end
64
64
 
65
65
  def test_parsing_four_tracks_in_one_stabilizer_node
66
- fixture = File.open(File.dirname(__FILE__) + '/samples/four_tracks_in_one_stabilizer.shk')
66
+ fixture = File.open(File.dirname(__FILE__) + '/samples/shake_script/four_tracks_in_one_stabilizer.shk')
67
67
 
68
68
  trackers = Tracksperanto::Import::ShakeScript.new.parse(fixture)
69
69
  ft = trackers[0]
@@ -72,7 +72,7 @@ class ShakeScriptImportTest < Test::Unit::TestCase
72
72
  end
73
73
 
74
74
  def test_parsing_four_tracks_in_one_matchmove_node
75
- fixture = File.open(File.dirname(__FILE__) + '/samples/four_tracks_in_one_matchmove.shk')
75
+ fixture = File.open(File.dirname(__FILE__) + '/samples/shake_script/four_tracks_in_one_matchmove.shk')
76
76
 
77
77
  trackers = Tracksperanto::Import::ShakeScript.new.parse(fixture)
78
78
  assert_equal 4, trackers.length
@@ -82,7 +82,7 @@ class ShakeScriptImportTest < Test::Unit::TestCase
82
82
  end
83
83
 
84
84
  def test_parsing_from_nspline_curves
85
- fixture = File.open(File.dirname(__FILE__) + '/samples/shake_trackers_with_Nspline.shk')
85
+ fixture = File.open(File.dirname(__FILE__) + '/samples/shake_script/shake_trackers_with_Nspline.shk')
86
86
 
87
87
  trackers = Tracksperanto::Import::ShakeScript.new.parse(fixture)
88
88
  assert_equal 3, trackers.length
@@ -90,9 +90,24 @@ class ShakeScriptImportTest < Test::Unit::TestCase
90
90
  end
91
91
 
92
92
  def test_boujou_exported_script
93
- fixture = File.open(File.dirname(__FILE__) + "/samples/shake_script_from_boujou.shk")
93
+ fixture = File.open(File.dirname(__FILE__) + "/samples/shake_script/shake_script_from_boujou.shk")
94
94
  trackers = Tracksperanto::Import::ShakeScript.new.parse(fixture)
95
95
  assert_equal 1, trackers.length
96
96
  assert_equal 387, trackers[0].length
97
97
  end
98
+
99
+ def test_hermite_interpolation
100
+ fixture = File.open(File.dirname(__FILE__) + "/samples/shake_script/stabilize_nodes_with_hermite.shk")
101
+ trackers = Tracksperanto::Import::ShakeScript.new.parse(fixture)
102
+ assert_equal 3, trackers.length
103
+
104
+ last_t = trackers[-1]
105
+ assert_equal "Stabilize3_track1", last_t.name
106
+ assert_equal 74, last_t.length
107
+
108
+ last_kf = last_t[-1]
109
+ assert_equal 76, last_kf.frame
110
+ assert_in_delta 982.97, last_kf.abs_x, DELTA
111
+ assert_in_delta 1202.39, last_kf.abs_y, DELTA
112
+ end
98
113
  end
@@ -10,7 +10,7 @@ class ShakeTextImportTest < Test::Unit::TestCase
10
10
  end
11
11
 
12
12
  def test_parsing
13
- fixture = File.open(File.dirname(__FILE__) + '/samples/one_shake_tracker.txt')
13
+ fixture = File.open(File.dirname(__FILE__) + '/samples/shake_text/one_shake_tracker.txt')
14
14
  trackers = Tracksperanto::Import::ShakeText.new.parse(fixture)
15
15
 
16
16
  assert_kind_of Enumerable, trackers
@@ -30,7 +30,7 @@ class ShakeTextImportTest < Test::Unit::TestCase
30
30
  end
31
31
 
32
32
  def test_parsing_two_trackers
33
- fixture = File.open(File.dirname(__FILE__) + '/samples/two_shake_trackers.txt')
33
+ fixture = File.open(File.dirname(__FILE__) + '/samples/shake_text/two_shake_trackers.txt')
34
34
  trackers = Tracksperanto::Import::ShakeText.new.parse(fixture)
35
35
 
36
36
  assert_kind_of Enumerable, trackers
@@ -9,7 +9,7 @@ class SyntheyesImportTest < Test::Unit::TestCase
9
9
  end
10
10
 
11
11
  def test_parsing_from_importable
12
- fixture = File.open(File.dirname(__FILE__) + '/samples/shake_tracker_nodes_to_syntheyes.txt')
12
+ fixture = File.open(File.dirname(__FILE__) + '/samples/syntheyes_2d_paths/shake_tracker_nodes_to_syntheyes.txt')
13
13
 
14
14
  parser = Tracksperanto::Import::Syntheyes.new
15
15
  parser.width = 2560
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tracksperanto
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.5
4
+ version: 1.6.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julik Tarkhanov
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-11-28 00:00:00 +01:00
12
+ date: 2009-12-07 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -44,13 +44,11 @@ extra_rdoc_files:
44
44
  - Manifest.txt
45
45
  - README.txt
46
46
  files:
47
- - .DS_Store
48
47
  - History.txt
49
48
  - Manifest.txt
50
49
  - README.txt
51
50
  - Rakefile
52
51
  - bin/tracksperanto
53
- - lib/.DS_Store
54
52
  - lib/export/base.rb
55
53
  - lib/export/equalizer3.rb
56
54
  - lib/export/equalizer4.rb
@@ -96,13 +94,10 @@ files:
96
94
  - lib/tracksperanto/tracker.rb
97
95
  - lib/tracksperanto/uv_coordinates.rb
98
96
  - lib/tracksperanto/zip_tuples.rb
99
- - test/.DS_Store
100
- - test/export/.DS_Store
101
97
  - test/export/README_EXPORT_TESTS.txt
102
98
  - test/export/samples/ref_Mayalive.txt
103
99
  - test/export/samples/ref_Mayalive_CustomAspect.txt
104
100
  - test/export/samples/ref_NukeScript.nk
105
- - test/export/samples/ref_NukeScript.nk.autosave
106
101
  - test/export/samples/ref_PFTrack.2dt
107
102
  - test/export/samples/ref_PFTrack5.2dt
108
103
  - test/export/samples/ref_ShakeText.txt
@@ -123,32 +118,33 @@ files:
123
118
  - test/helper.rb
124
119
  - test/import/.DS_Store
125
120
  - test/import/samples/.DS_Store
126
- - test/import/samples/018.nk
127
- - test/import/samples/3de_export_cube.txt
128
- - test/import/samples/3de_export_v3.txt
129
- - test/import/samples/boujou_txt_export.txt
130
- - test/import/samples/flyover2DP_syntheyes.txt
131
- - test/import/samples/four_tracks_in_one_matchmove.shk
132
- - test/import/samples/four_tracks_in_one_stabilizer.shk
133
- - test/import/samples/fromCombustion_fromMidClip_wSnap.stabilizer
134
- - test/import/samples/garage.2dt
135
- - test/import/samples/hugeFlameSetup.stabilizer
136
- - test/import/samples/kipPointsMatchmover.rz2
137
- - test/import/samples/mayalive_kipShot.txt
138
- - test/import/samples/megaTrack.action.3dtrack.stabilizer
139
- - test/import/samples/one_shake_tracker.txt
140
- - test/import/samples/one_shake_tracker_from_first.txt
141
- - test/import/samples/one_tracker_with_break.nk
142
- - test/import/samples/one_tracker_with_break_in_grp.nk
143
- - test/import/samples/shake_script_from_boujou.shk
144
- - test/import/samples/shake_tracker_nodes.shk
145
- - test/import/samples/shake_tracker_nodes_to_syntheyes.txt
146
- - test/import/samples/shake_tracker_with_no_anim.shk
147
- - test/import/samples/shake_trackers_with_Nspline.shk
148
- - test/import/samples/sourcefile_pftrack.2dt
149
- - test/import/samples/three_tracks_in_one_stabilizer.shk
150
- - test/import/samples/two_shake_trackers.txt
151
- - test/import/samples/two_tracks_in_one_tracker.shk
121
+ - test/import/samples/3de_v3/3de_export_v3.txt
122
+ - test/import/samples/3de_v4/3de_export_cube.txt
123
+ - test/import/samples/boujou_features_text/boujou_txt_export.txt
124
+ - test/import/samples/flame_stabilizer/fromCombustion_fromMidClip_wSnap.stabilizer
125
+ - test/import/samples/flame_stabilizer/hugeFlameSetup.stabilizer
126
+ - test/import/samples/flame_stabilizer/megaTrack.action.3dtrack.stabilizer
127
+ - test/import/samples/match_mover/kipPointsMatchmover.rz2
128
+ - test/import/samples/mayalive/mayalive_kipShot.txt
129
+ - test/import/samples/nuke/018.nk
130
+ - test/import/samples/nuke/one_tracker_with_break.nk
131
+ - test/import/samples/nuke/one_tracker_with_break_in_grp.nk
132
+ - test/import/samples/pftrack4/sourcefile_pftrack.2dt
133
+ - test/import/samples/pftrack5/garage.2dt
134
+ - test/import/samples/shake_script/four_tracks_in_one_matchmove.shk
135
+ - test/import/samples/shake_script/four_tracks_in_one_stabilizer.shk
136
+ - test/import/samples/shake_script/shake_script_from_boujou.shk
137
+ - test/import/samples/shake_script/shake_tracker_nodes.shk
138
+ - test/import/samples/shake_script/shake_tracker_with_no_anim.shk
139
+ - test/import/samples/shake_script/shake_trackers_with_Nspline.shk
140
+ - test/import/samples/shake_script/stabilize_nodes_with_hermite.shk
141
+ - test/import/samples/shake_script/three_tracks_in_one_stabilizer.shk
142
+ - test/import/samples/shake_script/two_tracks_in_one_tracker.shk
143
+ - test/import/samples/shake_text/one_shake_tracker.txt
144
+ - test/import/samples/shake_text/one_shake_tracker_from_first.txt
145
+ - test/import/samples/shake_text/two_shake_trackers.txt
146
+ - test/import/samples/syntheyes_2d_paths/flyover2DP_syntheyes.txt
147
+ - test/import/samples/syntheyes_2d_paths/shake_tracker_nodes_to_syntheyes.txt
152
148
  - test/import/test_3de_import.rb
153
149
  - test/import/test_3de_import3.rb
154
150
  - test/import/test_boujou_import.rb
data/.DS_Store DELETED
Binary file
data/lib/.DS_Store DELETED
Binary file
data/test/.DS_Store DELETED
Binary file
Binary file
@@ -1,77 +0,0 @@
1
- #! /Applications/Nuke5.1v2/Nuke5.1v2.app/Contents/MacOS/Nuke5.1v2 -nx
2
- version 5.1200
3
- define_window_layout_xml {<?xml version="1.0" encoding="UTF-8"?>
4
- <layout version="1.0">
5
- <window x="0" y="22" w="1680" h="1024" screen="0">
6
- <splitter orientation="1">
7
- <split size="1062"></split>
8
- <splitter orientation="1">
9
- <split size="40"></split>
10
- <dock id="" hideTitles="1" activePageId="Toolbar.1">
11
- <page id="Toolbar.1"></page>
12
- </dock>
13
- <split size="1018"></split>
14
- <splitter orientation="2">
15
- <split size="499"></split>
16
- <dock id="" activePageId="Viewer.1">
17
- <page id="Viewer.1"></page>
18
- </dock>
19
- <split size="499"></split>
20
- <dock id="" activePageId="Curve Editor.1">
21
- <page id="DAG.1"></page>
22
- <page id="Curve Editor.1"></page>
23
- </dock>
24
- </splitter>
25
- </splitter>
26
- <split size="614"></split>
27
- <dock id="" activePageId="Properties.1">
28
- <page id="Properties.1"></page>
29
- </dock>
30
- </splitter>
31
- </window>
32
- </layout>
33
- }
34
- Root {
35
- inputs 0
36
- name /Code/apps/tracksperanto/test/export/samples/ref_NukeScript.nk
37
- frame 11
38
- format "640 480 0 0 640 480 1 PC_Video"
39
- proxy_format "640 480 0 0 640 480 1 PC_Video"
40
- }
41
- Constant {
42
- inputs 0
43
- channels rgb
44
- format "1920 1080 0 0 1920 1080 1 HD"
45
- name CompSize_1920x1080
46
- xpos 0
47
- ypos -60
48
- postage_stamp false
49
- }
50
- Tracker3 {
51
- track1 {{curve x1 0 96 192 288 384 480 576 672 768 864 960 1056 1152 1248 1344 1440 1536 1632 1728 1824 1920} {curve x1 1080 874.8 691.2 529.2 388.8 270 172.8 97.2 43.2 10.8 0 10.8 43.2 97.2 172.8 270 388.8 529.2 691.2 874.8 1080}}
52
- translate {{curve x1 0 96 192 288 384 480 576 672 768 864 960 1056 1152 1248 1344 1440 1536 1632 1728 1824 1920} {curve x1 0 -205.2000122 -388.7999878 -550.7999878 -691.2000122 -810 -907.2000122 -982.7999878 -1036.800049 -1069.199951 -1080 -1069.199951 -1036.800049 -982.7999878 -907.2000122 -810 -691.2000122 -550.7999878 -388.7999878 -205.2000122 0}}
53
- center {{curve x1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} {curve x1 1080 1080 1080 1080 1080 1080 1080 1080 1080 1080 1080 1080 1080 1080 1080 1080 1080 1080 1080 1080 1080}}
54
- name Parabolic_1_from_top_left
55
- xpos 0
56
- ypos 30
57
- }
58
- Tracker3 {
59
- track1 {{curve i x1 1920 1824 1728 1632 1536 1440 1344 1248 1152 1056 960 864 768 672 576 480 384 288 192 96 0} {curve i x1 0 205.2 388.8 550.8 691.2 810 907.2 982.8 1036.8 1069.2 1080 1069.2 1036.8 982.8 907.2 810 691.2 550.8 388.8 205.2 0}}
60
- center {320 240}
61
- name Parabolic_2_from_bottom_right
62
- xpos 0
63
- ypos 60
64
- }
65
- Viewer {
66
- frame 11
67
- name Viewer1
68
- xpos 0
69
- ypos 87
70
- }
71
- Viewer {
72
- inputs 0
73
- name Viewer2
74
- selected true
75
- xpos 22
76
- ypos 67
77
- }