tracksperanto 3.5.9 → 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 (243) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +14 -0
  3. data/.tm_properties +3 -0
  4. data/.travis.yml +5 -0
  5. data/.yardopts +5 -0
  6. data/Gemfile +1 -31
  7. data/MIT_LICENSE.txt +1 -1
  8. data/README.md +5 -5
  9. data/Rakefile +7 -32
  10. data/bin/tracksperanto +1 -1
  11. data/lib/export/base.rb +1 -2
  12. data/lib/export/boujou.rb +0 -1
  13. data/lib/export/cosa.rb +0 -1
  14. data/lib/export/equalizer3.rb +0 -1
  15. data/lib/export/equalizer4.rb +0 -1
  16. data/lib/export/flame_stabilizer.rb +0 -1
  17. data/lib/export/flame_stabilizer_2014.rb +0 -1
  18. data/lib/export/flame_stabilizer_2014_cornerpin.rb +0 -1
  19. data/lib/export/flame_stabilizer_cornerpin.rb +0 -1
  20. data/lib/export/match_mover.rb +0 -1
  21. data/lib/export/maxscript.rb +0 -1
  22. data/lib/export/maya_live.rb +0 -1
  23. data/lib/export/maya_locators.rb +0 -1
  24. data/lib/export/mux.rb +0 -1
  25. data/lib/export/nuke_cam_tk_usertracks.rb +1 -2
  26. data/lib/export/nuke_script.rb +0 -1
  27. data/lib/export/pfmatchit.rb +0 -1
  28. data/lib/export/pftrack.rb +0 -1
  29. data/lib/export/pftrack_5.rb +0 -1
  30. data/lib/export/ruby.rb +0 -1
  31. data/lib/export/shake_text.rb +0 -1
  32. data/lib/export/syntheyes.rb +0 -1
  33. data/lib/export/xsi.rb +0 -1
  34. data/lib/import/base.rb +0 -1
  35. data/lib/import/boujou.rb +0 -1
  36. data/lib/import/equalizer3.rb +0 -1
  37. data/lib/import/equalizer4.rb +0 -1
  38. data/lib/import/flame_stabilizer.rb +0 -1
  39. data/lib/import/match_mover.rb +0 -1
  40. data/lib/import/match_mover_rzml.rb +0 -1
  41. data/lib/import/maya_live.rb +0 -1
  42. data/lib/import/nuke_script.rb +0 -1
  43. data/lib/import/pftrack.rb +0 -1
  44. data/lib/import/shake_grammar/catcher.rb +0 -1
  45. data/lib/import/shake_grammar/lexer.rb +0 -1
  46. data/lib/import/shake_script.rb +2 -3
  47. data/lib/import/shake_text.rb +0 -1
  48. data/lib/import/syntheyes.rb +0 -1
  49. data/lib/import/syntheyes_all_tracker_paths.rb +0 -1
  50. data/lib/pipeline/base.rb +0 -2
  51. data/lib/tools/base.rb +0 -1
  52. data/lib/tools/crop.rb +0 -1
  53. data/lib/tools/flip.rb +0 -1
  54. data/lib/tools/flop.rb +0 -1
  55. data/lib/tools/golden.rb +0 -1
  56. data/lib/tools/length_cutoff.rb +0 -1
  57. data/lib/tools/lens_disto.rb +0 -1
  58. data/lib/tools/lerp.rb +0 -1
  59. data/lib/tools/lint.rb +0 -1
  60. data/lib/tools/move_to_first.rb +0 -1
  61. data/lib/tools/pad.rb +0 -1
  62. data/lib/tools/prefix.rb +0 -1
  63. data/lib/tools/reformat.rb +0 -1
  64. data/lib/tools/scaler.rb +0 -1
  65. data/lib/tools/shift.rb +0 -1
  66. data/lib/tools/slipper.rb +0 -1
  67. data/lib/tools/start_trim.rb +0 -1
  68. data/lib/tracksperanto.rb +1 -2
  69. data/lib/tracksperanto/blacklist.rb +0 -1
  70. data/lib/tracksperanto/block_init.rb +2 -4
  71. data/lib/tracksperanto/buffer_io.rb +0 -1
  72. data/lib/tracksperanto/casts.rb +0 -1
  73. data/lib/tracksperanto/const_name.rb +0 -1
  74. data/lib/tracksperanto/ext_io.rb +0 -1
  75. data/lib/tracksperanto/format_detector.rb +0 -1
  76. data/lib/tracksperanto/keyframe.rb +0 -1
  77. data/lib/tracksperanto/returning.rb +0 -1
  78. data/lib/tracksperanto/safety.rb +0 -1
  79. data/lib/tracksperanto/simple_export.rb +0 -1
  80. data/lib/tracksperanto/tracker.rb +0 -1
  81. data/lib/tracksperanto/uv_coordinates.rb +3 -4
  82. data/lib/tracksperanto/version.rb +3 -0
  83. data/lib/tracksperanto/zip_tuples.rb +0 -1
  84. data/test/export/README_EXPORT_TESTS.txt +1 -1
  85. data/test/export/test_ae_export.rb +0 -1
  86. data/test/export/test_boujou_export.rb +0 -1
  87. data/test/export/test_equalizer3_export.rb +0 -1
  88. data/test/export/test_equalizer_export.rb +0 -1
  89. data/test/export/test_flame_stabilizer_2014_cornerpin_export.rb +0 -1
  90. data/test/export/test_flame_stabilizer_2014_export.rb +0 -1
  91. data/test/export/test_flame_stabilizer_cornerpin_export.rb +0 -1
  92. data/test/export/test_flame_stabilizer_export.rb +0 -1
  93. data/test/export/test_match_mover_export.rb +0 -1
  94. data/test/export/test_maxscript.rb +0 -1
  95. data/test/export/test_maya_live_export.rb +0 -1
  96. data/test/export/test_maya_locators_export.rb +0 -1
  97. data/test/export/test_mux.rb +0 -1
  98. data/test/export/test_nuke_camtracker_export.rb +0 -1
  99. data/test/export/test_nuke_export.rb +0 -1
  100. data/test/export/test_pfmatchit_export.rb +0 -1
  101. data/test/export/test_pftrack5_export.rb +0 -1
  102. data/test/export/test_pftrack_export.rb +0 -1
  103. data/test/export/test_ruby_export.rb +0 -1
  104. data/test/export/test_shake_export.rb +0 -1
  105. data/test/export/test_syntheyes_export.rb +0 -1
  106. data/test/export/test_xsi_python_export.rb +0 -1
  107. data/test/helper.rb +12 -10
  108. data/test/import/samples/3de_v3/3de_export_v3.txt +2203 -0
  109. data/test/import/samples/3de_v4/3de_export_cube.txt +726 -0
  110. data/test/import/samples/3de_v4/FB1880_man_v05.txt +2402 -0
  111. data/test/import/samples/boujou_features_text/boujou_txt_export.txt +2885 -0
  112. data/test/import/samples/flame_stabilizer/FlameStab_Cornerpin_CorrectOrder.stabilizer +2758 -0
  113. data/test/import/samples/flame_stabilizer/FlameStab_Cornerpin_IncorrectOrder.stabilizer +2758 -0
  114. data/test/import/samples/flame_stabilizer/Flame_Stabilizer_2012.stabilizer +6954 -0
  115. data/test/import/samples/flame_stabilizer/cornerpin_2012.stabilizer +20958 -0
  116. data/test/import/samples/flame_stabilizer/flame2010_cornerpin.stabilizer +10792 -0
  117. data/test/import/samples/flame_stabilizer/flame_2012_another.stabilizer +2290 -0
  118. data/test/import/samples/flame_stabilizer/fromCombustion_fromMidClip_wSnap.stabilizer +2028 -0
  119. data/test/import/samples/flame_stabilizer/fromTracksperanto.stabilizer +541 -0
  120. data/test/import/samples/flame_stabilizer/hugeFlameSetup.stabilizer +263460 -0
  121. data/test/import/samples/flame_stabilizer/megaTrack.action.3dtrack.stabilizer +29793 -0
  122. data/test/import/samples/flame_stabilizer/stabilizer_2014_ref_for_reexport.stabilizer +2776 -0
  123. data/test/import/samples/flame_stabilizer/stabilizer_2014_stp.stabilizer +2536 -0
  124. data/test/import/samples/match_mover/2dtracks.rz2 +2076 -0
  125. data/test/import/samples/match_mover/EP_1000_head_trackers_v002.rz2 +935 -0
  126. data/test/import/samples/match_mover/NonSequentialMatchmoverPoints.rz2 +93306 -0
  127. data/test/import/samples/match_mover/cha_171_1020_atb_v001.rz2 +238 -0
  128. data/test/import/samples/match_mover/kipPointsMatchmover.rz2 +523 -0
  129. data/test/import/samples/match_mover_rzml/md_145_1070_right_t1.rzml +601 -0
  130. data/test/import/samples/mayalive/mayalive_kipShot.txt +1504 -0
  131. data/test/import/samples/nuke/018.nk +300 -0
  132. data/test/import/samples/nuke/45trackers.nk +331 -0
  133. data/test/import/samples/nuke/A099_L008_0207TW_001_head_R.nk +135 -0
  134. data/test/import/samples/nuke/cornerpin.nk +11 -0
  135. data/test/import/samples/nuke/curve-start-with-curve-command.nk +174 -0
  136. data/test/import/samples/nuke/failing_nuke7_trackers_job_1872.nk +112 -0
  137. data/test/import/samples/nuke/nuke708_tracker.nk +52 -0
  138. data/test/import/samples/nuke/nuke7_planar.nk +3143 -0
  139. data/test/import/samples/nuke/nuke7_tracker_2tracks.nk +116 -0
  140. data/test/import/samples/nuke/nuke7_transform2d.nk +69 -0
  141. data/test/import/samples/nuke/nuke8_tracker4_copypastes.nk +53 -0
  142. data/test/import/samples/nuke/one_tracker_with_break.nk +71 -0
  143. data/test/import/samples/nuke/one_tracker_with_break_in_grp.nk +91 -0
  144. data/test/import/samples/nuke/planar.nk +37692 -0
  145. data/test/import/samples/nuke/reconciles.nk +210 -0
  146. data/test/import/samples/nuke/sh110_trackers_004_ipad1.nk +56 -0
  147. data/test/import/samples/nuke/skip_invalid_curve_expressions.nk +62 -0
  148. data/test/import/samples/nuke/track_nuke8.nk +54 -0
  149. data/test/import/samples/nuke/tracker4_with_empty_tracks_knob.nk +13005 -0
  150. data/test/import/samples/nuke/tracker_with_differing_gaps.nk +82 -0
  151. data/test/import/samples/nuke/tracker_with_repeating_gaps.nk +79 -0
  152. data/test/import/samples/pfmatchit/pfmatchit_example.2dt +90 -0
  153. data/test/import/samples/pftrack4/sourcefile_pftrack.2dt +28972 -0
  154. data/test/import/samples/pftrack5/apft.2dt +164 -0
  155. data/test/import/samples/pftrack5/empty_trackers.2dt +30 -0
  156. data/test/import/samples/pftrack5/garage.2dt +79259 -0
  157. data/test/import/samples/pftrack5/stereo.2dt +21073 -0
  158. data/test/import/samples/shake_script/205_030_shaketrack_v01_pd.shk +379 -0
  159. data/test/import/samples/shake_script/REDACTED_shake_file.shk +317 -0
  160. data/test/import/samples/shake_script/cliff_many_stabilize.shk +675 -0
  161. data/test/import/samples/shake_script/comments_inline_with_args.shk +50 -0
  162. data/test/import/samples/shake_script/designated_global_range_starting_at_negative_frame.shk +496 -0
  163. data/test/{subpixel/shake_subpix_v01.shk → import/samples/shake_script/four_tracks_in_one_matchmove.shk} +50 -35
  164. data/test/import/samples/shake_script/four_tracks_in_one_stabilizer.shk +321 -0
  165. data/test/import/samples/shake_script/from_matchmover.shk +140 -0
  166. data/test/import/samples/shake_script/ofx_vardefs.shk +6 -0
  167. data/test/import/samples/shake_script/oldTrackerNode.shk +5 -0
  168. data/test/import/samples/shake_script/shake_script_from_boujou.shk +15 -0
  169. data/test/import/samples/shake_script/shake_tracker_nodes.shk +633 -0
  170. data/test/import/samples/shake_script/shake_tracker_with_no_anim.shk +6 -0
  171. data/test/import/samples/shake_script/shake_trackers_with_Nspline.shk +328 -0
  172. data/test/import/samples/shake_script/stabilize_nodes_with_hermite.shk +330 -0
  173. data/test/import/samples/shake_script/three_tracks_in_one_stabilizer.shk +320 -0
  174. data/test/import/samples/shake_script/track.shk +349 -0
  175. data/test/import/samples/shake_script/two_tracks_in_one_tracker.shk +319 -0
  176. data/test/import/samples/shake_text/nuke_camtracker.txt +11240 -0
  177. data/test/import/samples/shake_text/one_shake_tracker.txt +49 -0
  178. data/test/import/samples/shake_text/one_shake_tracker_from_first.txt +188 -0
  179. data/test/import/samples/shake_text/two_shake_trackers.txt +78 -0
  180. data/test/import/samples/syntheyes_2d_paths/cola_plate.txt +507 -0
  181. data/test/import/samples/syntheyes_2d_paths/flyover2DP_syntheyes.txt +12687 -0
  182. data/test/import/samples/syntheyes_2d_paths/morePoints_sy2010.txt +752 -0
  183. data/test/import/samples/syntheyes_2d_paths/one_tracker.txt +49 -0
  184. data/test/import/samples/syntheyes_2d_paths/shake_tracker_nodes_to_syntheyes.txt +4091 -0
  185. data/test/import/samples/syntheyes_all_tracker_paths/shot06_2dTracks.txt +6255 -0
  186. data/test/import/test_3de_import.rb +0 -1
  187. data/test/import/test_3de_import3.rb +0 -1
  188. data/test/import/test_boujou_import.rb +0 -1
  189. data/test/import/test_flame_import.rb +0 -1
  190. data/test/import/test_match_mover_import.rb +0 -1
  191. data/test/import/test_match_mover_rzml_import.rb +0 -1
  192. data/test/import/test_maya_live_import.rb +0 -1
  193. data/test/import/test_nuke_import.rb +0 -1
  194. data/test/import/test_pftrack_import.rb +0 -1
  195. data/test/import/test_shake_catcher.rb +0 -1
  196. data/test/import/test_shake_lexer.rb +0 -1
  197. data/test/import/test_shake_script_import.rb +0 -1
  198. data/test/import/test_shake_text_import.rb +0 -1
  199. data/test/import/test_syntheyes_all_tracker_paths_import.rb +0 -1
  200. data/test/import/test_syntheyes_import.rb +0 -1
  201. data/test/test_blacklist.rb +0 -1
  202. data/test/test_block_init.rb +0 -1
  203. data/test/test_buffer_io.rb +0 -1
  204. data/test/test_casts.rb +2 -3
  205. data/test/test_cli.rb +0 -1
  206. data/test/test_const_name.rb +0 -1
  207. data/test/test_extio.rb +0 -1
  208. data/test/test_format_detector.rb +0 -1
  209. data/test/test_keyframe.rb +0 -1
  210. data/test/test_parameters.rb +0 -1
  211. data/test/test_pipeline.rb +0 -1
  212. data/test/test_safety.rb +0 -1
  213. data/test/test_simple_export.rb +0 -1
  214. data/test/test_tracker.rb +0 -1
  215. data/test/test_tracksperanto.rb +0 -1
  216. data/test/test_uv_coords.rb +0 -1
  217. data/test/test_yield_non_empty.rb +0 -1
  218. data/test/test_zip_tuples.rb +0 -1
  219. data/test/tools/test_crop_middleware.rb +0 -1
  220. data/test/tools/test_flip_middleware.rb +0 -1
  221. data/test/tools/test_flop_middleware.rb +0 -1
  222. data/test/tools/test_golden_middleware.rb +0 -1
  223. data/test/tools/test_length_cutoff_middleware.rb +0 -1
  224. data/test/tools/test_lens_middleware.rb +0 -1
  225. data/test/tools/test_lerp_middleware.rb +0 -1
  226. data/test/tools/test_lint_middleware.rb +0 -1
  227. data/test/tools/test_move_to_first_frame_middleware.rb +0 -1
  228. data/test/tools/test_pad_middleware.rb +0 -1
  229. data/test/tools/test_prefix.rb +0 -1
  230. data/test/tools/test_reformat_middleware.rb +0 -1
  231. data/test/tools/test_scaler_middleware.rb +0 -1
  232. data/test/tools/test_shift_middleware.rb +0 -1
  233. data/test/tools/test_slip_middleware.rb +0 -1
  234. data/test/tools/test_start_trim_middleware.rb +0 -1
  235. data/tracksperanto.gemspec +53 -276
  236. metadata +136 -145
  237. data/test/subpixel/Flame_Smk2013_SubpixSample.stabilizer +0 -310
  238. data/test/subpixel/julik_pftrack.txt +0 -14
  239. data/test/subpixel/subpix_import_test.rb +0 -75
  240. data/test/subpixel/subpixel_grid.ifl +0 -1
  241. data/test/subpixel/subpixel_grid.sni +0 -0
  242. data/test/subpixel/subpixel_grid.tif +0 -0
  243. data/test/subpixel/sy_subpix_2dpaths.txt +0 -4
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 9e264b68ceb88f33989a1460b35b204396361d6a
4
+ data.tar.gz: a9817926412159174e096d203e568f94385eb778
5
+ SHA512:
6
+ metadata.gz: 73d18ee46c9b2a4393fef62bb4d77a080cd72ef186c2f700097ed6cd4b1819eb48cc29315480b3adc9c09963172fce65d86045d9c210f622c9d6bd00adbcefbd
7
+ data.tar.gz: a5c674765e4c0893bab3ebdfd7aa59afde26d27edc0dd032f0fe6469df6f174ab2100487cf56538ace6e977a74f2498e7ddf695ed8c30551ae52e81d04659188
@@ -0,0 +1,14 @@
1
+ .DS_Store
2
+ **/.DS_Store
3
+ pkg
4
+ doc
5
+ coverage
6
+ coverage.*
7
+ *.autosave
8
+ *.rbc
9
+ .idea
10
+ .yardoc
11
+ Gemfile.lock
12
+ **/*.log
13
+ .ruby-version
14
+ scratchpad
@@ -0,0 +1,3 @@
1
+ [ *.rb ]
2
+ softTabs = true
3
+ tabSize = 2
@@ -0,0 +1,5 @@
1
+ rvm:
2
+ - 2.1.1
3
+ - 2.5.0
4
+ cache: bundler
5
+ sudo: false
@@ -0,0 +1,5 @@
1
+ --hide-void-return
2
+ --title "Trackspreanto - a universal 2-D tracking translator. In Ruby."
3
+ lib/**/*.rb
4
+ --no-private
5
+ --readme README.md
data/Gemfile CHANGED
@@ -1,34 +1,4 @@
1
1
  # -*- ruby -*-
