tracksperanto 4.1.3 → 4.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: aea1e905f44087579cc637b28900dba4bab3b036
4
- data.tar.gz: 34f6058e3f52951ea0da7b334a8ec5baaa47397c
2
+ SHA256:
3
+ metadata.gz: f768440fc22c699271edd268e05aaabcc809ef13a0bafcb73676b63ffd2aac4d
4
+ data.tar.gz: d1a4204240338acecaa3790df4d000d7dd76c22f62134011fb562187e6bcd0e0
5
5
  SHA512:
6
- metadata.gz: 75e0d37a377c6b7d5547ef7ab311495272d8d93c241a32f045a901c2776eb4f5ceae26870bd6afc370ed8303485f20d27a08b3b9ec14ee5b561390f50e685a2a
7
- data.tar.gz: dd1efea7b748dff230cf6db8f1d83dc42b5708407ad87063d991d6320eda7136e0daa27b82c86b6e09511c9c8f0fa5a71326351854af2ca02f63732f27e3df8f
6
+ metadata.gz: a1af6ec7a98771b55ec3da3e802f15ae56c19f587733a38b64efcb15846ae0d23926534f3ba1034b383d3411e0216657908aa5bcab794b3a0336720f01b06912
7
+ data.tar.gz: 6c74f9f68ff32ee1ecb0405d442d32519fab1918691fd34858c4abe2258bcd43f36d8255b88bea658f865ae2c04271ecfbfc98d9375b6c65017dfd4c404b6423
data/.travis.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  rvm:
2
- - 2.1.1
3
- - 2.5.0
2
+ - 2.4.7
3
+ - 3.0.0
4
4
  cache: bundler
5
5
  sudo: false
@@ -1,162 +1,184 @@
1
- === 3.5.9
1
+ ### 4.2.0
2
+
3
+ * Revert keyword arguments change in BlockInit so that compatibility with Ruby 3.x can be assured
4
+
5
+ ### 4.1.3
6
+
7
+ * Make sure the test corpus doesn't get included in the released gem (size constraints)
8
+
9
+ ### 4.1.2
10
+
11
+ * Update the used version of Tickly (used for Nuke scripts)
12
+
13
+ ### 4.1.0
14
+
15
+ * Iron out a few kinks with the now-smaller subset of Rubies we support
16
+
17
+ ### 4.0.0
18
+
19
+ * The version drop support for Ruby versions below 2.2 - older versions of Tracksperanto still can be installed and used, but not 4.x and newer. We need to make this change to simplify CI runs and the test matrix, also installing and running older Ruby versions is turning into more and more of a hassle
20
+ * Update some idioms for more modern Ruby syntax: introduce `require_relative` in most places, use `#tap` instead of `#returning` and other small modernizations
21
+ * Remove Jeweler which was used for packaging the gem and use just builtin Bundler features + .gemspec file
22
+
23
+ ### 3.5.9
2
24
 
3
25
  * Set the maximum version for some gems to reenable Ruby 1.8.7 installs
4
26
 
5
- === 3.5.8
27
+ ### 3.5.8
6
28
 
7
29
  * Fixes to MatchMover .rz import
8
30
 
9
- === 3.5.6
31
+ ### 3.5.6
10
32
 
11
33
  * SynthEyes has two export formats which creates confusion. Add snag messages to import moudules to hint that.
12
34
 
13
- === 3.5.5
35
+ ### 3.5.5
14
36
 
15
37
  * Fix joining animation curves that had negative frame numbers (might happen in Nuke scripts)
16
38
 
17
- === 3.5.4
39
+ ### 3.5.4
18
40
 
19
41
  * Fix parsing Nuke scripts with Tracker4 where some tracks were expression-only
20
42
  * Fix parsing Nuke scripts with Tracker4 nodes having empty or no tracks at all
21
43
 
22
- === 3.5.0
44
+ ### 3.5.0
23
45
 
24
46
  * Add early bailout if unsupported formats are fed in. Because some people just can't read.
25
47
 
26
- === 3.4.1
48
+ ### 3.4.1
27
49
 
28
50
  * Fix parsing of curve expressions with modifiers in Nuke scripts
29
51
 
30
- === 3.4.0
52
+ ### 3.4.0
31
53
 
32
54
  * Add specific Flame/Smoke exporters for IFFS 2014 and above, including updated cornerpin order
33
55
 
34
- === 3.3.13
56
+ ### 3.3.13
35
57
 
36
58
  * Fix the bug in Shake script imports where the import would fail if animation curves contained a non-numeric value
37
59
 
38
- === 3.3.12
60
+ ### 3.3.12
39
61
 
