flame_channel_parser 4.0.2 → 4.1.1

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.
@@ -1,6 +1,5 @@
1
1
  require "helper"
2
2
 
3
-
4
3
  class TestFlameChannelParser < Test::Unit::TestCase
5
4
  D = 0.0001
6
5
 
@@ -0,0 +1,39 @@
1
+ require "helper"
2
+
3
+ class TestInspector < Test::Unit::TestCase
4
+ REF_TIMEWARP = File.dirname(__FILE__) + "/snaps/TW.timewarp"
5
+ REF_TIMEWARP_OUTPUT_PATH = File.dirname(__FILE__) + "/test_inspector_ref_output_timewarp.txt"
6
+
7
+ REF_STABILIZER = File.dirname(__FILE__) + '/stabilizer_examples/2014_cornerpin_points.stabilizer'
8
+ REF_STABILIZER_OUTPUT_PATH = File.dirname(__FILE__) + "/test_inspector_ref_output_stabilizer.txt"
9
+
10
+ def test_inspecting_baked_timewarp_from_2011
11
+ data = File.open(REF_TIMEWARP)
12
+ channels = FlameChannelParser.parse(data)
13
+
14
+ inspector = FlameChannelParser::Inspector.new(channels)
15
+ output = ''
16
+
17
+ inspector.pretty_print(StringIO.new(output))
18
+
19
+ #File.open(REF_TIMEWARP_OUTPUT_PATH, 'w'){|f| f << output }
20
+
21
+ ref = File.read(REF_TIMEWARP_OUTPUT_PATH)
22
+ assert_equal ref, output
23
+ end
24
+
25
+ def test_parsing_stabilizer_from_2014
26
+ data = File.open(REF_STABILIZER)
27
+ channels = FlameChannelParser.parse(data)
28
+
29
+ inspector = FlameChannelParser::Inspector.new(channels)
30
+ output = ''
31
+
32
+ inspector.pretty_print(StringIO.new(output))
33
+
34
+ #File.open(REF_STABILIZER_OUTPUT_PATH, 'w'){|f| f << output }
35
+
36
+ ref = File.read(REF_STABILIZER_OUTPUT_PATH)
37
+ assert_equal ref, output
38
+ end
39
+ end
@@ -0,0 +1,76 @@
1
+ tracker0_0
2
+ ref
3
+ x - animated, 1 key at 1, value 505.5
4
+ y - animated, 1 key at 1, value -496.5
5
+ width - no animations, value 10.0
6
+ height - no animations, value 10.0
7
+ dx - animated, 2 keys, first at 0 last at 1
8
+ dy - animated, 2 keys, first at 0 last at 1
9
+ track
10
+ x - no animations, value 960.0
11
+ y - no animations, value 540.0
12
+ width - no animations, value 15.0
13
+ height - no animations, value 15.0
14
+ shift
15
+ x - animated, 201 keys, first at 1 last at 201
16
+ y - animated, 201 keys, first at 1 last at 201
17
+ offset
18
+ x - no animations, value 0.0
19
+ y - no animations, value 0.0
20
+ tracker0_1
21
+ ref
22
+ x - animated, 1 key at 1, value 550.5
23
+ y - animated, 1 key at 1, value -12.5
24
+ width - no animations, value 10.0
25
+ height - no animations, value 10.0
26
+ dx - animated, 2 keys, first at 0 last at 1
27
+ dy - animated, 2 keys, first at 0 last at 1
28
+ track
29
+ x - no animations, value 960.0
30
+ y - no animations, value 540.0
31
+ width - no animations, value 15.0
32
+ height - no animations, value 15.0
33
+ shift
34
+ x - animated, 201 keys, first at 1 last at 201
35
+ y - animated, 201 keys, first at 1 last at 201
36
+ offset
37
+ x - no animations, value 0.0
38
+ y - no animations, value 0.0
39
+ tracker1_0
40
+ ref
41
+ x - animated, 1 key at 1, value 1409.75403
42
+ y - animated, 1 key at 1, value -504.210999
43
+ width - no animations, value 10.0
44
+ height - no animations, value 10.0
45
+ dx - animated, 2 keys, first at 0 last at 1
46
+ dy - animated, 2 keys, first at 0 last at 1
47
+ track
48
+ x - no animations, value 960.0
49
+ y - no animations, value 540.0
50
+ width - no animations, value 15.0
51
+ height - no animations, value 15.0
52
+ shift
53
+ x - animated, 201 keys, first at 1 last at 201
54
+ y - animated, 201 keys, first at 1 last at 201
55
+ offset
56
+ x - no animations, value 0.0
57
+ y - no animations, value 0.0
58
+ tracker1_1
59
+ ref
60
+ x - animated, 1 key at 1, value 1402.0
61
+ y - animated, 1 key at 1, value -13.0
62
+ width - no animations, value 10.0
63
+ height - no animations, value 10.0
64
+ dx - animated, 2 keys, first at 0 last at 1
65
+ dy - animated, 2 keys, first at 0 last at 1
66
+ track
67
+ x - no animations, value 960.0
68
+ y - no animations, value 540.0
69
+ width - no animations, value 15.0
70
+ height - no animations, value 15.0
71
+ shift
72
+ x - animated, 202 keys, first at 1 last at 202
73
+ y - animated, 202 keys, first at 1 last at 202
74
+ offset
75
+ x - no animations, value 0.0
76
+ y - no animations, value 0.0
@@ -0,0 +1,10 @@
1
+ Speed - animated, 816 keys, first at 1 last at 816
2
+ Timing
3
+ Timing - animated, 816 keys, first at 1 last at 816
4
+ Mix
5
+ Mix - no animations, value 0.0
6
+ Trail
7
+ Pre_Trail - no animations, value 1.0
8
+ Pre_Weight - no animations, value 100.0
9
+ Post_Trail - no animations, value 1.0
10
+ Post_Weight - no animations, value 100.0
@@ -1,8 +1,6 @@
1
1
  require "helper"