2
2
  source 'http://rubygems.org'
3
3
 
4
- gem "bundler"
5
-
6
- gem "obuf", "~> 1.1"
7
- gem "tickly", "~> 2.1.6"
8
- gem "bychar", "~> 3"
9
- gem "progressive_io", "~> 1.0"
10
- gem "flame_channel_parser", "~> 4.0"
11
- gem 'term-ansicolor', '<= 1.2.0' # Locked because newer versions require tins that do not work on 1.9.3 and less
12
- gem 'tins', '< 0.9.0' # flame_channel_parser wants it via framecurve, but for Ruby 1.8.7 we have to ask for an older version
13
- gem "progressbar", "0.10.0"
14
- gem "update_hints", "~> 1.0"
15
-
16
- group :development do
17
- gem "test-unit", '3.1.5'
18
- gem "approximately"
19
-
20
- gem "rake", '10.5.0'
21
- gem "linebyline"
22
-
23
- gem 'git', '< 1.3.0' # Later ones require 1.9 via nokogiri
24
- gem "jeweler", '1.8.4' # Last one without the stupid nokogiri dependency
25
-
26
- if RUBY_VERSION < "1.9"
27
- gem "flexmock", "~> 0.8", :require => %w( flexmock flexmock/test_unit ) # Max. supported on 1.8
28
- else
29
- gem "flexmock", "~> 1.3.2", :require => %w( flexmock flexmock/test_unit )
30
- end
31
-
32
- gem "cli_test", "~>1.0"
33
- gem "rake-hooks", '~> 1.2.3'
34
- end
4
+ gemspec
@@ -1,4 +1,4 @@
1
- Copyright (c) 2009-2017 Julik Tarkhanov
1
+ Copyright (c) 2009-2019 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
@@ -53,11 +53,11 @@ that you export - and you can apply multiple transformations if desired.
53
53
 