40
62
  * Fix the bug in MatchMover imports that caused the import to fail if the file contained a multiline path
41
63
 
42
- === 3.3.11
64
+ ### 3.3.11
43
65
 
44
66
  * Fix the bug that caused CLI short flags to be ignored
45
67
 
46
- === 3.3.10
68
+ ### 3.3.10
47
69
 
48
70
  * Use the updated Tickly for Nuke's animation curves that have a slightly different format
49
71
 
50
- === 3.3.9
72
+ ### 3.3.9
51
73
 
52
74
  * Use the updated Tickly that handles Winshitows line breaks gracefully
53
75
 
54
- === 3.3.8
76
+ ### 3.3.8
55
77
 
56
78
  * Small bugfix in the Nuke import module
57
79
  * Add Nuke Transform2D support for center and translate
58
80
 
59
- === 3.3.7
81
+ ### 3.3.7
60
82
 
61
83
  * Fix PlanarTracker import support in Nuke 7 scripts
62
84
  * Add Nuke CornerPin node support
63
85
 
64
- === 3.3.6
86
+ ### 3.3.6
65
87
 
66
88
  * Shake out the latest Bundler integration issues
67
89
 
68
- === 3.3.0
90
+ ### 3.3.0
69
91
 
70
92
  * Require dependencies using Bundler
71
93
  * Update to newer Tickly that has a faster parser
72
94
 
73
- === 3.2.2
95
+ ### 3.2.2
74
96
 
75
97
  * Bump a whole array of dependencies to speed up and simplify Nuke and Shake parsers
76
98
 
77
- === 3.2.1
99
+ ### 3.2.1
78
100
 
79
101
  * Improve Nuke 7 import support with the new version of Tickly
80
102
 
81
- === 3.2.0
103
+ ### 3.2.0
82
104
 
83
105
  * Add Nuke 7 import support
84
106
 
85
- === 3.1.0
107
+ ### 3.1.0
86
108
 
87
109
  * Add a Maxscript export module
88
110
 
89
- === 3.0.1
111
+ ### 3.0.1
90
112
 
91
113
  * Subtract 1 frame from PFTrack imports (PFTrack starts on 1)
92
114
 
93
- === 3.0.0
115
+ ### 3.0.0
94
116
 
95
117
  * Middleware renamed to Tools
96
118
  * Multiple subpixel accuracy tests added
97
119
  * Subpixel accuracy fixed for Syntheyes modules
98
120
  * Subpixel accuracy fixed for PFTrack modules
99
121
 
100
- === 2.12.0
122
+ ### 2.12.0
101
123
 
102
124
  * Add an export module for Nuke's CameraTracker node. This is just like the Shake format, except that tracker names have to be special.
103
125
 
104
- === 2.11.3
126
+ ### 2.11.3
105
127
 
106
128
  * Hint that we only support specific nodes in Nuke
107
129
  * Hint the user that a comp must be focused in AfterEffects when the import script is run without focusing on a comp first
108
130
 
109
- === 2.11.1
131
+ ### 2.11.1
110
132
 
111
133
  * Fixes a bug with importer snag display
112
134
 
113
- === 2.11.0
135
+ ### 2.11.0
114
136
 
115
137
  * This release adds a Softimage|XSI export module which outputs a Python script with moving nulls on an image plane
116
138
 
117
- === 2.10.0
139
+ ### 2.10.0
118
140
 
119
141
  * Nuke importer now supports PlanarTracker nodes and their corner-pin output
120
142
 
121
- === 2.9.9
143
+ ### 2.9.9
122
144
 
123
145
  * Add lens distortion tool. Adds the possibility to remove or add Syntheyes lens distortion to your plates.
124
146
 
125
- === 2.9.8
147
+ ### 2.9.8
126
148
 
127
149
  * Ensure that Boujou vertical coords start off 1, not off 0 - both in import and export
128
150
 
129
- === 2.9.7
151
+ ### 2.9.7
130
152
 
131
153
  * Add Syntheyes "All tracker paths" support
132
154
 
133
- === 2.9.6
155
+ ### 2.9.6
134
156
 
135
157
  * Add Nuke Reconcile3D support
136
158
  * Add Tool::Base.parameters for automatic GUI building
137
159
 
138
- === 2.9.5
160
+ ### 2.9.5
139
161
 
140
162
  * Export a Maya ASCII scene instead of a MEL script
141
163
 
142
- === 2.9.4
164
+ ### 2.9.4
143
165
 
144
166
  * Add MatchMover RZML import support
145
167
  * Export Boujou trackers starting at frame 0, not at frame 1
146
168
 
147
- === 2.9.3
169
+ ### 2.9.3
148
170
 