2
2
 
3
-
4
- require File.dirname(__FILE__) + "/../lib/flame_channel_parser"
5
-
3
+ # TODO: refactor to not use the parser
6
4
  class TestInterpolator < Test::Unit::TestCase
7
5
  DELTA = 0.05
8
6
 
@@ -121,6 +119,16 @@ class TestInterpolator < Test::Unit::TestCase
121
119
  assert_in_delta 374.75, interp.sample_at(300), DELTA
122
120
  end
123
121
 
122
+ def test_xml_timewarp_with_float_frames
123
+ data = File.open(File.dirname(__FILE__) + "/snaps/BatchTimewarp_ext1.timewarp_node")
124
+ channels_in_tw = FlameChannelParser.parse(data)
125
+ chan = channels_in_tw.find{|c| c.name == "Timing"}
126
+
127
+ interp = chan.to_interpolator
128
+ assert_in_delta 1, interp.sample_at(1), DELTA
129
+ assert_in_delta 242.88, interp.sample_at(300), DELTA
130
+ end
131
+
124
132
  def test_descending_linear_prepolate
125
133
  data = File.open(File.dirname(__FILE__) + "/snaps/RefT_Steadicam.timewarp")
126
134
  channels_in_tw = FlameChannelParser.parse(data)
metadata CHANGED
@@ -1,71 +1,85 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flame_channel_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.2
5
- prerelease:
4
+ version: 4.1.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Julik Tarkhanov
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2011-12-30 00:00:00.000000000 Z
11
+ date: 2018-12-19 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: update_hints
16
- requirement: &10803030 !ruby/object:Gem::Requirement
17
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
- - - ~>
17
+ - - "~>"
20
18
  - !ruby/object:Gem::Version
21
19
  version: '1.0'
22
20
  type: :runtime
23
21
  prerelease: false
24
- version_requirements: *10803030
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.0'
25
27
  - !ruby/object:Gem::Dependency
26
28
  name: framecurve
27
- requirement: &10802730 !ruby/object:Gem::Requirement
28
- none: false
29
+ requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
- - - ~>
31
+ - - "~>"
31
32
  - !ruby/object:Gem::Version
32
- version: 1.0.1
33
+ version: '2'
33
34
  type: :runtime
34
35
  prerelease: false
35
- version_requirements: *10802730
36
- - !ruby/object:Gem::Dependency
37
- name: jeweler
38
- requirement: &10802450 !ruby/object:Gem::Requirement
39
- none: false
36
+ version_requirements: !ruby/object:Gem::Requirement
40
37
  requirements:
41
- - - ! '>='
38
+ - - "~>"
42
39
  - !ruby/object:Gem::Version
43
- version: '0'
44
- type: :development
45
- prerelease: false
46
- version_requirements: *10802450
40
+ version: '2'
47
41
  - !ruby/object:Gem::Dependency
48
42
  name: rake
49
- requirement: &10802170 !ruby/object:Gem::Requirement
50
- none: false
43
+ requirement: !ruby/object:Gem::Requirement
51
44
  requirements:
