Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBartek Skorupa <bartekskorupa@bartekskorupa.com>2011-11-01 12:43:04 +0400
committerBartek Skorupa <bartekskorupa@bartekskorupa.com>2011-11-01 12:43:04 +0400
commit943de14ecd628df9131a6c4e50dc02577b21f608 (patch)
treecd1a0eaf1d03c715187e5f46f96fde4c0f21e4a2 /io_export_after_effects.py
parent0c909c1831a934650f45347c023385970a6b7b93 (diff)
changed convert_name(). Prevent errors in AE when user inputs invalid chars
Diffstat (limited to 'io_export_after_effects.py')
-rw-r--r--io_export_after_effects.py27
1 files changed, 18 insertions, 9 deletions
diff --git a/io_export_after_effects.py b/io_export_after_effects.py
index 580cc203..34795063 100644
--- a/io_export_after_effects.py
+++ b/io_export_after_effects.py
@@ -21,7 +21,7 @@ bl_info = {
'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 @@ def get_selected(context, prefix):
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,12 +85,20 @@ def get_selected(context, prefix):
# 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
+
+ if ob_name[0].isdigit():
+ ob_name = "_" + ob_name
+
+ ob_name = bpy.path.clean_name(ob_name)
+ ob_name = ob_name.replace("-", "_")
- return prefix + ob_name
+ return ob_name
# get object's blender's location and rotation and return AE's Position and Rotation/Orientation
@@ -320,7 +328,7 @@ def write_jsx_file(file, data, selection, export_bundles, comp_name, prefix):
#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 write_jsx_file(file, data, selection, export_bundles, comp_name, prefix):
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'}