149
171
  * Add export for AE null layers as a .jsx script
150
172
 
151
- === 2.9.2
173
+ ### 2.9.2
152
174
 
153
175
  * In the Maya locator export, do not advance the timebar when creating trackers. Refreshing all these viewports is SLOW.
154
176
 
155
- === 2.9.1
177
+ ### 2.9.1
156
178
 
157
179
  * Adds an export module for Maya locators on an image plane
158
180
 
159
- === 2.9
181
+ ### 2.9
160
182
 
161
183
  * Tracker objects now use a Hash as internal storage model instead of being an Array delegate.
162
184
  Note that due to that some stuff might have become broken since behavior differs in subtle ways.
@@ -164,63 +186,63 @@
164
186
  * Make test runs architecture-resilient by hardcoding floats
165
187
  * Adds Tracker#to_ruby for people who like that sort of thing
166
188
 
167
- === 2.8.6
189
+ ### 2.8.6
168
190
 
169
191
  * Ensure the Flame cornerpin export module always exports points in the proper Z-order
170
192
 
171
- === 2.8.5
193
+ ### 2.8.5
172
194
 
173
195
  * Add Pad and Crop tools for fixing botched telecine and anamorphic Alexa
174
196
 
175
- === 2.8.2
197
+ ### 2.8.2
176
198
 
177
199
  * Fix release gemspec
178
200
 
179
- === 2.8.2
201
+ ### 2.8.2
180
202
 
181
203
  * Dramatically improve the update speed by not shipping the test cases with the gem anymore
182
204
  * Fix obuf for ruby 1.8x
183
205
 
184
- === 2.8.1
206
+ ### 2.8.1
185
207
 
186
208
  * Fix the bug that MatchMover importer would always assume the sequence starting on frame 1
187
209
  * Fix the bug that Lint tool would raise when the export was started from negative frame offsets
188
210
 
189
- === 2.8.0
211
+ ### 2.8.0
190
212
 
191
213
  * Add a special exporter for Flame cornerpins. Apparently the bilinear staiblizer wants the trackers to have the right names
192
214
  right from the start (top_left, top_right and so on)
193
215
  * Check trackers sent through to ensure that they always come sequentially without violating the frame ordering
194
216
 
195
- === 2.7.0
217
+ ### 2.7.0
196
218
 
197
219
  * Speedup Shake script parsing by using a buffering reader
198
220
 
199
- === 2.6.4
221
+ ### 2.6.4
200
222
 
201
223
  * Use various external dependencies that we extracted
202
224
  * Note that Nuke now supports import and export of camera tracker features!
203
225
 
204
- === 2.6.3
226
+ ### 2.6.3
205
227
 
206
228
  * Report progress from the parser for Flame, like it has been before
207
229
 
208
- === 2.6.2
230
+ ### 2.6.2
209
231
 
210
232
  * Fix missing progress percentages in the Flame import module
211
233
 
212
- === 2.6.1
234
+ ### 2.6.1
213
235
 
214
236
  * Fix errors that occurred when empty disabled trackers were present in Flame setups
215
237
  * Give better error reports when an unknown constant gets requested (like a wrong importer)
216
238
  * Use the flame_channel_parser gem now that it's stable.
217
239
 
218
- === 2.6.0
240
+ ### 2.6.0
219
241
 
220
242
  * Adds the --trim option to remove keyframes that come in negative frames (before frame 0).
221
243
  Some apps improperly handle such frames (Syntheyes)
222
244
 
223
- === 2.5.0
245
+ ### 2.5.0
224
246
 
225
247
  * No status display in the progress bar. It was an annoyance.
226
248
  * There are still crashes with flexmocks in tests, relevant flexmock issues filed upstream
@@ -228,266 +250,266 @@
228
250
  * Use update_hints gem for version checks
229
251
  * PFTrack 2011 and PFMAtchit actually use the same format, so we don't need to have 2 modules for them
230
252
 
231
- === 2.4.0
253
+ ### 2.4.0
232
254
 
233
255
  * Added an official PFTrack 2011 exporter that is verified
234
256
 
235
- === 2.3.3
257
+ ### 2.3.3
236
258
 
237
259
  * Fixed parsing of stereoscopic PFTrack exports
238
260
 
239
- === 2.3.2
261
+ ### 2.3.2
240
262
 
241
263
  * Fixed handling of inline comments which are tacked onto the line in in Shake scripts
242
264
 
243
- === 2.3.1
265
+ ### 2.3.1
244
266
 
245
267
  * Fixed support for curly braces in Shake scripts
246
268
  * Added checks to prevent exports with empty trackers or exports which contain no data at all
247
269
 