54
54
  ## Using Tracksperanto from the command line
55
55
 
56
- To run on your own computer, make sure you have Ruby installed. Versions from 1.8.7
57
- and up are supported.
58
-
56
+ To run on your own computer, make sure you have Ruby installed. Versions from 2.1.0
57
+ and up are supported. For older versions, use Tracksperanto 3.x and below.
58
+
59
59
  $ ruby -v
60
- ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin13.0.0]
60
+ ruby 2.2.5p319 (2016-04-26 revision 54774) [x86_64-darwin15]
61
61
 
62
62
  Then install tracksperanto. It will be downloaded and unpacked automatically for you by the
63
63
  RubyGems system:
@@ -73,7 +73,7 @@ To see the supported options, run
73
73
  $ tracksperanto --help | more
74
74
 
75
75
  The converted files will be saved in the same directory as the source, if resulting
76
- converted files already exist <b>they will be overwritten without warning</b>.
76
+ converted files already exist **they will be overwritten without warning.**
77
77
 
78
78
  ## Using Tracksperanto through the web
79
79
 
data/Rakefile CHANGED
@@ -1,32 +1,6 @@
1
- require './lib/tracksperanto'
2
- require 'rake/hooks'
3
-
4
- require 'jeweler'
5
- Jeweler::Tasks.new do |gem|
6
- gem.version = Tracksperanto::VERSION
7
- gem.name = "tracksperanto"
8
- gem.summary = "A universal 2D tracks converter"
9
- gem.description = "Converts 2D track exports between different apps like Flame, MatchMover, PFTrack..."
10
- gem.email = "me@julik.nl"
11
- gem.homepage = "http://guerilla-di.org/tracksperanto"
12
- gem.authors = ["Julik Tarkhanov"]
13
- gem.extra_rdoc_files << "DEVELOPER_DOCS.rdoc"
14
- gem.license = 'MIT'
15
- gem.executables = ["tracksperanto"]
16
-
17
- # Do not package up test fixtures
18
- gem.files.exclude "test/import/samples"
19
- gem.files.exclude "test/import/samples/*/*.*"
20
- gem.files.exclude "test/subpixel"
21
-
22
- # Do not package invisibles
23
- gem.files.exclude ".*"
24
- end
25
-
26
- Jeweler::RubygemsDotOrgTasks.new
27
-
28
-
1
+ require "bundler/gem_tasks"
29
2
  require 'rake/testtask'
