flame_channel_parser 3.0.0 → 4.0.0

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.
Files changed (47) hide show
  1. data/.travis.yml +4 -0
  2. data/Gemfile +10 -0
  3. data/History.txt +5 -0
  4. data/README.rdoc +4 -2
  5. data/Rakefile +23 -10
  6. data/bin/{bake_flame_timewarp → framecurve_from_flame} +5 -1
  7. data/bin/framecurve_to_flame +22 -0
  8. data/flame_channel_parser.gemspec +130 -0
  9. data/lib/builder.rb +86 -0
  10. data/lib/flame_channel_parser.rb +31 -4
  11. data/lib/framecurve_writers/base.rb +49 -0
  12. data/lib/framecurve_writers/batch_timewarp.rb +41 -0
  13. data/lib/framecurve_writers/kronos.rb +23 -0
  14. data/lib/framecurve_writers/softfx_timewarp.rb +82 -0
  15. data/lib/framecurve_writers/templates/BatchTW.xml +118 -0
  16. data/lib/framecurve_writers/templates/SampleKronos.F_Kronos +376 -0
  17. data/lib/framecurve_writers/templates/TW_Sample.timewarp +79 -0
  18. data/lib/framecurve_writers/templates/key.xml +10 -0
  19. data/lib/timewarp_extractor.rb +18 -2
  20. data/lib/xml_parser.rb +90 -0
  21. data/test/helper.rb +18 -0
  22. data/test/snaps/BatchTimewar_proper.xml +157 -0
  23. data/test/snaps/BatchTimewarp_ext1.timewarp_node +1 -0
  24. data/test/test_base_timewarp_writer.rb +22 -0
  25. data/test/test_batch_timewarp_writer.rb +18 -0
  26. data/test/test_channel.rb +1 -2
  27. data/test/test_cli.rb +14 -13
  28. data/test/test_cli_framecurve_to_flame.rb +45 -0
  29. data/test/test_cli_timewarp_extractor.rb +19 -9
  30. data/test/test_extractor.rb +1 -3
  31. data/test/test_flame_builder.rb +68 -0
  32. data/test/test_flame_channel_parser.rb +2 -2
  33. data/test/test_interpolator.rb +15 -5
  34. data/test/test_key.rb +2 -2
  35. data/test/test_kronos_timewarp_writer.rb +16 -0
  36. data/test/test_segments.rb +1 -2
  37. data/test/test_softfx_timewarp_writer.rb +16 -0
  38. data/test/test_timewarp_extractor.rb +2 -4
  39. data/test/test_xml_setup.rb +37 -0
  40. data/test/timewarp_examples/TW_16_010_v01.output.txt +430 -428
  41. data/test/timewarp_examples/simple.framecurve.txt +32 -0
  42. data/test/timewarp_export_samples/BatchTW.timewarp_node +145 -0
  43. data/test/timewarp_export_samples/Kronos.F_Kronos +403 -0
  44. data/test/timewarp_export_samples/SoftFX.timewarp +81 -0
  45. metadata +127 -168
  46. data/.gemtest +0 -0
  47. data/Manifest.txt +0 -52