248
- === 2.3.0
270
+ ### 2.3.0
249
271
 
250
272
  * Fixed issue#1 (Last tracker in some Flame exports receives an empty shift channel)
251
273
  * Nicer progress reports
252
274
  * Modified the Accumulator to support nested iterations and random access
253
275
 
254
- === 2.2.4
276
+ ### 2.2.4
255
277
 
256
278
  * Properly deal with negative frames happening in Shake scripts sometimes. We will now recognize a script starting at negative
257
279
  frames and "bump" it's frames in curves so that everything neatly starts at frame 0. Granted this does not give us the same frame range
258
280
  but most apps wil go bonkers anyway if we send them negative frame numbers.
259
281
 
260
- === 2.2.3
282
+ ### 2.2.3
261
283
 
262
284
  * Prevent zero-length trackers (trackers having no position information) from being accumulated during import.
263
285
  This had adverse effects on export modules that could not export trackers containing no information. As a sidenote we
264
286
  will write down in the doco that an export module should not expect empty trackers with no keyframes to be sent
265
287
 
266
- === 2.2.2
288
+ ### 2.2.2
267
289
 
268
290
  * The last change to PFMatchit exporter had adverse effects on pftrack files, now fixed.
269
291
  * Pipeline now has it's own exceptions, all inheriting from RuntimeError
270
292
 
271
- === 2.2.1
293
+ ### 2.2.1
272
294
 
273
295
  * April fool!
274
296
  * PFMAtchit requires LF in it's files instead of CRLF, but our FPTrack exporter used CRLF. Now fixed.
275
297
  * Changed PFMatchit exporter to export .txt files instead of .2dt
276
298
 
277
- === 2.2.0
299
+ ### 2.2.0
278
300
 
279
301
  * Improve documentation substantially
280
302
  * Changed the Import::Base interface yo use enumeration instead of @receiver.
281
303
  Upside: This allows us to convert importers to an array of trackers and other niceties.
282
304
  Downside: stream_parse will be deprecated. It is however still available for backwards compatibility
283
305
 
284
- === 2.1.1
306
+ ### 2.1.1
285
307
 
286
308
  * Fix handling of Shake scripts containing stabilizer nodes with no animation
287
309
  * Remove underscores from tracker names exported to Syntheyes to prevent spaces from being generated
288
310
 
289
- === 2.1.0
311
+ ### 2.1.0
290
312
  * Adds PFMatchit import support. Also all PFTrack imported cameras will have a camera name injected into the tracker
291
313
  * Adds a PFMatchit exporter (PFMatchit only wants cameras with numbers in the name)
292
314
 
293
- === 2.0.2
315
+ ### 2.0.2
294
316
  * Compatible with Ruby 1.9.2
295
317
  * Scaler tool now supports negative scaling factors
296
318
 
297
- === 2.0.0
319
+ ### 2.0.0
298
320
  * Bugfix for PFTrack exports to contain cross-platform linebreaks (rn instead of n)
299
321
 
300
- === 1.9.9
322
+ ### 1.9.9
301
323
 
302
324
  * Buffer the parsed trackers on disk or in a stream (all backwards-compatible). Substantially reduces conversion times and memory
303
325
  usage on huge files.
304
326
 
305
- === 1.9.8
327
+ ### 1.9.8
306
328
 
307
329
  * Very minor changes and improvements
308
330
  * The app will now tell you when you try to feed it an empty file
309
331
  * Change Synetheyes exports to start with a standard frame and not a keyframe to make 1-frame trackers work
310
332
  * Adds a flip tool to mirror a tracked comp
311
333
 
312
- === 1.9.6
334
+ ### 1.9.6
313
335
 
314
336
  * Support Tracker nodes in Shake scripts that come from an old (ages old!) Shake version
315
337
  * Only parse channels that are actually relevant in the Flame importer
316
338
 
317
- === 1.9.5
339
+ ### 1.9.5
318
340
 
319
341
  * More stringently check for trackers in the Shake script importer (helps from recognizing arbitrary variables as trackers)
320
342
  * Increase the size of the in-mem string export buffer
321
343
 
322
- === 1.9.4
344
+ ### 1.9.4
323
345
 
324
346
  * Fix the boujou exporter to not crash boujou 5
325
347
 
326
- === 1.9.3
348
+ ### 1.9.3
327
349
 
328
350
  * Add direct export to boujou feature tracks
329
351
  * Automatically check for new versions and alert the user that he needs an update
330
352
  * Add tests for the commandline binary itself
331
353
 
332
- === 1.9.2
354
+ ### 1.9.2
333
355
 
334
356
  * Fix a crasher when the progress bar was being set higher than 100 percent
335
357
 