3
+
30
4
  desc "Run all tests"
31
5
  Rake::TestTask.new("test") do |t|
32
6
  t.libs << "test"
@@ -35,7 +9,8 @@ Rake::TestTask.new("test") do |t|
35
9
  end
36
10
 
37
11
  # Automatically update the supported format list
38
- after :test do
12
+ task :update_readme do
13
+ require File.dirname(__FILE__) + '/lib/tracksperanto'
39
14
  formats = StringIO.new
40
15
 
41
16
  formats.puts(" ")
@@ -62,16 +37,16 @@ after :test do
62
37
  File.open(File.dirname(__FILE__) + "/README.md", "w") do | f |
63
38
  f.write(three.join('---'))
64
39
  end
65
-
66
40
  end
67
41
 
68
- # Automatically update the LICENSE
69
- after :test do
42
+ task :update_license_date do
70
43
  license_path = File.dirname(__FILE__) + "/MIT_LICENSE.txt"
71
44
  license_text = File.read(license_path)
72
45
  license_text.gsub!(/2009\-(\d+)/, "2009-#{Time.now.year + 1}")
73
46
  File.open(license_path, "w"){|f| f << license_text }
74
47
  end
75
48
 
49
+ # Automatically update the LICENSE
50
+ Rake::Task[:test].enhance [:update_license_date, :update_readme]
76
51
  task :default => [ :test ]
