pep8 edits
[blender-staging.git] / release / scripts / modules / animsys_refactor.py
1 # ##### BEGIN GPL LICENSE BLOCK #####
2 #
3 #  This program is free software; you can redistribute it and/or
4 #  modify it under the terms of the GNU General Public License
5 #  as published by the Free Software Foundation; either version 2
6 #  of the License, or (at your option) any later version.
7 #
8 #  This program is distributed in the hope that it will be useful,
9 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
10 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 #  GNU General Public License for more details.
12 #
13 #  You should have received a copy of the GNU General Public License
14 #  along with this program; if not, write to the Free Software Foundation,
15 #  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 #
17 # ##### END GPL LICENSE BLOCK #####
18
19 # <pep8 compliant>
20
21 """
22 This module has utility functions for renaming
23 rna values in fcurves and drivers.
24
25 The main function to use is: update_data_paths(...)
26 """
27
28 IS_TESTING = False
29
30
31 def drepr(string):
32     # is there a less crappy way to do this in python?, re.escape also escapes
33     # single quotes strings so cant use it.
34     return '"%s"' % repr(string)[1:-1].replace("\"", "\\\"").replace("\\'", "'")
35
36
37 class DataPathBuilder(object):
38     """ Dummy class used to parse fcurve and driver data paths.
39     """
40     __slots__ = ("data_path", )
41
42     def __init__(self, attrs):
43         self.data_path = attrs
44
45     def __getattr__(self, attr):
46         str_value = ".%s" % attr
47         return DataPathBuilder(self.data_path + (str_value, ))
48
49     def __getitem__(self, key):
50         if type(key) is int:
51             str_value = '[%d]' % key
52         elif type(key) is str:
53             str_value = '[%s]' % drepr(key)
54         else:
55             raise Exception("unsupported accessor %r of type %r (internal error)" % (key, type(key)))
56         return DataPathBuilder(self.data_path + (str_value, ))
57
58     def resolve(self, real_base, rna_update_from_map=None):
59         """ Return (attribute, value) pairs.
60         """
61         pairs = []
62         base = real_base
63         for item in self.data_path:
64             if base is not Ellipsis:
65                 try:
66                     # this only works when running with an old blender
67                     # where the old path will resolve
68                     base = eval("base" + item)
69                 except:
70                     base_new = Ellipsis
71                     # guess the new name
72                     if item.startswith("."):
73                         for item_new in rna_update_from_map.get(item[1:], ()):
74                             try:
75                                 print("base." + item_new)
76                                 base_new = eval("base." + item_new)
77                                 break  # found, don't keep looking
78                             except:
79                                 pass
80
81                     if base_new is Ellipsis:
82                         print("Failed to resolve data path:", self.data_path)
83                     base = base_new
84
85             pairs.append((item, base))
86         return pairs
87
88 import bpy
89
90
91 def id_iter():
92     type_iter = type(bpy.data.objects)
93
94     for attr in dir(bpy.data):
95         data_iter = getattr(bpy.data, attr, None)
96         if type(data_iter) == type_iter:
97             for id_data in data_iter:
98                 if id_data.library is None:
99                     yield id_data
100
101
102 def anim_data_actions(anim_data):
103     actions = []
104     actions.append(anim_data.action)
105     for track in anim_data.nla_tracks:
106         for strip in track.strips:
107             actions.append(strip.action)
108
109     # filter out None
110     return [act for act in actions if act]
111
112
113 def classes_recursive(base_type, clss=None):
114     if clss is None:
115         clss = [base_type]
116     else:
117         clss.append(base_type)
118
119     for base_type_iter in base_type.__bases__:
120         if base_type_iter is not object:
121             classes_recursive(base_type_iter, clss)
122
123     return clss
124
125
126 def find_path_new(id_data, data_path, rna_update_dict, rna_update_from_map):
127     # note!, id_data can be ID type or a node tree
128     # ignore ID props for now
129     if data_path.startswith("["):
130         return data_path
131
132     # recursive path fixing, likely will be one in most cases.
133     data_path_builder = eval("DataPathBuilder(tuple())." + data_path)
134     data_resolve = data_path_builder.resolve(id_data, rna_update_from_map)
135
136     path_new = [pair[0] for pair in data_resolve]
137
138     # print(data_resolve)
139     data_base = id_data
140
141     for i, (attr, data) in enumerate(data_resolve):
142         if data is Ellipsis:
143             break
144
145         if attr.startswith("."):
146             # try all classes
147             for data_base_type in classes_recursive(type(data_base)):
148                 attr_new = rna_update_dict.get(data_base_type.__name__, {}).get(attr[1:])
149                 if attr_new:
150                     path_new[i] = "." + attr_new
151
152         # set this as the base for further properties
153         data_base = data
154
155     data_path_new = "".join(path_new)[1:]  # skip the first "."
156     return data_path_new
157
158
159 def update_data_paths(rna_update):
160     ''' rna_update triple [(class_name, from, to), ...]
161     '''
162
163     # make a faster lookup dict
164     rna_update_dict = {}
165     for ren_class, ren_from, ren_to in rna_update:
166         rna_update_dict.setdefault(ren_class, {})[ren_from] = ren_to
167
168     rna_update_from_map = {}
169     for ren_class, ren_from, ren_to in rna_update:
170         rna_update_from_map.setdefault(ren_from, []).append(ren_to)
171
172     for id_data in id_iter():
173
174         # check node-trees too
175         anim_data_ls = [(id_data, getattr(id_data, "animation_data", None))]
176         node_tree = getattr(id_data, "node_tree", None)
177         if node_tree:
178             anim_data_ls.append((node_tree, node_tree.animation_data))
179
180         for anim_data_base, anim_data in anim_data_ls:
181             if anim_data is None:
182                 continue
183
184             for fcurve in anim_data.drivers:
185                 data_path = fcurve.data_path
186                 data_path_new = find_path_new(anim_data_base, data_path, rna_update_dict, rna_update_from_map)
187                 # print(data_path_new)
188                 if data_path_new != data_path:
189                     if not IS_TESTING:
190                         fcurve.data_path = data_path_new
191                         fcurve.driver.is_valid = True  # reset to allow this to work again
192                     print("driver-fcurve (%s): %s -> %s" % (id_data.name, data_path, data_path_new))
193
194                 for var in fcurve.driver.variables:
195                     if var.type == 'SINGLE_PROP':
196                         for tar in var.targets:
197                             id_data_other = tar.id
198                             data_path = tar.data_path
199
200                             if id_data_other and data_path:
201                                 data_path_new = find_path_new(id_data_other, data_path, rna_update_dict, rna_update_from_map)
202                                 # print(data_path_new)
203                                 if data_path_new != data_path:
204                                     if not IS_TESTING:
205                                         tar.data_path = data_path_new
206                                     print("driver (%s): %s -> %s" % (id_data_other.name, data_path, data_path_new))
207
208             for action in anim_data_actions(anim_data):
209                 for fcu in action.fcurves:
210                     data_path = fcu.data_path
211                     data_path_new = find_path_new(anim_data_base, data_path, rna_update_dict, rna_update_from_map)
212                     # print(data_path_new)
213                     if data_path_new != data_path:
214                         if not IS_TESTING:
215                             fcu.data_path = data_path_new
216                         print("fcurve (%s): %s -> %s" % (id_data.name, data_path, data_path_new))
217
218
219 # we could have this data in its own file but no point really
220 data_2_56_to_2_59 = (
221     ("ClothCollisionSettings", "min_distance", "distance_min"),
222     ("ClothCollisionSettings", "self_min_distance", "self_distance_min"),
223     ("ClothCollisionSettings", "enable_collision", "use_collision"),
224     ("ClothCollisionSettings", "enable_self_collision", "use_self_collision"),
225     ("ClothSettings", "pin_cloth", "use_pin_cloth"),
226     ("ClothSettings", "stiffness_scaling", "use_stiffness_scale"),
227     ("CollisionSettings", "random_damping", "damping_random"),
228     ("CollisionSettings", "random_friction", "friction_random"),
229     ("CollisionSettings", "inner_thickness", "thickness_inner"),
230     ("CollisionSettings", "outer_thickness", "thickness_outer"),
231     ("CollisionSettings", "kill_particles", "use_particle_kill"),
232     ("Constraint", "proxy_local", "is_proxy_local"),
233     ("ActionConstraint", "maximum", "max"),
234     ("ActionConstraint", "minimum", "min"),
235     ("FollowPathConstraint", "use_fixed_position", "use_fixed_location"),
236     ("KinematicConstraint", "chain_length", "chain_count"),
237     ("KinematicConstraint", "pos_lock_x", "lock_location_x"),
238     ("KinematicConstraint", "pos_lock_y", "lock_location_y"),
239     ("KinematicConstraint", "pos_lock_z", "lock_location_z"),
240     ("KinematicConstraint", "rot_lock_x", "lock_rotation_x"),
241     ("KinematicConstraint", "rot_lock_y", "lock_rotation_y"),
242     ("KinematicConstraint", "rot_lock_z", "lock_rotation_z"),
243     ("KinematicConstraint", "axis_reference", "reference_axis"),
244     ("KinematicConstraint", "use_position", "use_location"),
245     ("LimitLocationConstraint", "maximum_x", "max_x"),
246     ("LimitLocationConstraint", "maximum_y", "max_y"),
247     ("LimitLocationConstraint", "maximum_z", "max_z"),
248     ("LimitLocationConstraint", "minimum_x", "min_x"),
249     ("LimitLocationConstraint", "minimum_y", "min_y"),
250     ("LimitLocationConstraint", "minimum_z", "min_z"),
251     ("LimitLocationConstraint", "use_maximum_x", "use_max_x"),
252     ("LimitLocationConstraint", "use_maximum_y", "use_max_y"),
253     ("LimitLocationConstraint", "use_maximum_z", "use_max_z"),
254     ("LimitLocationConstraint", "use_minimum_x", "use_min_x"),
255     ("LimitLocationConstraint", "use_minimum_y", "use_min_y"),
256     ("LimitLocationConstraint", "use_minimum_z", "use_min_z"),
257     ("LimitLocationConstraint", "limit_transform", "use_transform_limit"),
258     ("LimitRotationConstraint", "maximum_x", "max_x"),
259     ("LimitRotationConstraint", "maximum_y", "max_y"),
260     ("LimitRotationConstraint", "maximum_z", "max_z"),
261     ("LimitRotationConstraint", "minimum_x", "min_x"),
262     ("LimitRotationConstraint", "minimum_y", "min_y"),
263     ("LimitRotationConstraint", "minimum_z", "min_z"),
264     ("LimitRotationConstraint", "limit_transform", "use_transform_limit"),
265     ("LimitScaleConstraint", "maximum_x", "max_x"),
266     ("LimitScaleConstraint", "maximum_y", "max_y"),
267     ("LimitScaleConstraint", "maximum_z", "max_z"),
268     ("LimitScaleConstraint", "minimum_x", "min_x"),
269     ("LimitScaleConstraint", "minimum_y", "min_y"),
270     ("LimitScaleConstraint", "minimum_z", "min_z"),
271     ("LimitScaleConstraint", "use_maximum_x", "use_max_x"),
272     ("LimitScaleConstraint", "use_maximum_y", "use_max_y"),
273     ("LimitScaleConstraint", "use_maximum_z", "use_max_z"),
274     ("LimitScaleConstraint", "use_minimum_x", "use_min_x"),
275     ("LimitScaleConstraint", "use_minimum_y", "use_min_y"),
276     ("LimitScaleConstraint", "use_minimum_z", "use_min_z"),
277     ("LimitScaleConstraint", "limit_transform", "use_transform_limit"),
278     ("PivotConstraint", "enabled_rotation_range", "rotation_range"),
279     ("PivotConstraint", "use_relative_position", "use_relative_location"),
280     ("PythonConstraint", "number_of_targets", "target_count"),
281     ("SplineIKConstraint", "chain_length", "chain_count"),
282     ("SplineIKConstraint", "chain_offset", "use_chain_offset"),
283     ("SplineIKConstraint", "even_divisions", "use_even_divisions"),
284     ("SplineIKConstraint", "y_stretch", "use_y_stretch"),
285     ("SplineIKConstraint", "xz_scaling_mode", "xz_scale_mode"),
286     ("StretchToConstraint", "original_length", "rest_length"),
287     ("TrackToConstraint", "target_z", "use_target_z"),
288     ("TransformConstraint", "extrapolate_motion", "use_motion_extrapolate"),
289     ("FieldSettings", "do_location", "apply_to_location"),
290     ("FieldSettings", "do_rotation", "apply_to_rotation"),
291     ("FieldSettings", "maximum_distance", "distance_max"),
292     ("FieldSettings", "minimum_distance", "distance_min"),
293     ("FieldSettings", "radial_maximum", "radial_max"),
294     ("FieldSettings", "radial_minimum", "radial_min"),
295     ("FieldSettings", "force_2d", "use_2d_force"),
296     ("FieldSettings", "do_absorption", "use_absorption"),
297     ("FieldSettings", "global_coordinates", "use_global_coords"),
298     ("FieldSettings", "guide_path_add", "use_guide_path_add"),
299     ("FieldSettings", "multiple_springs", "use_multiple_springs"),
300     ("FieldSettings", "use_coordinates", "use_object_coords"),
301     ("FieldSettings", "root_coordinates", "use_root_coords"),
302     ("ControlFluidSettings", "reverse_frames", "use_reverse_frames"),
303     ("DomainFluidSettings", "real_world_size", "simulation_scale"),
304     ("DomainFluidSettings", "surface_smoothing", "surface_smooth"),
305     ("DomainFluidSettings", "reverse_frames", "use_reverse_frames"),
306     ("DomainFluidSettings", "generate_speed_vectors", "use_speed_vectors"),
307     ("DomainFluidSettings", "override_time", "use_time_override"),
308     ("FluidFluidSettings", "export_animated_mesh", "use_animated_mesh"),
309     ("InflowFluidSettings", "export_animated_mesh", "use_animated_mesh"),
310     ("InflowFluidSettings", "local_coordinates", "use_local_coords"),
311     ("ObstacleFluidSettings", "export_animated_mesh", "use_animated_mesh"),
312     ("OutflowFluidSettings", "export_animated_mesh", "use_animated_mesh"),
313     ("ParticleFluidSettings", "drops", "use_drops"),
314     ("ParticleFluidSettings", "floats", "use_floats"),
315     ("Armature", "drawtype", "draw_type"),
316     ("Armature", "layer_protection", "layers_protected"),
317     ("Armature", "auto_ik", "use_auto_ik"),
318     ("Armature", "delay_deform", "use_deform_delay"),
319     ("Armature", "deform_envelope", "use_deform_envelopes"),
320     ("Armature", "deform_quaternion", "use_deform_preserve_volume"),
321     ("Armature", "deform_vertexgroups", "use_deform_vertex_groups"),
322     ("Armature", "x_axis_mirror", "use_mirror_x"),
323     ("Curve", "width", "offset"),
324     ("Image", "animation_speed", "fps"),
325     ("Image", "animation_end", "frame_end"),
326     ("Image", "animation_start", "frame_start"),
327     ("Image", "animated", "use_animation"),
328     ("Image", "clamp_x", "use_clamp_x"),
329     ("Image", "clamp_y", "use_clamp_y"),
330     ("Image", "premultiply", "use_premultiply"),
331     ("AreaLamp", "shadow_ray_sampling_method", "shadow_ray_sample_method"),
332     ("AreaLamp", "only_shadow", "use_only_shadow"),
333     ("AreaLamp", "shadow_layer", "use_shadow_layer"),
334     ("AreaLamp", "umbra", "use_umbra"),
335     ("PointLamp", "shadow_ray_sampling_method", "shadow_ray_sample_method"),
336     ("PointLamp", "only_shadow", "use_only_shadow"),
337     ("PointLamp", "shadow_layer", "use_shadow_layer"),
338     ("PointLamp", "sphere", "use_sphere"),
339     ("SpotLamp", "shadow_ray_sampling_method", "shadow_ray_sample_method"),
340     ("SpotLamp", "auto_clip_end", "use_auto_clip_end"),
341     ("SpotLamp", "auto_clip_start", "use_auto_clip_start"),
342     ("SpotLamp", "only_shadow", "use_only_shadow"),
343     ("SpotLamp", "shadow_layer", "use_shadow_layer"),
344     ("SpotLamp", "sphere", "use_sphere"),
345     ("SunLamp", "only_shadow", "use_only_shadow"),
346     ("SunLamp", "shadow_layer", "use_shadow_layer"),
347     ("Material", "z_offset", "offset_z"),
348     ("Material", "shadow_casting_alpha", "shadow_cast_alpha"),
349     ("Material", "cast_approximate", "use_cast_approximate"),
350     ("Material", "cast_buffer_shadows", "use_cast_buffer_shadows"),
351     ("Material", "cast_shadows_only", "use_cast_shadows_only"),
352     ("Material", "face_texture", "use_face_texture"),
353     ("Material", "face_texture_alpha", "use_face_texture_alpha"),
354     ("Material", "full_oversampling", "use_full_oversampling"),
355     ("Material", "light_group_exclusive", "use_light_group_exclusive"),
356     ("Material", "object_color", "use_object_color"),
357     ("Material", "only_shadow", "use_only_shadow"),
358     ("Material", "ray_shadow_bias", "use_ray_shadow_bias"),
359     ("Material", "traceable", "use_raytrace"),
360     ("Material", "shadeless", "use_shadeless"),
361     ("Material", "tangent_shading", "use_tangent_shading"),
362     ("Material", "transparency", "use_transparency"),
363     ("Material", "receive_transparent_shadows", "use_transparent_shadows"),
364     ("Material", "vertex_color_light", "use_vertex_color_light"),
365     ("Material", "vertex_color_paint", "use_vertex_color_paint"),
366     ("Mesh", "autosmooth_angle", "auto_smooth_angle"),
367     ("Mesh", "autosmooth", "use_auto_smooth"),
368     ("Object", "max_draw_type", "draw_type"),
369     ("Object", "use_dupli_verts_rotation", "use_dupli_vertices_rotation"),
370     ("Object", "shape_key_edit_mode", "use_shape_key_edit_mode"),
371     ("Object", "slow_parent", "use_slow_parent"),
372     ("Object", "time_offset_add_parent", "use_time_offset_add_parent"),
373     ("Object", "time_offset_edit", "use_time_offset_edit"),
374     ("Object", "time_offset_parent", "use_time_offset_parent"),
375     ("Object", "time_offset_particle", "use_time_offset_particle"),
376     ("ParticleSettings", "adaptive_pix", "adaptive_pixel"),
377     ("ParticleSettings", "child_effector", "apply_effector_to_children"),
378     ("ParticleSettings", "child_guide", "apply_guide_to_children"),
379     ("ParticleSettings", "billboard_split_offset", "billboard_offset_split"),
380     ("ParticleSettings", "billboard_random_tilt", "billboard_tilt_random"),
381     ("ParticleSettings", "child_length_thres", "child_length_threshold"),
382     ("ParticleSettings", "child_random_size", "child_size_random"),
383     ("ParticleSettings", "clumppow", "clump_shape"),
384     ("ParticleSettings", "damp_factor", "damping"),
385     ("ParticleSettings", "draw_as", "draw_method"),
386     ("ParticleSettings", "random_factor", "factor_random"),
387     ("ParticleSettings", "grid_invert", "invert_grid"),
388     ("ParticleSettings", "random_length", "length_random"),
389     ("ParticleSettings", "random_lifetime", "lifetime_random"),
390     ("ParticleSettings", "billboard_lock", "lock_billboard"),
391     ("ParticleSettings", "boids_2d", "lock_boids_to_surface"),
392     ("ParticleSettings", "object_aligned_factor", "object_align_factor"),
393     ("ParticleSettings", "random_phase_factor", "phase_factor_random"),
394     ("ParticleSettings", "ren_as", "render_type"),
395     ("ParticleSettings", "rendered_child_nbr", "rendered_child_count"),
396     ("ParticleSettings", "random_rotation_factor", "rotation_factor_random"),
397     ("ParticleSettings", "rough1", "roughness_1"),
398     ("ParticleSettings", "rough1_size", "roughness_1_size"),
399     ("ParticleSettings", "rough2", "roughness_2"),
400     ("ParticleSettings", "rough2_size", "roughness_2_size"),
401     ("ParticleSettings", "rough2_thres", "roughness_2_threshold"),
402     ("ParticleSettings", "rough_end_shape", "roughness_end_shape"),
403     ("ParticleSettings", "rough_endpoint", "roughness_endpoint"),
404     ("ParticleSettings", "random_size", "size_random"),
405     ("ParticleSettings", "abs_path_time", "use_absolute_path_time"),
406     ("ParticleSettings", "animate_branching", "use_animate_branching"),
407     ("ParticleSettings", "branching", "use_branching"),
408     ("ParticleSettings", "died", "use_dead"),
409     ("ParticleSettings", "die_on_collision", "use_die_on_collision"),
410     ("ParticleSettings", "rotation_dynamic", "use_dynamic_rotation"),
411     ("ParticleSettings", "even_distribution", "use_even_distribution"),
412     ("ParticleSettings", "rand_group", "use_group_pick_random"),
413     ("ParticleSettings", "hair_bspline", "use_hair_bspline"),
414     ("ParticleSettings", "sizemass", "use_multiply_size_mass"),
415     ("ParticleSettings", "react_multiple", "use_react_multiple"),
416     ("ParticleSettings", "react_start_end", "use_react_start_end"),
417     ("ParticleSettings", "render_adaptive", "use_render_adaptive"),
418     ("ParticleSettings", "self_effect", "use_self_effect"),
419     ("ParticleSettings", "enable_simplify", "use_simplify"),
420     ("ParticleSettings", "size_deflect", "use_size_deflect"),
421     ("ParticleSettings", "render_strand", "use_strand_primitive"),
422     ("ParticleSettings", "symmetric_branching", "use_symmetric_branching"),
423     ("ParticleSettings", "velocity_length", "use_velocity_length"),
424     ("ParticleSettings", "whole_group", "use_whole_group"),
425     ("CloudsTexture", "noise_size", "noise_scale"),
426     ("DistortedNoiseTexture", "noise_size", "noise_scale"),
427     ("EnvironmentMapTexture", "filter_size_minimum", "use_filter_size_min"),
428     ("EnvironmentMapTexture", "mipmap_gauss", "use_mipmap_gauss"),
429     ("ImageTexture", "calculate_alpha", "use_calculate_alpha"),
430     ("ImageTexture", "checker_even", "use_checker_even"),
431     ("ImageTexture", "checker_odd", "use_checker_odd"),
432     ("ImageTexture", "filter_size_minimum", "use_filter_size_min"),
433     ("ImageTexture", "flip_axis", "use_flip_axis"),
434     ("ImageTexture", "mipmap_gauss", "use_mipmap_gauss"),
435     ("ImageTexture", "mirror_x", "use_mirror_x"),
436     ("ImageTexture", "mirror_y", "use_mirror_y"),
437     ("ImageTexture", "normal_map", "use_normal_map"),
438     ("MarbleTexture", "noise_size", "noise_scale"),
439     ("MarbleTexture", "noisebasis2", "noise_basis_2"),
440     ("MarbleTexture", "noisebasis_2", "noise_basis_2"),
441     ("MusgraveTexture", "highest_dimension", "dimension_max"),
442     ("MusgraveTexture", "noise_size", "noise_scale"),
443     ("StucciTexture", "noise_size", "noise_scale"),
444     ("VoronoiTexture", "coloring", "color_mode"),
445     ("VoronoiTexture", "noise_size", "noise_scale"),
446     ("WoodTexture", "noise_size", "noise_scale"),
447     ("WoodTexture", "noisebasis2", "noise_basis_2"),
448     ("WoodTexture", "noisebasis_2", "noise_basis_2"),
449     ("World", "blend_sky", "use_sky_blend"),
450     ("World", "paper_sky", "use_sky_paper"),
451     ("World", "real_sky", "use_sky_real"),
452     ("ImageUser", "auto_refresh", "use_auto_refresh"),
453     ("MaterialHalo", "flares_sub", "flare_subflare_count"),
454     ("MaterialHalo", "flare_subsize", "flare_subflare_size"),
455     ("MaterialHalo", "line_number", "line_count"),
456     ("MaterialHalo", "rings", "ring_count"),
457     ("MaterialHalo", "star_tips", "star_tip_count"),
458     ("MaterialHalo", "xalpha", "use_extreme_alpha"),
459     ("MaterialHalo", "flare_mode", "use_flare_mode"),
460     ("MaterialHalo", "vertex_normal", "use_vertex_normal"),
461     ("MaterialPhysics", "align_to_normal", "use_normal_align"),
462     ("MaterialStrand", "min_size", "size_min"),
463     ("MaterialStrand", "blender_units", "use_blender_units"),
464     ("MaterialStrand", "surface_diffuse", "use_surface_diffuse"),
465     ("MaterialStrand", "tangent_shading", "use_tangent_shading"),
466     ("MaterialSubsurfaceScattering", "error_tolerance", "error_threshold"),
467     ("MaterialVolume", "depth_cutoff", "depth_threshold"),
468     ("MaterialVolume", "lighting_mode", "light_method"),
469     ("MaterialVolume", "step_calculation", "step_method"),
470     ("MaterialVolume", "external_shadows", "use_external_shadows"),
471     ("MaterialVolume", "light_cache", "use_light_cache"),
472     ("ArmatureModifier", "multi_modifier", "use_multi_modifier"),
473     ("ArrayModifier", "constant_offset_displacement", "constant_offset_displace"),
474     ("ArrayModifier", "merge_distance", "merge_threshold"),
475     ("ArrayModifier", "relative_offset_displacement", "relative_offset_displace"),
476     ("ArrayModifier", "constant_offset", "use_constant_offset"),
477     ("ArrayModifier", "merge_adjacent_vertices", "use_merge_vertices"),
478     ("ArrayModifier", "merge_end_vertices", "use_merge_vertices_cap"),
479     ("ArrayModifier", "add_offset_object", "use_object_offset"),
480     ("ArrayModifier", "relative_offset", "use_relative_offset"),
481     ("BevelModifier", "only_vertices", "use_only_vertices"),
482     ("CastModifier", "from_radius", "use_radius_as_size"),
483     ("DisplaceModifier", "midlevel", "mid_level"),
484     ("DisplaceModifier", "texture_coordinates", "texture_coords"),
485     ("EdgeSplitModifier", "use_sharp", "use_edge_sharp"),
486     ("ExplodeModifier", "split_edges", "use_edge_split"),
487     ("MirrorModifier", "merge_limit", "merge_threshold"),
488     ("MirrorModifier", "mirror_u", "use_mirror_u"),
489     ("MirrorModifier", "mirror_v", "use_mirror_v"),
490     ("MirrorModifier", "mirror_vertex_groups", "use_mirror_vertex_groups"),
491     ("ParticleInstanceModifier", "particle_system_number", "particle_system_index"),
492     ("ParticleInstanceModifier", "keep_shape", "use_preserve_shape"),
493     ("ShrinkwrapModifier", "cull_back_faces", "use_cull_back_faces"),
494     ("ShrinkwrapModifier", "cull_front_faces", "use_cull_front_faces"),
495     ("ShrinkwrapModifier", "keep_above_surface", "use_keep_above_surface"),
496     ("SimpleDeformModifier", "lock_x_axis", "lock_x"),
497     ("SimpleDeformModifier", "lock_y_axis", "lock_y"),
498     ("SmokeModifier", "smoke_type", "type"),
499     ("SubsurfModifier", "subsurf_uv", "use_subsurf_uv"),
500     ("UVProjectModifier", "num_projectors", "projector_count"),
501     ("UVProjectModifier", "override_image", "use_image_override"),
502     ("WaveModifier", "texture_coordinates", "texture_coords"),
503     ("WaveModifier", "x_normal", "use_normal_x"),
504     ("WaveModifier", "y_normal", "use_normal_y"),
505     ("WaveModifier", "z_normal", "use_normal_z"),
506     ("NlaStrip", "blending", "blend_type"),
507     ("NlaStrip", "animated_influence", "use_animated_influence"),
508     ("NlaStrip", "animated_time", "use_animated_time"),
509     ("NlaStrip", "animated_time_cyclic", "use_animated_time_cyclic"),
510     ("NlaStrip", "auto_blending", "use_auto_blend"),
511     ("CompositorNodeAlphaOver", "convert_premul", "use_premultiply"),
512     ("CompositorNodeBlur", "sizex", "size_x"),
513     ("CompositorNodeBlur", "sizey", "size_y"),
514     ("CompositorNodeChannelMatte", "algorithm", "limit_method"),
515     ("CompositorNodeChromaMatte", "acceptance", "tolerance"),
516     ("CompositorNodeColorBalance", "correction_formula", "correction_method"),
517     ("CompositorNodeColorSpill", "algorithm", "limit_method"),
518     ("CompositorNodeColorSpill", "unspill", "use_unspill"),
519     ("CompositorNodeCrop", "x2", "max_x"),
520     ("CompositorNodeCrop", "y2", "max_y"),
521     ("CompositorNodeCrop", "x1", "min_x"),
522     ("CompositorNodeCrop", "y1", "min_y"),
523     ("CompositorNodeCrop", "crop_size", "use_crop_size"),
524     ("CompositorNodeDefocus", "max_blur", "blur_max"),
525     ("CompositorNodeDefocus", "gamma_correction", "use_gamma_correction"),
526     ("CompositorNodeGlare", "rotate_45", "use_rotate_45"),
527     ("CompositorNodeImage", "auto_refresh", "use_auto_refresh"),
528     ("CompositorNodeLensdist", "projector", "use_projector"),
529     ("CompositorNodeVecBlur", "max_speed", "speed_max"),
530     ("CompositorNodeVecBlur", "min_speed", "speed_min"),
531     ("ShaderNodeMapping", "maximum", "max"),
532     ("ShaderNodeMapping", "minimum", "min"),
533     ("ShaderNodeMapping", "clamp_maximum", "use_max"),
534     ("ShaderNodeMapping", "clamp_minimum", "use_min"),
535     ("VertexPaint", "all_faces", "use_all_faces"),
536     ("VertexPaint", "spray", "use_spray"),
537     ("ParticleEdit", "add_keys", "default_key_count"),
538     ("ParticleEdit", "selection_mode", "select_mode"),
539     ("ParticleEdit", "auto_velocity", "use_auto_velocity"),
540     ("ParticleEdit", "add_interpolate", "use_default_interpolate"),
541     ("ParticleEdit", "emitter_deflect", "use_emitter_deflect"),
542     ("ParticleEdit", "fade_time", "use_fade_time"),
543     ("ParticleEdit", "keep_lengths", "use_preserve_length"),
544     ("ParticleEdit", "keep_root", "use_preserve_root"),
545     ("ParticleSystem", "vertex_group_clump_negate", "invert_vertex_group_clump"),
546     ("ParticleSystem", "vertex_group_density_negate", "invert_vertex_group_density"),
547     ("ParticleSystem", "vertex_group_field_negate", "invert_vertex_group_field"),
548     ("ParticleSystem", "vertex_group_kink_negate", "invert_vertex_group_kink"),
549     ("ParticleSystem", "vertex_group_length_negate", "invert_vertex_group_length"),
550     ("ParticleSystem", "vertex_group_rotation_negate", "invert_vertex_group_rotation"),
551     ("ParticleSystem", "vertex_group_roughness1_negate", "invert_vertex_group_roughness_1"),
552     ("ParticleSystem", "vertex_group_roughness2_negate", "invert_vertex_group_roughness_2"),
553     ("ParticleSystem", "vertex_group_roughness_end_negate", "invert_vertex_group_roughness_end"),
554     ("ParticleSystem", "vertex_group_size_negate", "invert_vertex_group_size"),
555     ("ParticleSystem", "vertex_group_tangent_negate", "invert_vertex_group_tangent"),
556     ("ParticleSystem", "vertex_group_velocity_negate", "invert_vertex_group_velocity"),
557     ("ParticleSystem", "hair_dynamics", "use_hair_dynamics"),
558     ("ParticleSystem", "keyed_timing", "use_keyed_timing"),
559     ("PointDensity", "falloff_softness", "falloff_soft"),
560     ("PointDensity", "particle_cache", "particle_cache_space"),
561     ("PointDensity", "turbulence_size", "turbulence_scale"),
562     ("PointDensity", "turbulence", "use_turbulence"),
563     ("PointDensity", "vertices_cache", "vertex_cache_space"),
564     ("PoseBone", "ik_lin_weight", "ik_linear_weight"),
565     ("PoseBone", "ik_rot_weight", "ik_rotation_weight"),
566     ("PoseBone", "ik_limit_x", "use_ik_limit_x"),
567     ("PoseBone", "ik_limit_y", "use_ik_limit_y"),
568     ("PoseBone", "ik_limit_z", "use_ik_limit_z"),
569     ("PoseBone", "ik_lin_control", "use_ik_linear_control"),
570     ("PoseBone", "ik_rot_control", "use_ik_rotation_control"),
571     ("Bone", "use_hinge", "use_inherit_rotation"),
572     ("SPHFluidSettings", "spring_k", "spring_force"),
573     ("SPHFluidSettings", "stiffness_k", "stiffness"),
574     ("SPHFluidSettings", "stiffness_knear", "stiffness_near"),
575     ("SceneGameData", "framing_color", "frame_color"),
576     ("SceneGameData", "framing_type", "frame_type"),
577     ("SceneGameData", "eye_separation", "stereo_eye_separation"),
578     ("SceneGameData", "activity_culling", "use_activity_culling"),
579     ("SceneGameData", "auto_start", "use_auto_start"),
580     ("SceneGameData", "glsl_extra_textures", "use_glsl_extra_textures"),
581     ("SceneGameData", "glsl_lights", "use_glsl_lights"),
582     ("SceneGameData", "glsl_nodes", "use_glsl_nodes"),
583     ("SceneGameData", "glsl_ramps", "use_glsl_ramps"),
584     ("SceneGameData", "glsl_shaders", "use_glsl_shaders"),
585     ("SceneGameData", "glsl_shadows", "use_glsl_shadows"),
586     ("Sequence", "blend_opacity", "blend_alpha"),
587     ("Sequence", "blend_mode", "blend_type"),
588     ("Sequence", "frame_final_length", "frame_final_duration"),
589     ("Sequence", "use_effect_default_fade", "use_default_fade"),
590     ("SequenceColorBalance", "inverse_gain", "invert_gain"),
591     ("SequenceColorBalance", "inverse_gamma", "invert_gamma"),
592     ("SequenceColorBalance", "inverse_lift", "invert_lift"),
593     ("EffectSequence", "multiply_colors", "color_multiply"),
594     ("EffectSequence", "de_interlace", "use_deinterlace"),
595     ("EffectSequence", "flip_x", "use_flip_x"),
596     ("EffectSequence", "flip_y", "use_flip_y"),
597     ("EffectSequence", "convert_float", "use_float"),
598     ("EffectSequence", "premultiply", "use_premultiply"),
599     ("EffectSequence", "proxy_custom_directory", "use_proxy_custom_directory"),
600     ("EffectSequence", "proxy_custom_file", "use_proxy_custom_file"),
601     ("EffectSequence", "reverse_frames", "use_reverse_frames"),
602     ("GlowSequence", "blur_distance", "blur_radius"),
603     ("GlowSequence", "only_boost", "use_only_boost"),
604     ("SpeedControlSequence", "curve_compress_y", "use_curve_compress_y"),
605     ("SpeedControlSequence", "curve_velocity", "use_curve_velocity"),
606     ("SpeedControlSequence", "frame_blending", "use_frame_blend"),
607     ("TransformSequence", "uniform_scale", "use_uniform_scale"),
608     ("ImageSequence", "animation_end_offset", "animation_offset_end"),
609     ("ImageSequence", "animation_start_offset", "animation_offset_start"),
610     ("ImageSequence", "multiply_colors", "color_multiply"),
611     ("ImageSequence", "de_interlace", "use_deinterlace"),
612     ("ImageSequence", "flip_x", "use_flip_x"),
613     ("ImageSequence", "flip_y", "use_flip_y"),
614     ("ImageSequence", "convert_float", "use_float"),
615     ("ImageSequence", "premultiply", "use_premultiply"),
616     ("ImageSequence", "proxy_custom_directory", "use_proxy_custom_directory"),
617     ("ImageSequence", "proxy_custom_file", "use_proxy_custom_file"),
618     ("ImageSequence", "reverse_frames", "use_reverse_frames"),
619     ("MetaSequence", "animation_end_offset", "animation_offset_end"),
620     ("MetaSequence", "animation_start_offset", "animation_offset_start"),
621     ("MetaSequence", "multiply_colors", "color_multiply"),
622     ("MetaSequence", "de_interlace", "use_deinterlace"),
623     ("MetaSequence", "flip_x", "use_flip_x"),
624     ("MetaSequence", "flip_y", "use_flip_y"),
625     ("MetaSequence", "convert_float", "use_float"),
626     ("MetaSequence", "premultiply", "use_premultiply"),
627     ("MetaSequence", "proxy_custom_directory", "use_proxy_custom_directory"),
628     ("MetaSequence", "proxy_custom_file", "use_proxy_custom_file"),
629     ("MetaSequence", "reverse_frames", "use_reverse_frames"),
630     ("MovieSequence", "animation_end_offset", "animation_offset_end"),
631     ("MovieSequence", "animation_start_offset", "animation_offset_start"),
632     ("MovieSequence", "multiply_colors", "color_multiply"),
633     ("MovieSequence", "de_interlace", "use_deinterlace"),
634     ("MovieSequence", "flip_x", "use_flip_x"),
635     ("MovieSequence", "flip_y", "use_flip_y"),
636     ("MovieSequence", "convert_float", "use_float"),
637     ("MovieSequence", "premultiply", "use_premultiply"),
638     ("MovieSequence", "proxy_custom_directory", "use_proxy_custom_directory"),
639     ("MovieSequence", "proxy_custom_file", "use_proxy_custom_file"),
640     ("MovieSequence", "reverse_frames", "use_reverse_frames"),
641     ("MulticamSequence", "animation_end_offset", "animation_offset_end"),
642     ("MulticamSequence", "animation_start_offset", "animation_offset_start"),
643     ("MulticamSequence", "multiply_colors", "color_multiply"),
644     ("MulticamSequence", "de_interlace", "use_deinterlace"),
645     ("MulticamSequence", "flip_x", "use_flip_x"),
646     ("MulticamSequence", "flip_y", "use_flip_y"),
647     ("MulticamSequence", "convert_float", "use_float"),
648     ("MulticamSequence", "premultiply", "use_premultiply"),
649     ("MulticamSequence", "proxy_custom_directory", "use_proxy_custom_directory"),
650     ("MulticamSequence", "proxy_custom_file", "use_proxy_custom_file"),
651     ("MulticamSequence", "reverse_frames", "use_reverse_frames"),
652     ("SceneSequence", "animation_end_offset", "animation_offset_end"),
653     ("SceneSequence", "animation_start_offset", "animation_offset_start"),
654     ("SceneSequence", "multiply_colors", "color_multiply"),
655     ("SceneSequence", "de_interlace", "use_deinterlace"),
656     ("SceneSequence", "flip_x", "use_flip_x"),
657     ("SceneSequence", "flip_y", "use_flip_y"),
658     ("SceneSequence", "convert_float", "use_float"),
659     ("SceneSequence", "premultiply", "use_premultiply"),
660     ("SceneSequence", "proxy_custom_directory", "use_proxy_custom_directory"),
661     ("SceneSequence", "proxy_custom_file", "use_proxy_custom_file"),
662     ("SceneSequence", "reverse_frames", "use_reverse_frames"),
663     ("SoundSequence", "animation_end_offset", "animation_offset_end"),
664     ("SoundSequence", "animation_start_offset", "animation_offset_start"),
665     ("SmokeDomainSettings", "smoke_domain_colli", "collision_extents"),
666     ("SmokeDomainSettings", "smoke_cache_high_comp", "point_cache_compress_high_type"),
667     ("SmokeDomainSettings", "smoke_cache_comp", "point_cache_compress_type"),
668     ("SmokeDomainSettings", "maxres", "resolution_max"),
669     ("SmokeDomainSettings", "smoothemitter", "smooth_emitter"),
670     ("SmokeDomainSettings", "dissolve_smoke", "use_dissolve_smoke"),
671     ("SmokeDomainSettings", "dissolve_smoke_log", "use_dissolve_smoke_log"),
672     ("SmokeDomainSettings", "highres", "use_high_resolution"),
673     ("SoftBodySettings", "bending", "bend"),
674     ("SoftBodySettings", "error_limit", "error_threshold"),
675     ("SoftBodySettings", "lcom", "location_mass_center"),
676     ("SoftBodySettings", "lrot", "rotation_estimate"),
677     ("SoftBodySettings", "lscale", "scale_estimate"),
678     ("SoftBodySettings", "maxstep", "step_max"),
679     ("SoftBodySettings", "minstep", "step_min"),
680     ("SoftBodySettings", "diagnose", "use_diagnose"),
681     ("SoftBodySettings", "edge_collision", "use_edge_collision"),
682     ("SoftBodySettings", "estimate_matrix", "use_estimate_matrix"),
683     ("SoftBodySettings", "face_collision", "use_face_collision"),
684     ("SoftBodySettings", "self_collision", "use_self_collision"),
685     ("SoftBodySettings", "stiff_quads", "use_stiff_quads"),
686     ("TexMapping", "maximum", "max"),
687     ("TexMapping", "minimum", "min"),
688     ("TexMapping", "has_maximum", "use_max"),
689     ("TexMapping", "has_minimum", "use_min"),
690     ("TextCharacterFormat", "bold", "use_bold"),
691     ("TextCharacterFormat", "italic", "use_italic"),
692     ("TextCharacterFormat", "underline", "use_underline"),
693     ("TextureSlot", "rgb_to_intensity", "use_rgb_to_intensity"),
694     ("TextureSlot", "stencil", "use_stencil"),
695     ("LampTextureSlot", "texture_coordinates", "texture_coords"),
696     ("LampTextureSlot", "map_color", "use_map_color"),
697     ("LampTextureSlot", "map_shadow", "use_map_shadow"),
698     ("MaterialTextureSlot", "coloremission_factor", "color_emission_factor"),
699     ("MaterialTextureSlot", "colordiff_factor", "diffuse_color_factor"),
700     ("MaterialTextureSlot", "x_mapping", "mapping_x"),
701     ("MaterialTextureSlot", "y_mapping", "mapping_y"),
702     ("MaterialTextureSlot", "z_mapping", "mapping_z"),
703     ("MaterialTextureSlot", "colorreflection_factor", "reflection_color_factor"),
704     ("MaterialTextureSlot", "colorspec_factor", "specular_color_factor"),
705     ("MaterialTextureSlot", "texture_coordinates", "texture_coords"),
706     ("MaterialTextureSlot", "colortransmission_factor", "transmission_color_factor"),
707     ("MaterialTextureSlot", "from_dupli", "use_from_dupli"),
708     ("MaterialTextureSlot", "from_original", "use_from_original"),
709     ("MaterialTextureSlot", "map_alpha", "use_map_alpha"),
710     ("MaterialTextureSlot", "map_ambient", "use_map_ambient"),
711     ("MaterialTextureSlot", "map_colordiff", "use_map_color_diff"),
712     ("MaterialTextureSlot", "map_coloremission", "use_map_color_emission"),
713     ("MaterialTextureSlot", "map_colorreflection", "use_map_color_reflection"),
714     ("MaterialTextureSlot", "map_colorspec", "use_map_color_spec"),
715     ("MaterialTextureSlot", "map_colortransmission", "use_map_color_transmission"),
716     ("MaterialTextureSlot", "map_density", "use_map_density"),
717     ("MaterialTextureSlot", "map_diffuse", "use_map_diffuse"),
718     ("MaterialTextureSlot", "map_displacement", "use_map_displacement"),
719     ("MaterialTextureSlot", "map_emission", "use_map_emission"),
720     ("MaterialTextureSlot", "map_emit", "use_map_emit"),
721     ("MaterialTextureSlot", "map_hardness", "use_map_hardness"),
722     ("MaterialTextureSlot", "map_mirror", "use_map_mirror"),
723     ("MaterialTextureSlot", "map_normal", "use_map_normal"),
724     ("MaterialTextureSlot", "map_raymir", "use_map_raymir"),
725     ("MaterialTextureSlot", "map_reflection", "use_map_reflect"),
726     ("MaterialTextureSlot", "map_scattering", "use_map_scatter"),
727     ("MaterialTextureSlot", "map_specular", "use_map_specular"),
728     ("MaterialTextureSlot", "map_translucency", "use_map_translucency"),
729     ("MaterialTextureSlot", "map_warp", "use_map_warp"),
730     ("WorldTextureSlot", "texture_coordinates", "texture_coords"),
731     ("WorldTextureSlot", "map_blend", "use_map_blend"),
732     ("WorldTextureSlot", "map_horizon", "use_map_horizon"),
733     ("WorldTextureSlot", "map_zenith_down", "use_map_zenith_down"),
734     ("WorldTextureSlot", "map_zenith_up", "use_map_zenith_up"),
735     ("VoxelData", "still_frame_number", "still_frame"),
736     ("WorldLighting", "ao_blend_mode", "ao_blend_type"),
737     ("WorldLighting", "error_tolerance", "error_threshold"),
738     ("WorldLighting", "use_ambient_occlusion", "use_ambient_occlusian"),
739     ("WorldLighting", "pixel_cache", "use_cache"),
740     ("WorldLighting", "use_environment_lighting", "use_environment_light"),
741     ("WorldLighting", "use_indirect_lighting", "use_indirect_light"),
742     ("WorldStarsSettings", "color_randomization", "color_random"),
743     ("WorldStarsSettings", "min_distance", "distance_min"),
744     ("WorldLighting", "falloff", "use_falloff"),
745     ("Constraint", "disabled", "is_valid"),
746     ("ClampToConstraint", "cyclic", "use_cyclic"),
747     ("ImageTexture", "filter", "filter_type"),
748     ("ImageTexture", "interpolation", "use_interpolation"),
749     ("ImageTexture", "mipmap", "use_mipmap"),
750     ("ImageUser", "frames", "frame_duration"),
751     ("ImageUser", "offset", "frame_offset"),
752     ("ImageUser", "cyclic", "use_cyclic"),
753     ("ArmatureModifier", "invert", "invert_vertex_group"),
754     ("ArmatureModifier", "quaternion", "use_deform_preserve_volume"),
755     ("ArrayModifier", "length", "fit_length"),
756     ("BevelModifier", "angle", "angle_limit"),
757     ("BuildModifier", "length", "frame_duration"),
758     ("BuildModifier", "randomize", "use_random_order"),
759     ("CastModifier", "x", "use_x"),
760     ("CastModifier", "y", "use_y"),
761     ("CastModifier", "z", "use_z"),
762     ("ExplodeModifier", "size", "use_size"),
763     ("MaskModifier", "invert", "invert_vertex_group"),
764     ("MeshDeformModifier", "invert", "invert_vertex_group"),
765     ("MeshDeformModifier", "dynamic", "use_dynamic_bind"),
766     ("MirrorModifier", "clip", "use_clip"),
767     ("MirrorModifier", "x", "use_x"),
768     ("MirrorModifier", "y", "use_y"),
769     ("MirrorModifier", "z", "use_z"),
770     ("ParticleInstanceModifier", "children", "use_children"),
771     ("ParticleInstanceModifier", "normal", "use_normal"),
772     ("ParticleInstanceModifier", "size", "use_size"),
773     ("ShrinkwrapModifier", "negative", "use_negative_direction"),
774     ("ShrinkwrapModifier", "positive", "use_positive_direction"),
775     ("ShrinkwrapModifier", "x", "use_project_x"),
776     ("ShrinkwrapModifier", "y", "use_project_y"),
777     ("ShrinkwrapModifier", "z", "use_project_z"),
778     ("ShrinkwrapModifier", "mode", "wrap_method"),
779     ("SimpleDeformModifier", "mode", "deform_method"),
780     ("SimpleDeformModifier", "relative", "use_relative"),
781     ("SmoothModifier", "repeat", "iterations"),
782     ("SmoothModifier", "x", "use_x"),
783     ("SmoothModifier", "y", "use_y"),
784     ("SmoothModifier", "z", "use_z"),
785     ("SolidifyModifier", "invert", "invert_vertex_group"),
786     ("WaveModifier", "cyclic", "use_cyclic"),
787     ("WaveModifier", "normals", "use_normal"),
788     ("WaveModifier", "x", "use_x"),
789     ("WaveModifier", "y", "use_y"),
790     ("DampedTrackConstraint", "track", "track_axis"),
791     ("FloorConstraint", "sticky", "use_sticky"),
792     ("FollowPathConstraint", "forward", "forward_axis"),
793     ("FollowPathConstraint", "up", "up_axis"),
794     ("LockedTrackConstraint", "lock", "lock_axis"),
795     ("LockedTrackConstraint", "track", "track_axis"),
796     ("MaintainVolumeConstraint", "axis", "free_axis"),
797     ("TrackToConstraint", "track", "track_axis"),
798     ("TrackToConstraint", "up", "up_axis"),
799     ("GameProperty", "debug", "show_debug"),
800     ("Image", "tiles", "use_tiles"),
801     ("Lamp", "diffuse", "use_diffuse"),
802     ("Lamp", "negative", "use_negative"),
803     ("Lamp", "layer", "use_own_layer"),
804     ("Lamp", "specular", "use_specular"),
805     ("AreaLamp", "dither", "use_dither"),
806     ("AreaLamp", "jitter", "use_jitter"),
807     ("SpotLamp", "square", "use_square"),
808     ("Material", "cubic", "use_cubic"),
809     ("Material", "shadows", "use_shadows"),
810     ("ParticleSettings", "amount", "count"),
811     ("ParticleSettings", "display", "draw_percentage"),
812     ("ParticleSettings", "velocity", "show_velocity"),
813     ("ParticleSettings", "trand", "use_emit_random"),
814     ("ParticleSettings", "parent", "use_parent_particles"),
815     ("ParticleSettings", "emitter", "use_render_emitter"),
816     ("ParticleSettings", "viewport", "use_simplify_viewport"),
817     ("Texture", "brightness", "intensity"),
818     ("CloudsTexture", "stype", "cloud_type"),
819     ("EnvironmentMapTexture", "filter", "filter_type"),
820     ("EnvironmentMapTexture", "mipmap", "use_mipmap"),
821     ("MarbleTexture", "stype", "marble_type"),
822     ("StucciTexture", "stype", "stucci_type"),
823     ("WoodTexture", "stype", "wood_type"),
824     ("World", "range", "color_range"),
825     ("World", "lighting", "light_settings"),
826     ("World", "mist", "mist_settings"),
827     ("World", "stars", "star_settings"),
828     ("MaterialHalo", "lines", "use_lines"),
829     ("MaterialHalo", "ring", "use_ring"),
830     ("MaterialHalo", "soft", "use_soft"),
831     ("MaterialHalo", "star", "use_star"),
832     ("MaterialHalo", "texture", "use_texture"),
833     ("MaterialPhysics", "damp", "damping"),
834     ("MaterialRaytraceTransparency", "limit", "depth_max"),
835     ("NlaStrip", "reversed", "use_reverse"),
836     ("CompositorNodeBlur", "bokeh", "use_bokeh"),
837     ("CompositorNodeBlur", "gamma", "use_gamma_correction"),
838     ("CompositorNodeBlur", "relative", "use_relative"),
839     ("CompositorNodeChannelMatte", "high", "limit_max"),
840     ("CompositorNodeChannelMatte", "low", "limit_min"),
841     ("CompositorNodeChannelMatte", "channel", "matte_channel"),
842     ("CompositorNodeChromaMatte", "cutoff", "threshold"),
843     ("CompositorNodeColorMatte", "h", "color_hue"),
844     ("CompositorNodeColorMatte", "s", "color_saturation"),
845     ("CompositorNodeColorMatte", "v", "color_value"),
846     ("CompositorNodeDBlur", "wrap", "use_wrap"),
847     ("CompositorNodeDefocus", "preview", "use_preview"),
848     ("CompositorNodeHueSat", "hue", "color_hue"),
849     ("CompositorNodeHueSat", "sat", "color_saturation"),
850     ("CompositorNodeHueSat", "val", "color_value"),
851     ("CompositorNodeImage", "frames", "frame_duration"),
852     ("CompositorNodeImage", "offset", "frame_offset"),
853     ("CompositorNodeImage", "start", "frame_start"),
854     ("CompositorNodeImage", "cyclic", "use_cyclic"),
855     ("CompositorNodeInvert", "alpha", "invert_alpha"),
856     ("CompositorNodeInvert", "rgb", "invert_rgb"),
857     ("CompositorNodeLensdist", "fit", "use_fit"),
858     ("CompositorNodeLensdist", "jitter", "use_jitter"),
859     ("CompositorNodeMixRGB", "alpha", "use_alpha"),
860     ("CompositorNodeRotate", "filter", "filter_type"),
861     ("CompositorNodeTime", "end", "frame_end"),
862     ("CompositorNodeTime", "start", "frame_start"),
863     ("CompositorNodeVecBlur", "curved", "use_curved"),
864     ("ShaderNodeExtendedMaterial", "diffuse", "use_diffuse"),
865     ("ShaderNodeExtendedMaterial", "specular", "use_specular"),
866     ("ShaderNodeMaterial", "diffuse", "use_diffuse"),
867     ("ShaderNodeMaterial", "specular", "use_specular"),
868     ("ShaderNodeMixRGB", "alpha", "use_alpha"),
869     ("TextureNodeCurveTime", "end", "frame_end"),
870     ("TextureNodeCurveTime", "start", "frame_start"),
871     ("TextureNodeMixRGB", "alpha", "use_alpha"),
872     ("TextureSlot", "negate", "invert"),
873     ("TextureSlot", "size", "scale"),
874     ("SoftBodySettings", "damp", "damping"),
875     ("SequenceCrop", "right", "max_x"),
876     ("SequenceCrop", "top", "max_y"),
877     ("SequenceCrop", "bottom", "min_x"),
878     ("SequenceCrop", "left", "min_y"),
879     ("Sequence", "speed_fader", "speed_factor"),
880     ("SpeedControlSequence", "global_speed", "multiply_speed"),
881     ("SpeedControlSequence", "use_curve_velocity", "use_as_speed"),
882     ("SpeedControlSequence", "use_curve_compress_y", "scale_to_length"),
883     ("Key", "keys", "key_blocks"),
884     )
885
886
887 if __name__ == "__main__":
888
889     # Example, should be called externally
890     # (class, from, to)
891     replace_ls = [
892         ('AnimVizMotionPaths', 'frame_after', 'frame_after'),
893         ('AnimVizMotionPaths', 'frame_before', 'frame_before'),
894         ('AnimVizOnionSkinning', 'frame_after', 'frame_after'),
895     ]
896
897     update_data_paths(replace_ls)