tracksperanto 1.9.6 → 1.9.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +8 -1
- data/Manifest.txt +3 -1
- data/bin/tracksperanto +9 -9
- data/lib/export/syntheyes.rb +1 -3
- data/lib/import/shake_grammar/lexer.rb +2 -2
- data/lib/middleware/flip.rb +16 -0
- data/lib/pipeline/base.rb +3 -0
- data/lib/tracksperanto.rb +1 -1
- data/test/export/samples/ref_Mayalive.txt +2 -0
- data/test/export/samples/ref_Mayalive_CustomAspect.txt +2 -0
- data/test/export/samples/ref_NukeScript.nk +7 -0
- data/test/export/samples/ref_PFTrack.2dt +5 -0
- data/test/export/samples/ref_PFTrack5.2dt +6 -0
- data/test/export/samples/ref_ShakeText.txt +4 -0
- data/test/export/samples/ref_Syntheyes.txt +3 -2
- data/test/export/samples/ref_equalizer.txt +5 -1
- data/test/export/samples/ref_equalizer3.txt +2 -0
- data/test/export/samples/ref_flame.stabilizer +145 -1
- data/test/export/samples/ref_matchmover.rz2 +4 -0
- data/test/helper.rb +13 -1
- data/test/middleware/test_flip_middleware.rb +30 -0
- data/test/test_cli.rb +1 -1
- data/test/test_pipeline.rb +7 -0
- metadata +48 -18
data/History.txt
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
=== 1.9.8 / 2010-08-11
|
2
|
+
|
3
|
+
* Very minor changes and improvements
|
4
|
+
* The app will now tell you when you try to feed it an empty file
|
5
|
+
* Change Synetheyes exports to start with a standard frame and not a keyframe to make 1-frame trackers work
|
6
|
+
* Adds a flip middleware to mirror a tracked comp
|
7
|
+
|
1
8
|
=== 1.9.6 / 2010-06-17
|
2
9
|
|
3
10
|
* Support Tracker nodes in Shake scripts that come from an old (ages old!) Shake version
|
@@ -29,7 +36,7 @@
|
|
29
36
|
=== 1.9.0 / 2010-03-21
|
30
37
|
|
31
38
|
* Use proper progress bars
|
32
|
-
* Allow proper chaining of middlewares in the commandline app - you can now apply many middlewares of the same nature in
|
39
|
+
* Allow proper chaining of middlewares in the commandline app - you can now apply many middlewares of the same nature in chain, and they will be ordered correctly
|
33
40
|
* Small rewrites to Pipeline::Base (changes API slightly - please consult the docs)
|
34
41
|
|
35
42
|
=== 1.8.4 / 2010-03-10
|
data/Manifest.txt
CHANGED
@@ -32,6 +32,7 @@ lib/import/shake_script.rb
|
|
32
32
|
lib/import/shake_text.rb
|
33
33
|
lib/import/syntheyes.rb
|
34
34
|
lib/middleware/base.rb
|
35
|
+
lib/middleware/flip.rb
|
35
36
|
lib/middleware/golden.rb
|
36
37
|
lib/middleware/length_cutoff.rb
|
37
38
|
lib/middleware/lerp.rb
|
@@ -104,6 +105,7 @@ test/import/samples/pftrack5/garage.2dt
|
|
104
105
|
test/import/samples/shake_script/four_tracks_in_one_matchmove.shk
|
105
106
|
test/import/samples/shake_script/four_tracks_in_one_stabilizer.shk
|
106
107
|
test/import/samples/shake_script/from_matchmover.shk
|
108
|
+
test/import/samples/shake_script/oldTrackerNode.shk
|
107
109
|
test/import/samples/shake_script/shake_script_from_boujou.shk
|
108
110
|
test/import/samples/shake_script/shake_tracker_nodes.shk
|
109
111
|
test/import/samples/shake_script/shake_tracker_with_no_anim.shk
|
@@ -111,7 +113,6 @@ test/import/samples/shake_script/shake_trackers_with_Nspline.shk
|
|
111
113
|
test/import/samples/shake_script/stabilize_nodes_with_hermite.shk
|
112
114
|
test/import/samples/shake_script/three_tracks_in_one_stabilizer.shk
|
113
115
|
test/import/samples/shake_script/two_tracks_in_one_tracker.shk
|
114
|
-
test/import/samples/shake_script/oldTrackerNode.shk
|
115
116
|
test/import/samples/shake_text/one_shake_tracker.txt
|
116
117
|
test/import/samples/shake_text/one_shake_tracker_from_first.txt
|
117
118
|
test/import/samples/shake_text/two_shake_trackers.txt
|
@@ -132,6 +133,7 @@ test/import/test_shake_lexer.rb
|
|
132
133
|
test/import/test_shake_script_import.rb
|
133
134
|
test/import/test_shake_text_import.rb
|
134
135
|
test/import/test_syntheyes_import.rb
|
136
|
+
test/middleware/test_flip_middleware.rb
|
135
137
|
test/middleware/test_golden_middleware.rb
|
136
138
|
test/middleware/test_length_cutoff_middleware.rb
|
137
139
|
test/middleware/test_lerp_middleware.rb
|
data/bin/tracksperanto
CHANGED
@@ -19,16 +19,14 @@ require "open-uri"
|
|
19
19
|
require "timeout"
|
20
20
|
|
21
21
|
def version_check
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
puts "Please consider updating (run 'gem update tracksperanto')"
|
29
|
-
end
|
30
|
-
rescue OpenURI::HTTPError => e
|
22
|
+
begin
|
23
|
+
version_info = open("http://rubygems.org/api/v1/gems/tracksperanto.xml").string.scan(/<version>(.+)<\/version>/).to_s
|
24
|
+
int_available, int_present = [version_info, Tracksperanto::VERSION].map{|v| v.scan(/(\d+)/).to_s.to_i }
|
25
|
+
if int_available > int_present
|
26
|
+
puts "Your version of Tracksperanto is probably out of date (the current version is #{version_info}, but you have #{Tracksperanto::VERSION})."
|
27
|
+
puts "Please consider updating (run 'gem update tracksperanto')"
|
31
28
|
end
|
29
|
+
rescue Exception
|
32
30
|
end
|
33
31
|
end
|
34
32
|
|
@@ -73,6 +71,8 @@ op.on(" -xm", "--xshift X_IN_PIXELS", Float, "Move the points left or right", &m
|
|
73
71
|
op.on(" -ym", "--yshift Y_IN_PIXELS", Float, "Move the points up or down", &mw("Shift", :y_shift))
|
74
72
|
op.on(" -p", "--prefix PREFIX", String, "A prefix to prepend to tracker names in bulk", &mw("Prefix", :prefix))
|
75
73
|
op.on("--lerp", "Linearly interpolate missing keyframes", &mw("Lerp", :enabled, true))
|
74
|
+
op.on("--flip", "Flip the comp horizontally", &mw("Flip", :flip, true))
|
75
|
+
op.on("--flop", "Flop the comp vertically", &mw("Flip", :flop, true))
|
76
76
|
|
77
77
|
op.on("--version", "Show the version and exit") do |v|
|
78
78
|
puts "Tracksperanto v.#{Tracksperanto::VERSION} running on Ruby #{RUBY_VERSION} on #{RUBY_PLATFORM}"
|
data/lib/export/syntheyes.rb
CHANGED
@@ -43,9 +43,7 @@ class Tracksperanto::Export::SynthEyes < Tracksperanto::Export::Base
|
|
43
43
|
# OUTCOME_OUTASIGHT = 32
|
44
44
|
# We actually provide pregenerated status codes instead of that to get the desired outcome codes.
|
45
45
|
def get_outcome_code(frame)
|
46
|
-
outcome = if @last_registered_frame.nil?
|
47
|
-
STATUS_KF
|
48
|
-
elsif @last_registered_frame != (frame - 1)
|
46
|
+
outcome = if @last_registered_frame.nil? || (@last_registered_frame != (frame - 1))
|
49
47
|
STATUS_REENABLE
|
50
48
|
else
|
51
49
|
STATUS_STD
|
@@ -45,11 +45,11 @@ module Tracksperanto::ShakeGrammar
|
|
45
45
|
c = @io.read(1)
|
46
46
|
|
47
47
|
if @buf.length > MAX_BUFFER_SIZE # Wrong format and the buffer is filled up, bail
|
48
|
-
raise WrongInput, "
|
48
|
+
raise WrongInput, "Atom buffer overflow at #{MAX_BUFFER_SIZE} bytes, this is definitely not a Shake script"
|
49
49
|
end
|
50
50
|
|
51
51
|
if @stack_depth > MAX_STACK_DEPTH # Wrong format - parentheses overload
|
52
|
-
raise WrongInput, "Stack overflow at level
|
52
|
+
raise WrongInput, "Stack overflow at level #{MAX_STACK_DEPTH}, this is probably a LISP program uploaded by accident"
|
53
53
|
end
|
54
54
|
|
55
55
|
return consume_comment(c) if in_comment?
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# Flips the comp being exported horizontally or vertically
|
2
|
+
class Tracksperanto::Middleware::Flip < Tracksperanto::Middleware::Base
|
3
|
+
|
4
|
+
attr_accessor :flip, :flop
|
5
|
+
|
6
|
+
def start_export(w, h)
|
7
|
+
@w, @h = w, h
|
8
|
+
super
|
9
|
+
end
|
10
|
+
|
11
|
+
def export_point(frame, float_x, float_y, float_residual)
|
12
|
+
x = @flip ? (@w - float_x) : float_x
|
13
|
+
y = @flop ? (@h - float_y) : float_y
|
14
|
+
super(frame, x, y, float_residual)
|
15
|
+
end
|
16
|
+
end
|
data/lib/pipeline/base.rb
CHANGED
@@ -56,6 +56,9 @@ class Tracksperanto::Pipeline::Base
|
|
56
56
|
# Assign the parser
|
57
57
|
importer = initialize_importer_with_path_and_options(from_input_file_path, passed_options)
|
58
58
|
|
59
|
+
# Check for empty files
|
60
|
+
raise "This is an empty source file" if File.stat(from_input_file_path).size.zero?
|
61
|
+
|
59
62
|
# Open the file
|
60
63
|
read_data = File.open(from_input_file_path, "rb")
|
61
64
|
|
data/lib/tracksperanto.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
Parabolic_1_from_top_left 0 -1.000000 -1.000000
|
1
|
+
Parabolic_1_from_top_left 0 -1.000000 -1.000000 15
|
2
2
|
Parabolic_1_from_top_left 1 -0.900000 -0.620000 7
|
3
3
|
Parabolic_1_from_top_left 2 -0.800000 -0.280000 7
|
4
4
|
Parabolic_1_from_top_left 3 -0.700000 0.020000 7
|
@@ -17,7 +17,7 @@ Parabolic_1_from_top_left 17 0.700000 0.020000 7
|
|
17
17
|
Parabolic_1_from_top_left 18 0.800000 -0.280000 7
|
18
18
|
Parabolic_1_from_top_left 19 0.900000 -0.620000 7
|
19
19
|
Parabolic_1_from_top_left 20 1.000000 -1.000000 7
|
20
|
-
Parabolic_2_from_bottom_right 0 1.000000 1.000000
|
20
|
+
Parabolic_2_from_bottom_right 0 1.000000 1.000000 15
|
21
21
|
Parabolic_2_from_bottom_right 1 0.900000 0.620000 7
|
22
22
|
Parabolic_2_from_bottom_right 2 0.800000 0.280000 7
|
23
23
|
Parabolic_2_from_bottom_right 3 0.700000 -0.020000 7
|
@@ -36,3 +36,4 @@ Parabolic_2_from_bottom_right 17 -0.700000 -0.020000 7
|
|
36
36
|
Parabolic_2_from_bottom_right 18 -0.800000 0.280000 7
|
37
37
|
Parabolic_2_from_bottom_right 19 -0.900000 0.620000 7
|
38
38
|
Parabolic_2_from_bottom_right 20 -1.000000 1.000000 7
|
39
|
+
SingleFrame 0 0.010417 -0.018519 15
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
3
|
2
2
|
Parabolic_1_from_top_left
|
3
3
|
0
|
4
4
|
19
|
@@ -43,3 +43,7 @@ Parabolic_2_from_bottom_right
|
|
43
43
|
19 191.999999999999943 388.799999999999841
|
44
44
|
20 95.999999999999972 205.199999999999932
|
45
45
|
21 0.000000000000000 0.000000000000000
|
46
|
+
SingleFrame
|
47
|
+
0
|
48
|
+
1
|
49
|
+
1 970.000000000000000 550.000000000000000
|
@@ -2,7 +2,7 @@ StabilizerFileVersion 5.0
|
|
2
2
|
CreationDate Thu Feb 18 17:22:12 2010
|
3
3
|
|
4
4
|
|
5
|
-
NbTrackers
|
5
|
+
NbTrackers 3
|
6
6
|
Selected 0
|
7
7
|
FrameWidth 1920
|
8
8
|
FrameHeight 1080
|
@@ -794,6 +794,140 @@ Channel tracker2/shift/y
|
|
794
794
|
RightSlope 2.400
|
795
795
|
End
|
796
796
|
End
|
797
|
+
Channel tracker3/track/x
|
798
|
+
Extrapolation constant
|
799
|
+
Value 960
|
800
|
+
Colour 50 50 50
|
801
|
+
End
|
802
|
+
Channel tracker3/track/y
|
803
|
+
Extrapolation constant
|
804
|
+
Value 540
|
805
|
+
Colour 50 50 50
|
806
|
+
End
|
807
|
+
Channel tracker3/track/width
|
808
|
+
Extrapolation linear
|
809
|
+
Value 15
|
810
|
+
Colour 50 50 50
|
811
|
+
End
|
812
|
+
Channel tracker3/track/height
|
813
|
+
Extrapolation linear
|
814
|
+
Value 15
|
815
|
+
Colour 50 50 50
|
816
|
+
End
|
817
|
+
Channel tracker3/ref/width
|
818
|
+
Extrapolation linear
|
819
|
+
Value 10
|
820
|
+
Colour 50 50 50
|
821
|
+
End
|
822
|
+
Channel tracker3/ref/height
|
823
|
+
Extrapolation linear
|
824
|
+
Value 10
|
825
|
+
Colour 50 50 50
|
826
|
+
End
|
827
|
+
Channel tracker3/ref/x
|
828
|
+
Extrapolation constant
|
829
|
+
Value 970.000
|
830
|
+
Colour 50 50 50
|
831
|
+
KeyVersion 1
|
832
|
+
Size 1
|
833
|
+
Key 0
|
834
|
+
Frame 1
|
835
|
+
Value 970.000
|
836
|
+
Interpolation constant
|
837
|
+
LeftSlope 2.400
|
838
|
+
RightSlope 2.400
|
839
|
+
End
|
840
|
+
End
|
841
|
+
Channel tracker3/ref/y
|
842
|
+
Extrapolation constant
|
843
|
+
Value 550.000
|
844
|
+
Colour 50 50 50
|
845
|
+
KeyVersion 1
|
846
|
+
Size 1
|
847
|
+
Key 0
|
848
|
+
Frame 1
|
849
|
+
Value 550.000
|
850
|
+
Interpolation constant
|
851
|
+
LeftSlope 2.400
|
852
|
+
RightSlope 2.400
|
853
|
+
End
|
854
|
+
End
|
855
|
+
Channel tracker3/ref/dx
|
856
|
+
Extrapolation constant
|
857
|
+
Value 0
|
858
|
+
Colour 50 50 50
|
859
|
+
Size 2
|
860
|
+
KeyVersion 1
|
861
|
+
Key 0
|
862
|
+
Frame 0
|
863
|
+
Value 0
|
864
|
+
ValueLock yes
|
865
|
+
DeleteLock yes
|
866
|
+
Interpolation constant
|
867
|
+
End
|
868
|
+
Key 1
|
869
|
+
Frame 1
|
870
|
+
Value 0
|
871
|
+
ValueLock yes
|
872
|
+
DeleteLock yes
|
873
|
+
Interpolation constant
|
874
|
+
End
|
875
|
+
End
|
876
|
+
Channel tracker3/ref/dy
|
877
|
+
Extrapolation constant
|
878
|
+
Value 0
|
879
|
+
Colour 50 50 50
|
880
|
+
Size 2
|
881
|
+
KeyVersion 1
|
882
|
+
Key 0
|
883
|
+
Frame 0
|
884
|
+
Value 0
|
885
|
+
ValueLock yes
|
886
|
+
DeleteLock yes
|
887
|
+
Interpolation constant
|
888
|
+
End
|
889
|
+
Key 1
|
890
|
+
Frame 1
|
891
|
+
Value 0
|
892
|
+
ValueLock yes
|
893
|
+
DeleteLock yes
|
894
|
+
Interpolation constant
|
895
|
+
End
|
896
|
+
End
|
897
|
+
Channel tracker3/offset/x
|
898
|
+
Extrapolation constant
|
899
|
+
Value 0
|
900
|
+
End
|
901
|
+
Channel tracker3/offset/y
|
902
|
+
Extrapolation constant
|
903
|
+
Value 0
|
904
|
+
End
|
905
|
+
Channel tracker3/shift/x
|
906
|
+
Extrapolation constant
|
907
|
+
Value 0
|
908
|
+
KeyVersion 1
|
909
|
+
Size 1
|
910
|
+
Key 0
|
911
|
+
Frame 1
|
912
|
+
Value 0
|
913
|
+
Interpolation linear
|
914
|
+
LeftSlope 2.400
|
915
|
+
RightSlope 2.400
|
916
|
+
End
|
917
|
+
End
|
918
|
+
Channel tracker3/shift/y
|
919
|
+
Extrapolation constant
|
920
|
+
Value 0
|
921
|
+
KeyVersion 1
|
922
|
+
Size 1
|
923
|
+
Key 0
|
924
|
+
Frame 1
|
925
|
+
Value 0
|
926
|
+
Interpolation linear
|
927
|
+
LeftSlope 2.400
|
928
|
+
RightSlope 2.400
|
929
|
+
End
|
930
|
+
End
|
797
931
|
ChannelEnd
|
798
932
|
Tracker 0
|
799
933
|
Active yes
|
@@ -815,3 +949,13 @@ Tracker 1
|
|
815
949
|
FixedX no
|
816
950
|
FixedY no
|
817
951
|
Tolerance 100
|
952
|
+
Tracker 2
|
953
|
+
Active yes
|
954
|
+
Colour
|
955
|
+
Red 0
|
956
|
+
Green 100
|
957
|
+
Blue 0
|
958
|
+
FixedRef yes
|
959
|
+
FixedX no
|
960
|
+
FixedY no
|
961
|
+
Tolerance 100
|
data/test/helper.rb
CHANGED
@@ -3,6 +3,7 @@ require 'test/unit'
|
|
3
3
|
require 'rubygems'
|
4
4
|
require 'flexmock'
|
5
5
|
require 'flexmock/test_unit'
|
6
|
+
require 'fileutils'
|
6
7
|
|
7
8
|
# This module creates ideal parabolic tracks for testing exporters. The two trackers
|
8
9
|
# will start at opposite corners of the image and traverse two parabolic curves, touching
|
@@ -64,6 +65,10 @@ module ParabolicTracks
|
|
64
65
|
end
|
65
66
|
end
|
66
67
|
|
68
|
+
SINGLE_FRAME_TRACK = Tracksperanto::Tracker.new(:name => "SingleFrame") do | t |
|
69
|
+
t.keyframe! :frame => 0, :abs_x => (1920/2) + 10, :abs_y => (1080/2)+10, :residual => 0
|
70
|
+
end
|
71
|
+
|
67
72
|
def create_reference_output(exporter_klass, ref_path)
|
68
73
|
File.open(ref_path, "w") do | io |
|
69
74
|
x = exporter_klass.new(io)
|
@@ -73,6 +78,13 @@ module ParabolicTracks
|
|
73
78
|
end
|
74
79
|
|
75
80
|
def ensure_same_output(exporter_klass, reference_path, message = "The line should be identical")
|
81
|
+
if ENV['OVERWRITE']
|
82
|
+
File.open(reference_path, "w") do | out |
|
83
|
+
x = exporter_klass.new(out)
|
84
|
+
export_parabolics_with(x)
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
76
88
|
io = StringIO.new
|
77
89
|
x = exporter_klass.new(io)
|
78
90
|
yield(x) if block_given?
|
@@ -91,7 +103,7 @@ module ParabolicTracks
|
|
91
103
|
|
92
104
|
def export_parabolics_with(exporter)
|
93
105
|
exporter.start_export(1920, 1080)
|
94
|
-
[FIRST_TRACK, SECOND_TRACK].each do | t |
|
106
|
+
[FIRST_TRACK, SECOND_TRACK, SINGLE_FRAME_TRACK].each do | t |
|
95
107
|
exporter.start_tracker_segment(t.name)
|
96
108
|
t.keyframes.each do | kf |
|
97
109
|
exporter.export_point(kf.frame, kf.abs_x, kf.abs_y, kf.residual)
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../helper'
|
2
|
+
|
3
|
+
class ShiftMiddlewareTest < Test::Unit::TestCase
|
4
|
+
def test_shift_supports_hash_init
|
5
|
+
receiver = flexmock
|
6
|
+
|
7
|
+
m = Tracksperanto::Middleware::Flip.new(receiver)
|
8
|
+
assert !m.flip
|
9
|
+
assert !m.flop
|
10
|
+
|
11
|
+
m = Tracksperanto::Middleware::Flip.new(receiver, :flip => true)
|
12
|
+
assert m.flip
|
13
|
+
|
14
|
+
m = Tracksperanto::Middleware::Flip.new(receiver, :flop => true)
|
15
|
+
assert m.flop
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_export_flip_and_flop
|
19
|
+
receiver = flexmock(:exporter)
|
20
|
+
receiver.should_receive(:start_export).once.with(110, 120)
|
21
|
+
receiver.should_receive(:export_point).once.with(1, 100, 95, 0)
|
22
|
+
receiver.should_receive(:export_point).once.with(1, 10, 95, 0)
|
23
|
+
|
24
|
+
m = Tracksperanto::Middleware::Flip.new(receiver, :flip => true)
|
25
|
+
m.start_export(110, 120)
|
26
|
+
m.export_point(1, 10, 95, 0)
|
27
|
+
m.flip = false
|
28
|
+
m.export_point(1, 10, 95, 0)
|
29
|
+
end
|
30
|
+
end
|
data/test/test_cli.rb
CHANGED
@@ -5,7 +5,7 @@ class CliTest < Test::Unit::TestCase
|
|
5
5
|
BIN_P = File.expand_path(File.dirname(__FILE__) + "/../bin/tracksperanto")
|
6
6
|
|
7
7
|
def setup
|
8
|
-
Dir.mkdir(TEMP_DIR)
|
8
|
+
Dir.mkdir(TEMP_DIR) unless File.exist?(TEMP_DIR)
|
9
9
|
FileUtils.cp(File.dirname(__FILE__) + "/import/samples/flame_stabilizer/fromCombustion_fromMidClip_wSnap.stabilizer", TEMP_DIR + "/flm.stabilizer")
|
10
10
|
end
|
11
11
|
|
data/test/test_pipeline.rb
CHANGED
@@ -43,6 +43,13 @@ class PipelineTest < Test::Unit::TestCase
|
|
43
43
|
assert_equal 9, pipeline.converted_keyframes, "Should report conversion of 9 keyframes"
|
44
44
|
end
|
45
45
|
|
46
|
+
def test_run_crashes_with_empty_file
|
47
|
+
empty_file_path = "./input_empty.stabilizer"
|
48
|
+
f = File.open(empty_file_path, "w"){|f| f.write('') }
|
49
|
+
pipeline = Tracksperanto::Pipeline::Base.new
|
50
|
+
assert_raise(RuntimeError) { pipeline.run(empty_file_path) }
|
51
|
+
end
|
52
|
+
|
46
53
|
def test_middleware_initialization_from_tuples
|
47
54
|
create_stabilizer_file
|
48
55
|
|
metadata
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tracksperanto
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 35
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 1
|
8
|
+
- 9
|
9
|
+
- 8
|
10
|
+
version: 1.9.8
|
5
11
|
platform: ruby
|
6
12
|
authors:
|
7
13
|
- Julik Tarkhanov
|
@@ -9,39 +15,53 @@ autorequire:
|
|
9
15
|
bindir: bin
|
10
16
|
cert_chain: []
|
11
17
|
|
12
|
-
date: 2010-
|
18
|
+
date: 2010-08-11 00:00:00 +02:00
|
13
19
|
default_executable:
|
14
20
|
dependencies:
|
15
21
|
- !ruby/object:Gem::Dependency
|
16
22
|
name: progressbar
|
17
|
-
|
18
|
-
|
19
|
-
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
20
26
|
requirements:
|
21
27
|
- - ">="
|
22
28
|
- !ruby/object:Gem::Version
|
29
|
+
hash: 3
|
30
|
+
segments:
|
31
|
+
- 0
|
23
32
|
version: "0"
|
24
|
-
|
33
|
+
type: :runtime
|
34
|
+
version_requirements: *id001
|
25
35
|
- !ruby/object:Gem::Dependency
|
26
36
|
name: flexmock
|
27
|
-
|
28
|
-
|
29
|
-
|
37
|
+
prerelease: false
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
30
40
|
requirements:
|
31
41
|
- - ">="
|
32
42
|
- !ruby/object:Gem::Version
|
43
|
+
hash: 3
|
44
|
+
segments:
|
45
|
+
- 0
|
33
46
|
version: "0"
|
34
|
-
|
47
|
+
type: :development
|
48
|
+
version_requirements: *id002
|
35
49
|
- !ruby/object:Gem::Dependency
|
36
50
|
name: hoe
|
37
|
-
|
38
|
-
|
39
|
-
|
51
|
+
prerelease: false
|
52
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
53
|
+
none: false
|
40
54
|
requirements:
|
41
55
|
- - ">="
|
42
56
|
- !ruby/object:Gem::Version
|
57
|
+
hash: 23
|
58
|
+
segments:
|
59
|
+
- 2
|
60
|
+
- 6
|
61
|
+
- 0
|
43
62
|
version: 2.6.0
|
44
|
-
|
63
|
+
type: :development
|
64
|
+
version_requirements: *id003
|
45
65
|
description: Tracksperanto is a universal 2D-track translator between many apps.
|
46
66
|
email:
|
47
67
|
- me@julik.nl
|
@@ -89,6 +109,7 @@ files:
|
|
89
109
|
- lib/import/shake_text.rb
|
90
110
|
- lib/import/syntheyes.rb
|
91
111
|
- lib/middleware/base.rb
|
112
|
+
- lib/middleware/flip.rb
|
92
113
|
- lib/middleware/golden.rb
|
93
114
|
- lib/middleware/length_cutoff.rb
|
94
115
|
- lib/middleware/lerp.rb
|
@@ -161,6 +182,7 @@ files:
|
|
161
182
|
- test/import/samples/shake_script/four_tracks_in_one_matchmove.shk
|
162
183
|
- test/import/samples/shake_script/four_tracks_in_one_stabilizer.shk
|
163
184
|
- test/import/samples/shake_script/from_matchmover.shk
|
185
|
+
- test/import/samples/shake_script/oldTrackerNode.shk
|
164
186
|
- test/import/samples/shake_script/shake_script_from_boujou.shk
|
165
187
|
- test/import/samples/shake_script/shake_tracker_nodes.shk
|
166
188
|
- test/import/samples/shake_script/shake_tracker_with_no_anim.shk
|
@@ -168,7 +190,6 @@ files:
|
|
168
190
|
- test/import/samples/shake_script/stabilize_nodes_with_hermite.shk
|
169
191
|
- test/import/samples/shake_script/three_tracks_in_one_stabilizer.shk
|
170
192
|
- test/import/samples/shake_script/two_tracks_in_one_tracker.shk
|
171
|
-
- test/import/samples/shake_script/oldTrackerNode.shk
|
172
193
|
- test/import/samples/shake_text/one_shake_tracker.txt
|
173
194
|
- test/import/samples/shake_text/one_shake_tracker_from_first.txt
|
174
195
|
- test/import/samples/shake_text/two_shake_trackers.txt
|
@@ -189,6 +210,7 @@ files:
|
|
189
210
|
- test/import/test_shake_script_import.rb
|
190
211
|
- test/import/test_shake_text_import.rb
|
191
212
|
- test/import/test_syntheyes_import.rb
|
213
|
+
- test/middleware/test_flip_middleware.rb
|
192
214
|
- test/middleware/test_golden_middleware.rb
|
193
215
|
- test/middleware/test_length_cutoff_middleware.rb
|
194
216
|
- test/middleware/test_lerp_middleware.rb
|
@@ -209,6 +231,7 @@ files:
|
|
209
231
|
- test/test_simple_export.rb
|
210
232
|
- test/test_tracker.rb
|
211
233
|
- test/test_tracksperanto.rb
|
234
|
+
- test/middleware/test_lens_distort_middleware.rb
|
212
235
|
has_rdoc: true
|
213
236
|
homepage: http://guerilla-di.org/tracksperanto
|
214
237
|
licenses: []
|
@@ -220,21 +243,27 @@ rdoc_options:
|
|
220
243
|
require_paths:
|
221
244
|
- lib
|
222
245
|
required_ruby_version: !ruby/object:Gem::Requirement
|
246
|
+
none: false
|
223
247
|
requirements:
|
224
248
|
- - ">="
|
225
249
|
- !ruby/object:Gem::Version
|
250
|
+
hash: 3
|
251
|
+
segments:
|
252
|
+
- 0
|
226
253
|
version: "0"
|
227
|
-
version:
|
228
254
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
255
|
+
none: false
|
229
256
|
requirements:
|
230
257
|
- - ">="
|
231
258
|
- !ruby/object:Gem::Version
|
259
|
+
hash: 3
|
260
|
+
segments:
|
261
|
+
- 0
|
232
262
|
version: "0"
|
233
|
-
version:
|
234
263
|
requirements: []
|
235
264
|
|
236
265
|
rubyforge_project: guerilla-di
|
237
|
-
rubygems_version: 1.3.
|
266
|
+
rubygems_version: 1.3.7
|
238
267
|
signing_key:
|
239
268
|
specification_version: 3
|
240
269
|
summary: Tracksperanto is a universal 2D-track translator between many apps.
|
@@ -264,6 +293,7 @@ test_files:
|
|
264
293
|
- test/import/test_shake_script_import.rb
|
265
294
|
- test/import/test_shake_text_import.rb
|
266
295
|
- test/import/test_syntheyes_import.rb
|
296
|
+
- test/middleware/test_flip_middleware.rb
|
267
297
|
- test/middleware/test_golden_middleware.rb
|
268
298
|
- test/middleware/test_length_cutoff_middleware.rb
|
269
299
|
- test/middleware/test_lens_distort_middleware.rb
|