336
- === 1.9.1
358
+ ### 1.9.1
337
359
 
338
360
  * Fix a Pipeline bug introduced with the last version
339
361
 
340
- === 1.9.0
362
+ ### 1.9.0
341
363
 
342
364
  * Use proper progress bars
343
365
  * Allow proper chaining of tools in the commandline app - you can now apply many tools of the same nature in chain, and they will be ordered correctly
344
366
  * Small rewrites to Pipeline::Base (changes API slightly - please consult the docs)
345
367
 
346
- === 1.8.4
368
+ ### 1.8.4
347
369
 
348
370
  * Fix PFTrack imports neglecting the feature name if it only contained digits
349
371
 
350
- === 1.8.3
372
+ ### 1.8.3
351
373
 
352
374
  * Fix faulty remaining trackers report being sent from the pipeline
353
375
 
354
- === 1.8.2
376
+ ### 1.8.2
355
377
 
356
378
  * Fix the bug in the Flame exporter that was convincing Flame that there is only one tracker in the setup
357
379
  * Buffer temporary outputs to String buffers until they reach a certain size. Helps with tempfile pollution and IO speed
358
380
 
359
- === 1.8.1
381
+ ### 1.8.1
360
382
 
361
383
  * Add Flame stabilizer export support
362
384
 
363
- === 1.7.5
385
+ ### 1.7.5
364
386
 
365
387
  * Use a special IO so that we can display progress when parsing/reading a file (based on the IO offset)
366
388
 
367
- === 1.7.4
389
+ ### 1.7.4
368
390
 
369
391
  * Introduce an intentional gap in the reference exports to test trackers with gaps
370
392
  * Export Syntheyes paths as normal frames, not as keyframes. This produces better solves by not overconstraining the solver
371
393
  (Without this TransitionFrms, a crucial parameter in SY, seizes to work)
372
394
  * Add a LengthCutoff tool that allows you to remove trackers that have less than X keyframes in them from the export
373
395
 
374
- === 1.7.3
396
+ ### 1.7.3
375
397
 
376
398
  * Fixed the --only option in the commandline binary
377
399
 
378
- === 1.7.2
400
+ ### 1.7.2
379
401
 
380
402
  * Add a Lerp tool that linearly interpolates missing keyframes (USE CAREFULLY!)
381
403
  * Prevent the Shake lexer from walking into the woods on files that are certainly wrong
382
404
  * Export proper project length with Nuke scripts
383
405
  * Ensure preamble for Nuke exports does not get overriden in width/height
384
406
 
385
- === 1.7.1
407
+ ### 1.7.1
386
408
 
387
409
  * Fix Ruby 1.9 compatibility
388
410
 
389
- === 1.7.0
411
+ ### 1.7.0
390
412
 
391
413
  * Fix edge cases of specific comp sizes outputting incorrect exports for Equalizer 3 and MatchMover
392
414
 
393
- === 1.6.9
415
+ ### 1.6.9
394
416
 
395
417
  * Make the commandline progress reports shorter
396
418
 
397
- === 1.6.8
419
+ ### 1.6.8
398
420
 
399
421
  * Fix frame gap handling for repeating gaps in the Nuke importer
400
422
 
401
- === 1.6.7
423
+ ### 1.6.7
402
424
 
403
425
  * Fix frame gap sizes in the Nuke exporter (thanks Michael Lester)
404
426
 
405
- === 1.6.6
427
+ ### 1.6.6
406
428
 
407
429
  * Handle Hermite cuves in Shake scripts
408
430
 
409
- === 1.6.5
431
+ ### 1.6.5
410
432
 
411
433
  * Adds the --only option for the tracksperanto binary to only export a specific format
412
434
  * Automatically unlink tempfiles in the Equalizer4 exporter
413
435
 
414
- === 1.6.4
436
+ ### 1.6.4
415
437
 
416
438
  * Adds Boujou 2d feature import support (to export for Boujou use the Shake text format)
417
439
 
418
- === 1.6.3
440
+ ### 1.6.3
419
441
 
420
442
  * Fixes the Shake importer so that it doesn't apply correlation curves if they are not present or constantized to 1
421
443
 
422
- === 1.6.2
444
+ ### 1.6.2
423
445
 
424
446
  * Fixes the Reformat tool to not suppress the end_export call. Crucial for exporters that
425
447
  use end_export to finalize output
426
448
 
427
- === 1.6.0
449
+ ### 1.6.0
428
450
 
429
451
  * MatchMover has top-left coordinates - fixed for both import and export
430
452
  * Prevent Tracker from being Array#flatten'ed
431
453
 
432
- === 1.5.7
454
+ ### 1.5.7
433
455
 
