[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [2552] trunk/py/scripts/addons/ io_export_after_effects.py: changed convert_name().
Bartek Skorupa
bartekskorupa at bartekskorupa.com
Tue Nov 1 09:43:05 CET 2011
Revision: 2552
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=2552
Author: bartekskorupa
Date: 2011-11-01 08:43:04 +0000 (Tue, 01 Nov 2011)
Log Message:
-----------
changed convert_name(). Prevent errors in AE when user inputs invalid chars
Modified Paths:
--------------
trunk/py/scripts/addons/io_export_after_effects.py
Modified: trunk/py/scripts/addons/io_export_after_effects.py
===================================================================
--- trunk/py/scripts/addons/io_export_after_effects.py 2011-10-30 10:56:20 UTC (rev 2551)
+++ trunk/py/scripts/addons/io_export_after_effects.py 2011-11-01 08:43:04 UTC (rev 2552)
@@ -21,7 +21,7 @@
'name': 'Export: Adobe After Effects (.jsx)',
'description': 'Export selected cameras, objects & bundles to Adobe After Effects CS3 and above',
'author': 'Bartek Skorupa',
- 'version': (0, 55),
+ 'version': (0, 56),
'blender': (2, 6, 0),
'api': 41098,
'location': 'File > Export > Adobe After Effects (.jsx)',
@@ -69,10 +69,10 @@
for ob in obs:
if ob.type == 'CAMERA':
cameras.append(ob)
- cams_names.append(convert_name(ob, prefix))
+ cams_names.append(convert_name(False, ob, prefix))
else:
nulls.append(ob)
- nulls_names.append(convert_name(ob, prefix))
+ nulls_names.append(convert_name(False, ob, prefix))
selection = {
'cameras': cameras,
@@ -85,14 +85,22 @@
# convert names of objects to avoid errors in AE. Add user specified prefix
-def convert_name(ob, prefix):
- ob_name = ob.name
- for c in (" ", ".", ",", "-", "=", "+", "*"):
- ob_name = ob_name.replace(c, "_")
+def convert_name(is_comp, ob, prefix):
+ if is_comp:
+ ob_name = ob + prefix
+ ob_name = ob_name.replace('"', "_")
+ else:
+ ob_name = ob.name + prefix
- return prefix + ob_name
+ if ob_name[0].isdigit():
+ ob_name = "_" + ob_name
+
+ ob_name = bpy.path.clean_name(ob_name)
+ ob_name = ob_name.replace("-", "_")
+ return ob_name
+
# get object's blender's location and rotation and return AE's Position and Rotation/Orientation
# this function will be called for every object for every frame
def convert_pos_rot_matrix(matrix, width, height, aspect, x_rot_correction=False):
@@ -320,7 +328,7 @@
#convert the position into AE space
ae_pos_rot = convert_pos_rot_matrix(matrix, data['width'], data['height'], data['aspect'], x_rot_correction=False)
#get the name of the tracker
- name_ae = convert_name(track, prefix)
+ name_ae = convert_name(False, track, prefix)
#write JS script for this Bundle
jsx_file.write('var %s = newComp.layers.addNull();\n' % name_ae)
jsx_file.write('%s.threeDLayer = true;\n' % name_ae)
@@ -343,6 +351,7 @@
def main(file, context, export_bundles, comp_name, prefix):
data = get_comp_data(context)
selection = get_selected(context, prefix)
+ comp_name = convert_name(True, comp_name, "")
write_jsx_file(file, data, selection, export_bundles, comp_name, prefix)
print ("\nExport to After Effects Completed")
return {'FINISHED'}
More information about the Bf-extensions-cvs
mailing list