52
- - - ! '>='
45
+ - - ">="
53
46
  - !ruby/object:Gem::Version
54
47
  version: '0'
55
48
  type: :development
56
49
  prerelease: false
57
- version_requirements: *10802170
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
58
55
  - !ruby/object:Gem::Dependency
59
56
  name: cli_test
60
- requirement: &10801880 !ruby/object:Gem::Requirement
61
- none: false
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
62
65
  requirements:
63
- - - ~>
66
+ - - "~>"
64
67
  - !ruby/object:Gem::Version
65
68
  version: '1.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: test-unit
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
66
76
  type: :development
67
77
  prerelease: false
68
- version_requirements: *10801880
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  description: Reads and interpolates animation channels in IFFS setups
70
84
  email: me@julik.nl
71
85
  executables:
@@ -74,15 +88,17 @@ executables:
74
88
  - framecurve_to_flame
75
89
  extensions: []
76
90
  extra_rdoc_files:
77
- - README.rdoc
91
+ - README.md
78
92
  files:
79
- - .autotest
80
- - .travis.yml
93
+ - ".autotest"
94
+ - ".gitignore"
95
+ - ".travis.yml"
81
96
  - Gemfile
82
97
  - History.txt
83
- - README.rdoc
98
+ - README.md
84
99
  - Rakefile
85
100
  - bin/bake_flame_channel
101
+ - bin/flame_channel_inspect
86
102
  - bin/framecurve_from_flame
87
103
  - bin/framecurve_to_flame
88
104
  - flame_channel_parser.gemspec
@@ -90,6 +106,7 @@ files:
90
106
  - lib/channel.rb
91
107
  - lib/extractor.rb
92
108
  - lib/flame_channel_parser.rb
109
+ - lib/flame_channel_parser/version.rb
93
110
  - lib/framecurve_writers/base.rb
94
111
  - lib/framecurve_writers/batch_timewarp.rb
95
112
  - lib/framecurve_writers/kronos.rb
@@ -98,6 +115,7 @@ files:
98
115
  - lib/framecurve_writers/templates/SampleKronos.F_Kronos
99
116
  - lib/framecurve_writers/templates/TW_Sample.timewarp
100
117
  - lib/framecurve_writers/templates/key.xml
118
+ - lib/inspector.rb
101
119
  - lib/interpolator.rb
102
120
  - lib/key.rb
103
121
  - lib/parser.rb
@@ -129,6 +147,7 @@ files:
129
147
  - test/snaps/TW_SingleFrameExtrapolated_from2011.timewarp
130
148
  - test/snaps/TW_TEST.F_Kronos
131
149
  - test/snaps/timewarp_where_interp_fails_at_end.timewarp
150
+ - test/stabilizer_examples/2014_cornerpin_points.stabilizer
132
151
  - test/test_bake_flame_channel_binary.rb
133
152
  - test/test_base_timewarp_writer.rb
134
153
  - test/test_batch_timewarp_writer.rb
@@ -138,6 +157,9 @@ files:
138
157
  - test/test_extractor.rb
139
158
  - test/test_flame_builder.rb
140
159
  - test/test_flame_channel_parser.rb
160
+ - test/test_inspector.rb
161
+ - test/test_inspector_ref_output_stabilizer.txt
162
+ - test/test_inspector_ref_output_timewarp.txt
141
163
  - test/test_interpolator.rb
142
164
  - test/test_key.rb
143
165
  - test/test_kronos_timewarp_writer.rb
@@ -159,25 +181,24 @@ files:
159
181
  homepage: http://guerilla-di.org/flame-channel-parser/
160
182
  licenses:
161
183
  - MIT
184
+ metadata: {}
162
185
  post_install_message:
163
186
  rdoc_options: []
164
187
  require_paths:
165
188
  - lib
166
189
  required_ruby_version: !ruby/object:Gem::Requirement
167
- none: false
168
190
  requirements:
169
- - - ! '>='
191
+ - - ">="
170
192
  - !ruby/object:Gem::Version
171
193
  version: '0'
172
194
  required_rubygems_version: !ruby/object:Gem::Requirement
173
- none: false
174
195
  requirements:
175
- - - ! '>='
196
+ - - ">="
176
197
  - !ruby/object:Gem::Version
177
198
  version: '0'
178
199
  requirements: []
179
200
  rubyforge_project:
180
- rubygems_version: 1.8.11
201
+ rubygems_version: 2.7.6
181
202
  signing_key:
182
203
  specification_version: 3
183
204
  summary: A parser/interpolator for Flame/Smoke animation curves