434
456
  * Add a Prefix tool that prefixes tracker names
435
457
 
436
- === 1.5.6
458
+ ### 1.5.6
437
459
 
438
460
  * Rerelase of 1.5.5 without the huge binary blob in the middle
439
461
  * Interpret Shake NSplines as Linear instead of discarding them
440
462
 
441
- === 1.5.4
463
+ ### 1.5.4
442
464
 
443
465
  * Fix a bug in the Shake importer for tracks that have no animation
444
466
 
445
- === 1.5.37
467
+ ### 1.5.37
446
468
 
447
469
  * Fix a bug in the Nuke importer for tracks that have no animation
448
470
 
449
- === 1.5.2
471
+ ### 1.5.2
450
472
 
451
473
  * Fix Windows-specific issue (Tempfile-related) in the Equalizer4 exporter
452
474
  * Add Export::Base#just_export and Tool::Base#just_export
453
475
 
454
- === 1.5.0
476
+ ### 1.5.0
455
477
 
456
478
  * Implement support for older 3DE exports (in and out)
457
479
 
458
- === 1.4.0
480
+ ### 1.4.0
459
481
 
460
482
  * Implement MayaLive import and export
461
483
 
462
- === 1.3.1
484
+ ### 1.3.1
463
485
 
464
486
  * Implement 3DE import and export
465
487
 
466
- === 1.2.7
488
+ ### 1.2.7
467
489
 
468
490
  * Improved progress reporting
469
491
 
470
- === 1.2.6
492
+ ### 1.2.6
471
493
 
472
494
  * Add const_name to the classes being introspected most often
473
495
 
474
- === 1.2.5
496
+ ### 1.2.5
475
497
 
476
498
  * Reset residual on Syntheyes imports to 0
477
499
 
478
- === 1.2.4
500
+ ### 1.2.4
479
501
 
480
502
  * Write to files in binary mode
481
503
 
482
- === 1.2.3
504
+ ### 1.2.3
483
505
 
484
506
  * Support both PFTrack 4 and 5
485
507
 
486
- === 1.2.1
508
+ ### 1.2.1
487
509
 
488
510
  * Fixed the binary that was not able to properly pass the importer class to the pipeline
489
511
 
490
- === 1.2.0
512
+ ### 1.2.0
491
513
 
492
514
  * Add experimental MatchMoverPro import and export support
493
515
  * Rewrite the Shake parser, support MatchMove and Stabilize nodes and many tracks per node
@@ -498,6 +520,6 @@ Downside: stream_parse will be deprecated. It is however still available for bac
498
520
  * Much improved test coverage
499
521
  * Support Nuke import and export
500
522
 
501
- === 1.0.0
523
+ ### 1.0.0
502
524
 
503
525
  * Welcome
data/MIT_LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2009-2019 Julik Tarkhanov
1
+ Copyright (c) 2009-2022 Julik Tarkhanov
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -64,7 +64,10 @@ RubyGems system:
64
64
 
65
65
  $ sudo gem install tracksperanto
66
66
 