77
52
 
@@ -14,7 +14,7 @@
14
14
  $stdout.puts "Starting Tracksperanto. For information and support please contact info#{64.chr}guerilla-di.org"
15
15
 
16
16
  # Require the xperanto lib, which in turn requires Bundler and pulls in all the gems
17
- require File.dirname(__FILE__) + '/../lib/tracksperanto' unless defined?(Tracksperanto)
17
+ require_relative '../lib/tracksperanto'
18
18
  require 'update_hints'
19
19
  require 'optparse'
20
20
  require 'progressbar'
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  # Base exporter. Inherit from this class to automatically register another export format.
3
2
  # The exporters in Tracksperanto are event-driven and follow the same conventions - your
4
3
  # exporter will be notified when a tracker will be exported and when a tracker has been passed
@@ -51,7 +50,7 @@ class Tracksperanto::Export::Base
51
50
  @io = write_to_io
52
51
  end
53
52
 
54
- # Called on export start. Will receive the width and height of the comp being exported as Fixnums
53
+ # Called on export start. Will receive the width and height of the comp being exported as Integers
55
54
  def start_export( img_width, img_height)
56
55
  end
57
56
 
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  # Export for 2d3d boujou
3
2
  class Tracksperanto::Export::Boujou < Tracksperanto::Export::Base