@@ -0,0 +1,32 @@
1
+ # http://framecurve.org/specification-v1
2
+ # at_frame use_frame_of_source
3
+ 1 1.00000
4
+ 2 2.00000
5
+ 3 3.00000
6
+ 4 4.00000
7
+ 5 5.00000
8
+ 6 6.00000
9
+ 7 7.00000
10
+ 8 8.00000
11
+ 9 9.00000
12
+ 10 10.00000
13
+ 11 11.00000
14
+ 12 12.00000
15
+ 13 13.00000
16
+ 14 14.00000
17
+ 15 15.00000
18
+ 16 16.00000
19
+ 17 17.00000
20
+ 18 18.00000
21
+ 19 19.00000
22
+ 20 20.00000
23
+ 21 21.00000
24
+ 22 22.00000
25
+ 23 23.00000
26
+ 24 24.00000
27
+ 25 25.00000
28
+ 26 26.00000
29
+ 27 27.00000
30
+ 28 28.00000
31
+ 29 29.00000
32
+ 30 30.00000
@@ -0,0 +1,145 @@
1
+ <?xml version="1.0"?>
2
+ <Setup>
3
+ <Base>
4
+ <Version>7.130000</Version>
5
+ <NAME>timewarp3</NAME>
6
+ <Note/>
7
+ <Expanded>False</Expanded>
8
+ <ScrollBar>0</ScrollBar>
9
+ <Frames>0</Frames>
10
+ <Current_Time>82</Current_Time>
11
+ <Input_DataType>3</Input_DataType>
12
+ <ClampMode>0</ClampMode>
13
+ <AdapDegrad>False</AdapDegrad>
14
+ </Base>
15
+ <State>
16
+ <TW_FlowQuality>4</TW_FlowQuality>
17
+ <TW_DoBlur>False</TW_DoBlur>
18
+ <TW_BlurPhase>0</TW_BlurPhase>
19
+ <TW_DoBlurReference>False</TW_DoBlurReference>
20
+ <TW_BlurRefColor>
21
+ <R>1.000000</R>
22
+ <G>0.000000</G>
23
+ <B>0.000000</B>
24
+ <A>1.000000</A>
25
+ </TW_BlurRefColor>
26
+ <TW_FrameMode>0</TW_FrameMode>
27
+ <TW_SamplingMode>0</TW_SamplingMode>
28
+ <TW_StartFrameIn>1</TW_StartFrameIn>
29
+ <TW_EndFrameIn>102.0</TW_EndFrameIn>
30
+ <TW_RenderMode>0</TW_RenderMode>
31
+ <TW_ReverseCurves>False</TW_ReverseCurves>
32
+ <TW_HeadMode>0</TW_HeadMode>
33
+ <TW_TailMode>0</TW_TailMode>
34
+ <TW_Regen>False</TW_Regen>
35
+ <TW_RetimerMode>1</TW_RetimerMode>
36
+ <TW_ReferencePointX>
37
+ <Channel Name="X"/>
38
+ </TW_ReferencePointX>
39
+ <TW_ReferencePointY>
40
+ <Channel Name="Y"/>
41
+ </TW_ReferencePointY>
42
+ <TW_Speed>
43
+ <Channel Name="Speed">
44
+ <Extrap>constant</Extrap>
45
+ <Value>100</Value>
46
+ <Size>1</Size>
47
+ <KeyVersion>2.000000</KeyVersion>
48
+ <KFrames>
49
+ <Key Index="0">
50
+ <Frame>1.000000</Frame>
51
+ <Value>100</Value>
52
+ <RHandleX>1.297667</RHandleX>
53
+ <RHandleY>100.000000</RHandleY>
54
+ <LHandleX>0.750000</LHandleX>
55
+ <LHandleY>100.000000</LHandleY>
56
+ <CurveMode>hermite</CurveMode>
57
+ <CurveOrder>linear</CurveOrder>
58
+ </Key>
59
+ </KFrames>
60
+ </Channel>
61
+ </TW_Speed>
62
+ <TW_SpeedTiming>
63
+ <Channel Name="SpeedTiming">
64
+ <Extrap>linear</Extrap>
65
+ <Value>1</Value>
66
+ <KeyVersion>2.000000</KeyVersion>
67
+ <Size>1</Size>
68
+ <KFrames>
69
+ <Key Index="0">
70
+ <Frame>1.000000</Frame>
71
+ <Value>1</Value>
72
+ <RHandleX>1.250000</RHandleX>
73
+ <RHandleY>1.250000</RHandleY>
74
+ <LHandleX>0.750000</LHandleX>
75
+ <LHandleY>0.750000</LHandleY>
76
+ <CurveMode>hermite</CurveMode>
77
+ <CurveOrder>quadratic</CurveOrder>
78
+ <RAutoSlope>False</RAutoSlope>
79
+ <LAutoSlope>False</LAutoSlope>
80
+ <TangentMode>manual</TangentMode>
81
+ </Key>
82
+ </KFrames>
83
+ </Channel>
84
+ </TW_SpeedTiming>
85
+ <TW_Timing>
86
+ <Channel Name="Timing">
87
+ <Extrap>linear</Extrap>
88
+ <Value>15.0</Value>
89
+ <Size>3</Size>
90
+ <KeyVersion>2.000000</KeyVersion>
91
+ <KFrames>
92
+ <Key Index="0">
93
+ <Frame>1</Frame>
94
+ <Value>15.0</Value>
95
+ <RHandleX>32.666668</RHandleX>
96
+ <RHandleY>36.319729</RHandleY>
97
+ <LHandleX>16.333334</LHandleX>
98
+ <LHandleY>14.986395</LHandleY>
99
+ <CurveMode>hermite</CurveMode>
100
+ <CurveOrder>linear</CurveOrder>
101
+ </Key><Key Index="1">
102
+ <Frame>15</Frame>
103
+ <Value>50.0</Value>
104
+ <RHandleX>32.666668</RHandleX>
105
+ <RHandleY>36.319729</RHandleY>
106
+ <LHandleX>16.333334</LHandleX>
107
+ <LHandleY>14.986395</LHandleY>
108
+ <CurveMode>hermite</CurveMode>
109
+ <CurveOrder>linear</CurveOrder>
110
+ </Key><Key Index="2">
111
+ <Frame>19</Frame>
112
+ <Value>102.0</Value>
113
+ <RHandleX>32.666668</RHandleX>
114
+ <RHandleY>36.319729</RHandleY>
115
+ <LHandleX>16.333334</LHandleX>
116
+ <LHandleY>14.986395</LHandleY>
117
+ <CurveMode>hermite</CurveMode>
118
+ <CurveOrder>linear</CurveOrder>
119
+ </Key>
120
+ </KFrames>
121
+ </Channel>
122
+ </TW_Timing>
123
+ <TW_BlurSamplesChannel>
124
+ <Channel Name="Samples"/>
125
+ </TW_BlurSamplesChannel>
126
+ <TW_BlurShutterChannel>
127
+ <Channel Name="Shutter"/>
128
+ </TW_BlurShutterChannel>
129
+ <TW_Mix>
130
+ <Channel Name="MixAmount"/>
131
+ </TW_Mix>
132
+ <TW_PreTrail>
133
+ <Channel Name="Pre"/>
134
+ </TW_PreTrail>
135
+ <TW_PreWeight>
136
+ <Channel Name="Pre"/>
137
+ </TW_PreWeight>
138
+ <TW_PostTrail>
139
+ <Channel Name="Post"/>
140
+ </TW_PostTrail>
141
+ <TW_PostWeight>
142
+ <Channel Name="Post"/>
143
+ </TW_PostWeight>
144
+ </State>
145
+ </Setup>
@@ -0,0 +1,403 @@
1
+ SparkFileVersion 1
2
+ CreationDate Wed Dec 28 08:33:32 2011
3
+
4
+
5
+ Name /usr/discreet/sparks/Furnace3.1v1/F_Kronos.spark_x86_64.setup
6
+ frameHeight 576
7
+ frameWidth 720
8
+ BeginSetupCtrls
9
+ SPARK_OFF
10
+
11
+ SPARK_OFF
12
+
13
+ SPARK_OFF
14
+
15
+ SPARK_OFF
16
+
17
+ SPARK_OFF
18
+
19
+ SPARK_OFF
20
+
21
+ SPARK_OFF
22
+
23
+ SPARK_OFF
24
+
25
+ SPARK_OFF
26
+
27
+ SPARK_OFF
28
+
29
+ SPARK_OFF
30
+
31
+ SPARK_OFF
32
+
33
+ SPARK_OFF
34
+
35
+ SPARK_OFF
36
+
37
+ SPARK_OFF
38
+
39
+ SPARK_OFF
40
+
41
+ SPARK_OFF
42
+
43
+ SPARK_OFF
44
+
45
+ SPARK_OFF
46
+
47
+ SPARK_OFF
48
+
49
+ SPARK_OFF
50
+
51
+ SPARK_OFF
52
+
53
+ EndSetupCtrls
54
+ SPARK_OFF
55
+
56
+ SPARK_STRING <null>
57
+ SPARK_STRING <null>
58
+ SPARK_STRING <null>
59
+ SPARK_OFF
60
+
61
+ SPARK_STRING <null>
62
+ SPARK_PUP 1
63
+ SPARK_FLOAT 50
64
+ SPARK_FLOAT 1
65
+ SPARK_CHANNEL 8
66
+ Channel Frame
67
+ Value 123.000
68
+ Extrapolation constant
69
+ KeyVersion 1
70
+ Size 3
71
+ Key 0
72
+ Frame 1
73
+ Value 123.000
74
+ Interpolation linear
75
+ LeftSlope 2.400
76
+ RightSlope 2.400
77
+ End
78
+ Key 1
79
+ Frame 15
80
+ Value 124.000
81
+ Interpolation linear
82
+ LeftSlope 2.400
83
+ RightSlope 2.400
84
+ End
85
+ Key 2
86
+ Frame 19
87
+ Value 200.000
88
+ Interpolation linear
89
+ LeftSlope 2.400
90
+ RightSlope 2.400
91
+ End
92
+ End
93
+
94
+ Uncollapsed
95
+ End
96
+ SPARK_FLOAT 20
97
+ SPARK_FLOAT 500
98
+ SPARK_FLOAT 500
99
+ SPARK_INT 5
100
+ SPARK_PUP 0
101
+ SPARK_BOOL 0
102
+ SPARK_BOOL 0
103
+ SPARK_BOOL 0
104
+ SPARK_FLOAT 1
105
+ SPARK_INT 6
106
+ SPARK_PUP 1
107
+ SPARK_FLOAT 0
108
+ SPARK_INT 1
109
+ SPARK_BOOL 0
110
+ SPARK_OFF
111
+
112
+ SPARK_OFF
113
+
114
+ SPARK_PUP 0
115
+ SPARK_PUP 2
116
+ SPARK_FLOAT 29.8899994
117
+ SPARK_FLOAT 58.6599998
118
+ SPARK_FLOAT 11.4399996
119
+ SPARK_OFF
120
+
121
+ SPARK_OFF
122
+
123
+ SPARK_PUP 2
124
+ SPARK_PUP 0
125
+ SPARK_PUP 3
126
+ SPARK_FLOAT 0
127
+ SPARK_FLOAT 100
128
+ SPARK_FLOAT 100
129
+ SPARK_FLOAT 0
130
+ SPARK_OFF
131
+
132
+ SPARK_OFF
133
+
134
+ SPARK_OFF
135
+
136
+ SPARK_FLOAT 0
137
+ SPARK_FLOAT 100
138
+ SPARK_FLOAT 100
139
+ SPARK_FLOAT 0
140
+ SPARK_OFF
141
+
142
+ SPARK_OFF
143
+
144
+ SPARK_OFF
145
+
146
+ SPARK_FLOAT 0
147
+ SPARK_FLOAT 100
148
+ SPARK_FLOAT 100
149
+ SPARK_FLOAT 0
150
+ SPARK_OFF
151
+
152
+ SPARK_OFF
153
+
154
+ SPARK_OFF
155
+
156
+ SPARK_OFF
157
+
158
+ SPARK_OFF
159
+
160
+ SPARK_OFF
161
+
162
+ SPARK_OFF
163
+
164
+ SPARK_OFF
165
+
166
+ SPARK_OFF
167
+
168
+ SPARK_PUP 0
169
+ SPARK_PUP 3
170
+ SPARK_PUP 1
171
+ SPARK_OFF
172
+
173
+ SPARK_INT 28
174
+ SPARK_INT 1
175
+ SPARK_OFF
176
+
177
+ SPARK_OFF
178
+
179
+ SPARK_OFF
180
+
181
+ SPARK_OFF
182
+
183
+ SPARK_OFF
184
+
185
+ SPARK_OFF
186
+
187
+ SPARK_OFF
188
+
189
+ SPARK_OFF
190
+
191
+ SPARK_OFF
192
+
193
+ SPARK_OFF
194
+
195
+ SPARK_OFF
196
+
197
+ SPARK_OFF
198
+
199
+ SPARK_OFF
200
+
201
+ SPARK_OFF
202
+
203
+ SPARK_OFF
204
+
205
+ SPARK_OFF
206
+
207
+ SPARK_OFF
208
+
209
+ SPARK_OFF
210
+
211
+ SPARK_OFF
212
+
213
+ SPARK_OFF
214
+
215
+ SPARK_OFF
216
+
217
+ SPARK_OFF
218
+
219
+ SPARK_OFF
220
+
221
+ SPARK_PUP 0
222
+ SPARK_PUP 3
223
+ SPARK_OFF
224
+
225
+ SPARK_OFF
226
+
227
+ SPARK_OFF
228
+
229
+ SPARK_OFF
230
+
231
+ SPARK_OFF
232
+
233
+ SPARK_OFF
234
+
235
+ SPARK_OFF
236
+
237
+ SPARK_OFF
238
+
239
+ SPARK_OFF
240
+
241
+ SPARK_OFF
242
+
243
+ SPARK_OFF
244
+
245
+ SPARK_OFF
246
+
247
+ SPARK_OFF
248
+
249
+ SPARK_OFF
250
+
251
+ SPARK_OFF
252
+
253
+ SPARK_OFF
254
+
255
+ SPARK_OFF
256
+
257
+ SPARK_OFF
258
+
259
+ SPARK_OFF
260
+
261
+ SPARK_OFF
262
+
263
+ SPARK_OFF
264
+
265
+ SPARK_OFF
266
+
267
+ SPARK_OFF
268
+
269
+ SPARK_OFF
270
+
271
+ SPARK_OFF
272
+
273
+ SPARK_OFF
274
+
275
+ SPARK_OFF
276
+
277
+ SPARK_OFF
278
+
279
+ SPARK_OFF
280
+
281
+ SPARK_OFF
282
+ SPARK_OFF
283
+ SPARK_OFF
284
+ SPARK_OFF
285
+ SPARK_OFF
286
+ SPARK_OFF
287
+ SPARK_CE_FLOAT 0
288
+ SPARK_CE_FLOAT 0
289
+ SPARK_CE_FLOAT 0
290
+ SPARK_CE_FLOAT 0
291
+ SPARK_CE_FLOAT 0
292
+ SPARK_CE_FLOAT 0
293
+ SPARK_CE_FLOAT 0
294
+ SPARK_CE_FLOAT 0
295
+ SPARK_CE_FLOAT 0
296
+ SPARK_OFF
297
+ SPARK_OFF
298
+ SPARK_OFF
299
+ SPARK_CE_INT 1
300
+ SPARK_OFF
301
+ SPARK_OFF
302
+ SPARK_OFF
303
+ SPARK_OFF
304
+ SPARK_OFF
305
+ SPARK_OFF
306
+ SPARK_OFF
307
+ SPARK_OFF
308
+ SPARK_OFF
309
+ SPARK_OFF
310
+ SPARK_OFF
311
+ SPARK_OFF
312
+ SPARK_OFF
313
+ SPARK_OFF
314
+ SPARK_OFF
315
+ SPARK_OFF
316
+ SPARK_OFF
317
+ SPARK_OFF
318
+ SPARK_OFF
319
+ SPARK_OFF
320
+ SPARK_OFF
321
+ SPARK_OFF
322
+ SPARK_OFF
323
+ SPARK_OFF
324
+ SPARK_OFF
325
+ SPARK_OFF
326
+ SPARK_OFF
327
+ SPARK_OFF
328
+ SPARK_OFF
329
+ SPARK_OFF
330
+ SPARK_OFF
331
+ SPARK_OFF
332
+ SPARK_OFF
333
+ SPARK_OFF
334
+ SPARK_OFF
335
+ SPARK_OFF
336
+ SPARK_OFF
337
+ SPARK_OFF
338
+ SPARK_OFF
339
+ SPARK_OFF
340
+ SPARK_OFF
341
+ SPARK_OFF
342
+ SPARK_OFF
343
+ SPARK_OFF
344
+ SPARK_OFF
345
+ SPARK_OFF
346
+ SPARK_OFF
347
+ SPARK_OFF
348
+ SPARK_OFF
349
+ SPARK_OFF
350
+ SPARK_OFF
351
+ SPARK_OFF
352
+ SPARK_OFF
353
+ SPARK_OFF
354
+ SPARK_OFF
355
+ SPARK_OFF
356
+ SPARK_OFF
357
+ SPARK_OFF
358
+ SPARK_OFF
359
+ SPARK_OFF
360
+ SPARK_OFF
361
+ SPARK_OFF
362
+ SPARK_OFF
363
+ SPARK_OFF
364
+ SPARK_OFF
365
+ SPARK_OFF
366
+ SPARK_OFF
367
+ SPARK_OFF
368
+ SPARK_OFF
369
+ SPARK_OFF
370
+ SPARK_OFF
371
+ SPARK_OFF
372
+ SPARK_OFF
373
+ SPARK_OFF
374
+ SPARK_OFF
375
+ SPARK_OFF
376
+ SPARK_OFF
377
+ SPARK_OFF
378
+ SPARK_OFF
379
+ SPARK_OFF
380
+ SPARK_OFF
381
+ SPARK_OFF
382
+ SPARK_OFF
383
+ SPARK_OFF
384
+ SPARK_OFF
385
+ SPARK_OFF
386
+ SPARK_OFF
387
+ SPARK_OFF
388
+ SPARK_OFF
389
+ SPARK_OFF
390
+ SPARK_OFF
391
+ SPARK_OFF
392
+ SPARK_OFF
393
+ SPARK_OFF
394
+ SPARK_OFF
395
+ SPARK_OFF
396
+ SPARK_OFF
397
+ SPARK_OFF
398
+ SPARK_OFF
399
+ SPARK_OFF
400
+ SPARK_OFF
401
+ SPARK_OFF
402
+ SPARK_OFF
403
+ End