67
- Then you will have a "tracksperanto" binary in your $PATH, which you can use like this:
67
+ If you do not have administrator access on macOS you can follow the steps in [this video](https://youtu.be/p_f7dZrfcis)
68
+ to use the gem as a user.
69
+
70
+ Once these steps are complete you are going to have a `tracksperanto` binary in your $PATH, which you can use like this:
68
71
 
69
72
  $ tracksperanto -w 1920 -h 1080 /Films/Blockbuster/Shots/001/script.shk
70
73
 
@@ -81,7 +84,7 @@ For situations where you cannot install anything on your machine, or you run a s
81
84
  run Ruby decently, or you are in a locked-down environment, we offer a web-enabled version of
82
85
  Tracksperanto at the following URL:
83
86
 
84
- http://tracksperanto.guerilla-di.org/
87
+ https://tracksperanto.guerilla-di.org/
85
88
 
86
89
  This is a web-app which is always in lock-step with the main Tracksperanto in terms of versions,
87
90
  features and bug fixes. As a matter of principle, we reserve the right to use anything you upload
data/Rakefile CHANGED
@@ -5,7 +5,7 @@ desc "Run all tests"
5
5
  Rake::TestTask.new("test") do |t|
6
6
  t.libs << "test"
7
7
  t.pattern = 'test/**/test_*.rb'
8
- t.verbose = true
8
+ t.warning = false
9
9
  end
10
10
 
11
11
  # Automatically update the supported format list
@@ -19,7 +19,7 @@ class Tracksperanto::Import::PFTrack < Tracksperanto::Import::Base
19
19
  CHARACTERS_OR_QUOTES = /[AZaz"]/
20
20
  INTS = /^\d+$/
21
21
 
22
- def each
22
+ def each(&blk)
23
23
  until @io.eof?
24
24
  line = @io.gets
25
25
  next if (!line || line =~ /^#/)
@@ -27,13 +27,13 @@ class Tracksperanto::Import::PFTrack < Tracksperanto::Import::Base
27
27
  if line =~ CHARACTERS_OR_QUOTES # Tracker with a name
28
28
  name = unquote(line.strip)
29
29
  report_progress("Reading tracker #{name}")
30
- parse_trackers(name, @io, &Proc.new)
30
+ parse_trackers(name, @io, &blk)
31
31
  end
32
32
  end
33
33
  end
34
34
 
35
35
  private
36
- def parse_trackers(name, io)
36
+ def parse_trackers(name, io, &blk)
37
37
  first_tracker_line = io.gets.chomp
38
38
 
39
39
  # We will be reading one line too many possibly, so we need to know
@@ -57,7 +57,7 @@ class Tracksperanto::Import::PFTrack < Tracksperanto::Import::Base
57
57
  io.seek(cur_pos)
58
58
  return if !next_line || next_line.strip.empty?
59
59
 
60
- parse_trackers(name, io, &Proc.new)
60
+ parse_trackers(name, io, &blk)
61
61
  else
62
62
  num_of_keyframes = first_tracker_line.to_i
63
63
  # Backtrack to where we were on this IO so that the first line read will be the tracker
@@ -16,10 +16,10 @@ class Tracksperanto::Import::ShakeScript < Tracksperanto::Import::Base
16
16
  'Take care to remove expressions or nodes containing them first.'
17
17
  end
18
18
 
19
- def each
19
+ def each(&blk)
20
20
  s = Sentinel.new
21
21
  s.progress_proc = method(:report_progress)
22
- s.tracker_proc = Proc.new
22
+ s.tracker_proc = blk.to_proc
23
23
  TrackExtractor.new(@io, s)
24
24
  end
25
25
 
data/lib/tracksperanto.rb CHANGED
@@ -91,7 +91,6 @@ end
91
91
  # We do get loaded as a library so do not add to the load paths,
92
92
  # just load directly
93
93
  %w(
94
- returning
95
94
  const_name
96
95
  casts
97
96
  block_init
@@ -1,7 +1,7 @@
1
1
  # Implements the conventional constructor with "hash of attributes" and block support
2
2
  module Tracksperanto::BlockInit
3
- def initialize(**object_attribute_hash)
4
- object_attribute_hash.map { |(k, v)| public_send("#{k}=", v) }
3
+ def initialize(attributes = {})
4
+ attributes.map { |(k, v)| public_send("#{k}=", v) }
5
5
  yield(self) if block_given?
6
6
  end
7
7
  end
@@ -12,7 +12,6 @@ end
12
12
  # of the underlying string buffer exceeds MAX_IN_MEM_BYTES the string will be flushed to disk
13
13
  # and it automagically becomes a Tempfile
14
14
  class Tracksperanto::BufferIO < Tracksperanto::IOWrapper
15
- include Tracksperanto::Returning
16
15
 
17
16
  MAX_IN_MEM_BYTES = 5_000_000
18
17
 
@@ -21,16 +20,16 @@ class Tracksperanto::BufferIO < Tracksperanto::IOWrapper
21
20
  end
22
21
 
23
22
  def write(s)
24
- returning(super) { replace_with_tempfile_if_needed }
23
+ super.tap { replace_with_tempfile_if_needed }
25
24
  end
26
25
  alias_method :<<, :write
27
26
 
28
27
  def puts(s)
29
- returning(super) { replace_with_tempfile_if_needed }
28
+ super.tap { replace_with_tempfile_if_needed }
30
29
  end
31
30
 
32
31
  def putc(c)
33
- returning(super) { replace_with_tempfile_if_needed }
32
+ super.tap { replace_with_tempfile_if_needed }
34
33
  end
35
34
 
36
35
  def close!
@@ -59,7 +58,7 @@ class Tracksperanto::BufferIO < Tracksperanto::IOWrapper
59
58
  tf.set_encoding(Encoding::BINARY) if @rewindable_io.respond_to?(:set_encoding)
60
59
  tf.binmode
61
60
  tf.write(sio.string)
62
- tf.flush # Needed of we will reopen this file soon from another thread/loop
61
+ tf.flush # Needed if we are going to reopen this file soon from another thread/loop
63
62
  sio.string = ""
64
63
  GC.start
65
64
  @backing_buffer = tf
@@ -1,3 +1,3 @@
1
1
  module Tracksperanto
2
- VERSION = '4.1.3'
2
+ VERSION = '4.2.0'
3
3
  end
@@ -42,11 +42,12 @@ Gem::Specification.new do |spec|
42
42
  spec.add_runtime_dependency "flame_channel_parser", "~> 4", ">= 4.1.1"
43
43
  spec.add_runtime_dependency "progressbar", "0.10.0"
44
44
  spec.add_runtime_dependency "update_hints", "~> 1"
45
+ spec.add_runtime_dependency "rexml"
45
46
 
46
- spec.add_development_dependency "bundler", '~> 1'
47
+ spec.add_development_dependency "bundler"
47
48
  spec.add_development_dependency "test-unit", '~> 3'
48
49
  spec.add_development_dependency "approximately"
49
- spec.add_development_dependency "rake", '~> 10'
50
+ spec.add_development_dependency "rake"
50
51
  spec.add_development_dependency "linebyline"
51
52
  spec.add_development_dependency "flexmock"
52
53
  spec.add_development_dependency "cli_test", "~>1"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tracksperanto
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.3
4
+ version: 4.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julik Tarkhanov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-28 00:00:00.000000000 Z
11
+ date: 2021-03-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: obuf
@@ -120,20 +120,34 @@ dependencies:
120
120
  - - "~>"
121
121
  - !ruby/object:Gem::Version
122
122
  version: '1'
123
+ - !ruby/object:Gem::Dependency
124
+ name: rexml
125
+ requirement: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - ">="
128
+ - !ruby/object:Gem::Version
129
+ version: '0'
130
+ type: :runtime
131
+ prerelease: false
132
+ version_requirements: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - ">="
135
+ - !ruby/object:Gem::Version
136
+ version: '0'
123
137
  - !ruby/object:Gem::Dependency
124
138
  name: bundler
125
139
  requirement: !ruby/object:Gem::Requirement
126
140
  requirements:
127
- - - "~>"
141
+ - - ">="
128
142
  - !ruby/object:Gem::Version
129
- version: '1'
143
+ version: '0'
130
144
  type: :development
131
145
  prerelease: false
132
146
  version_requirements: !ruby/object:Gem::Requirement
133
147
  requirements:
134
- - - "~>"
148
+ - - ">="
135
149
  - !ruby/object:Gem::Version
136
- version: '1'
150
+ version: '0'
137
151
  - !ruby/object:Gem::Dependency
138
152
  name: test-unit
139
153
  requirement: !ruby/object:Gem::Requirement
@@ -166,16 +180,16 @@ dependencies:
166
180
  name: rake
167
181
  requirement: !ruby/object:Gem::Requirement
168
182
  requirements:
169
- - - "~>"
183
+ - - ">="
170
184
  - !ruby/object:Gem::Version
171
- version: '10'
185
+ version: '0'
172
186
  type: :development
173
187
  prerelease: false
174
188
  version_requirements: !ruby/object:Gem::Requirement
175
189
  requirements:
176
- - - "~>"
190
+ - - ">="
177
191
  - !ruby/object:Gem::Version
178
- version: '10'
192
+ version: '0'
179
193
  - !ruby/object:Gem::Dependency
180
194
  name: linebyline
181
195
  requirement: !ruby/object:Gem::Requirement
@@ -231,9 +245,9 @@ files:
231
245
  - ".tm_properties"
232
246
  - ".travis.yml"
233
247
  - ".yardopts"
248
+ - CHANGELOG.md
234
249
  - CONTRIBUTING.md
235
250
  - Gemfile
236
- - History.txt
237
251
  - MIT_LICENSE.txt
238
252
  - README.md
239
253
  - Rakefile
@@ -307,7 +321,6 @@ files:
307
321
  - lib/tracksperanto/keyframe.rb
308
322
  - lib/tracksperanto/parameters.rb
309
323
  - lib/tracksperanto/pf_coords.rb
310
- - lib/tracksperanto/returning.rb
311
324
  - lib/tracksperanto/safety.rb
312
325
  - lib/tracksperanto/simple_export.rb
313
326
  - lib/tracksperanto/tracker.rb
@@ -337,8 +350,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
337
350
  - !ruby/object:Gem::Version
338
351
  version: '0'
339
352
  requirements: []
340
- rubyforge_project:
341
- rubygems_version: 2.6.11
353
+ rubygems_version: 3.0.3
342
354
  signing_key:
343
355
  specification_version: 4
344
356
  summary: A universal 2D tracks converter
@@ -1,6 +0,0 @@
1
- module Tracksperanto::Returning
2
- # The "returning" idiom copied from ActiveSupport
3
- def returning(r)
4
- yield(r); r
5
- end
6
- end