4
3
 
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  # Exports trackers as an AfterEffects script creating nulls
3
2
  class Tracksperanto::Export::AE < Tracksperanto::Export::Base
4
3
 
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  # Export for 3DE v3 point files. 3DE always starts frames at 1.
3
2
  class Tracksperanto::Export::Equalizer3 < Tracksperanto::Export::Base
4
3
 
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  # Export for 3DE v4 point files. 3DE always starts frames at 1.
3
2
  class Tracksperanto::Export::Equalizer4 < Tracksperanto::Export::Base
4
3
 
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  # TODO: this exporter is MAJORLY slow now
3
2
  class Tracksperanto::Export::FlameStabilizer < Tracksperanto::Export::Base
4
3
 
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  class Tracksperanto::Export::FlameStabilizer2014 < Tracksperanto::Export::Base
3
2
 
4
3
  COLOR = "50 50 50"
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  # Exports setups with tracker naming that works with the Action bilinears
3
2
  class Tracksperanto::Export::FlameStabilizer2014Cornerpin < Tracksperanto::Export::FlameStabilizer2014
4
3
 
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  # Exports setups with tracker naming that works with the Action bilinears
3
2
  class Tracksperanto::Export::FlameStabilizerCornerpin < Tracksperanto::Export::FlameStabilizer
