flame_channel_parser 3.0.0 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
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