4
3
 
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  # Export for Autodesk MatchMover/Image Modeler
3
2
  class Tracksperanto::Export::MatchMover < Tracksperanto::Export::Base
4
3
 
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  # Export each tracker as a moving 3dsmax null
3
2
  class Tracksperanto::Export::Maxscript < Tracksperanto::Export::Base
4
3
 
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  class Tracksperanto::Export::MayaLive < Tracksperanto::Export::Base
3
2
 
4
3
  # Maya Live exports and imports tracks in "aspect units", so a point at 0,0
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  # Export each tracker as a moving Maya locator
3
2
  class Tracksperanto::Export::MayaLocators < Tracksperanto::Export::Base
4
3
  SCENE_PREAMBLE = [
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  # Multiplexor. Accepts a number of exporters and replays
3
2
  # the calls to all of them in succession.
4
3
  class Tracksperanto::Export::Mux
@@ -1,7 +1,6 @@
1
- # -*- encoding : utf-8 -*-
2
1
  # Export for Nuke's CameraTracker node. Same format as Shake Text
3
2
  # except that all trackers have to be called "usertrack0" to "usertrackN"
4
- require File.dirname(__FILE__) + "/shake_text"
3
+ require_relative "shake_text"
5
4
 
6
5
  class Tracksperanto::Export::NukeCameraUsertracks < Tracksperanto::Export::ShakeText
7
6
 
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  # Export each tracker as a single Tracker3 node
3
2
  class Tracksperanto::Export::NukeScript < Tracksperanto::Export::Base
4
3
 
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  # Export for PFMatchit
3
2
  class Tracksperanto::Export::PFMatchit < Tracksperanto::Export::Base
4
3
 
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  # Export for PFTrack .2dt files
3
2
  class Tracksperanto::Export::PFTrack4 < Tracksperanto::Export::Base
4
3
 
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  # Export for PFTrack .2dt files for version 5
3
2
  class Tracksperanto::Export::PFTrack5 < Tracksperanto::Export::PFMatchit
4
3
 
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  # Exports the trackers to a script that is fit for massaging with Tracksperanto as is
3
2
  class Tracksperanto::Export::Ruby < Tracksperanto::Export::Base
4
3
 
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  # Export for Shake .txt tracker blobs
3
2
  class Tracksperanto::Export::ShakeText < Tracksperanto::Export::Base
4
3
  PREAMBLE = "TrackName %s\n Frame X Y Correlation\n"
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  # Export for Syntheyes tracker UVs.
3
2
  class Tracksperanto::Export::SynthEyes < Tracksperanto::Export::Base
4
3
  include Tracksperanto::UVCoordinates
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  # Export each tracker as a moving Softimage|XSI null
3
2
  class Tracksperanto::Export::XSI < Tracksperanto::Export::Base
4
3
 
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  # The base class for all the import modules. By default, when you inherit from
3
2
  # this class the inherited class will be included in the list of supported
4
3
  # Tracksperanto importers. The API that an importer should present is very
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  class Tracksperanto::Import::Boujou < Tracksperanto::Import::Base
3
2
 
4
3
  def self.human_name
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  # Imports 3D Equalizer's text files, version 3
3
2
  class Tracksperanto::Import::Equalizer3 < Tracksperanto::Import::Base
4
3
 
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  # Imports 3D Equalizer's text files
3
2
  class Tracksperanto::Import::Equalizer4 < Tracksperanto::Import::Base
4
3
 
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  require 'flame_channel_parser'
3
2
 
4
3
  class Tracksperanto::Import::FlameStabilizer < Tracksperanto::Import::Base
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  class Tracksperanto::Import::MatchMover < Tracksperanto::Import::Base
3
2
 
4
3
  def self.autodetects_size?
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  require "rexml/document"
3
2
 
4
3
  class Tracksperanto::Import::MatchMoverRZML < Tracksperanto::Import::Base
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  class Tracksperanto::Import::MayaLive < Tracksperanto::Import::Base
3
2
 
4
3
  # Maya Live exports and imports tracks in "aspect units", so a point at 0,0
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
 
3
2
  require 'tickly'
4
3
 
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  # TODO: this should be rewritten as a proper state-machine parser
3
2
  class Tracksperanto::Import::PFTrack < Tracksperanto::Import::Base
4
3
 
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  module Tracksperanto::ShakeGrammar
3
2
  # Will replay funcalls through to methods if such methods exist in the public insntance
4
3
  class Catcher < Lexer
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
 
3
2
  require 'bychar'
4
3
 
@@ -1,6 +1,5 @@
1
- # -*- encoding : utf-8 -*-
2
- require File.expand_path(File.dirname(__FILE__)) + "/shake_grammar/lexer"
3
- require File.expand_path(File.dirname(__FILE__)) + "/shake_grammar/catcher"
1
+ require_relative "shake_grammar/lexer"
2
+ require_relative "shake_grammar/catcher"
4
3
 
5
4
  class Tracksperanto::Import::ShakeScript < Tracksperanto::Import::Base
6
5
 
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  # Import for Shake Text files
3
2
  class Tracksperanto::Import::ShakeText < Tracksperanto::Import::Base
4
3
 
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  class Tracksperanto::Import::Syntheyes < Tracksperanto::Import::Base
3
2
  include Tracksperanto::UVCoordinates
4
3
 
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  class Tracksperanto::Import::SyntheyesAllTrackerPaths < Tracksperanto::Import::Base
3
2
  def self.human_name
4
3
  "Syntheyes \"All Tracker Paths\" export .txt file"
@@ -1,5 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
1
  require 'progressive_io'
4
2
  require 'obuf'
5
3
 
@@ -1,4 +1,3 @@
1
- # -*- encoding : utf-8 -*-
2
1
  require "forwardable"
3
2
 
4
3
  # The base tool class works just like a Tracksperanto::Export::Base, but it only wraps another exporting object and does not get registered on it's own