openshot.code team mailing list archive
-
openshot.code team
-
Mailing list archive
-
Message #00065
[Branch ~openshot.code/openshot/main] Rev 553: Added a new 3D animated title, called "Color Tiles", which allows for 3 different "titles", and 3...
------------------------------------------------------------
revno: 553
committer: Jonathan Thomas <Jonathan.Oomph@xxxxxxxxx>
branch nick: openshot
timestamp: Sun 2011-09-04 20:42:33 -0500
message:
Added a new 3D animated title, called "Color Tiles", which allows for 3 different "titles", and 3 user defined colors (or tiles), and intepolates the color throughout the animation.
added:
openshot/blender/blend/colors.blend
openshot/blender/blend/colors.blend1
openshot/blender/colors.xml
openshot/blender/icons/colors.png
openshot/blender/scripts/colors.py
--
lp:openshot
https://code.launchpad.net/~openshot.code/openshot/main
Your team OpenShot Code is subscribed to branch lp:openshot.
To unsubscribe from this branch go to https://code.launchpad.net/~openshot.code/openshot/main/+edit-subscription
=== added file 'openshot/blender/blend/colors.blend'
Binary files openshot/blender/blend/colors.blend 1970-01-01 00:00:00 +0000 and openshot/blender/blend/colors.blend 2011-09-05 01:42:33 +0000 differ
=== added file 'openshot/blender/blend/colors.blend1'
Binary files openshot/blender/blend/colors.blend1 1970-01-01 00:00:00 +0000 and openshot/blender/blend/colors.blend1 2011-09-05 01:42:33 +0000 differ
=== added file 'openshot/blender/colors.xml'
--- openshot/blender/colors.xml 1970-01-01 00:00:00 +0000
+++ openshot/blender/colors.xml 2011-09-05 01:42:33 +0000
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE openshot-effect>
+<effect>
+ <title translatable="True">Color Tiles</title>
+ <description translatable="True">Different Colored Tiles with Text</description>
+ <icon>colors.png</icon>
+ <category>Video</category>
+ <service>colors.blend</service>
+
+ <param name="file_name" type="text" title="File Name" description="">
+ <default>TitleFileName</default>
+ </param>
+
+ <param name="title1" type="text" title="Title 1" description="">
+ <default>Title 1</default>
+ </param>
+ <param name="title2" type="text" title="Title 2" description="">
+ <default>Title 2</default>
+ </param>
+ <param name="title3" type="text" title="Title 3" description="">
+ <default>Title 3</default>
+ </param>
+
+ <param name="extrude" type="spinner" title="Extrude" description="">
+ <min>0.0</min>
+ <max>1.0</max>
+ <default>0.1</default>
+ </param>
+
+ <param name="bevel_depth" type="spinner" title="Bevel Depth" description="">
+ <min>0.0</min>
+ <max>1.0</max>
+ <default>0.02</default>
+ </param>
+
+ <param name="fontname" type="dropdown" title="Font Name" description="">
+ <values>
+ <value name="Bfont" num="Bfont"/>
+ <value name="FreeMono" num="FreeMono"/>
+ <value name="FreeMonoBold" num="FreeMonoBold"/>
+ <value name="FreeSans" num="FreeSans"/>
+ <value name="FreeSansBold" num="FreeSansBold"/>
+ <value name="FreeSansBoldOblique" num="FreeSansBoldOblique"/>
+ <value name="WenQuanYiMicroHei (Unicode)" num="WenQuanYiMicroHei"/>
+ </values>
+ <default>Bfont</default>
+ </param>
+
+ <param name="text_size" type="spinner" title="Text Size" description="">
+ <min>0.0</min>
+ <max>10.0</max>
+ <default>1.0</default>
+ </param>
+
+ <param name="width" type="spinner" title="Text Width" description="">
+ <min>0.0</min>
+ <max>10.0</max>
+ <default>1.0</default>
+ </param>
+
+ <param name="diffuse_color" type="color" title="Diffuse Color" description="">
+ <default>#ffffff</default>
+ </param>
+
+ <param name="specular_color" type="color" title="Specular Color" description="">
+ <default>#ffffff</default>
+ </param>
+
+ <param name="specular_intensity" type="spinner" title="Specular Intensity" description="">
+ <min>0.0</min>
+ <max>1.0</max>
+ <default>0.5</default>
+ </param>
+
+
+
+ <param name="specular_color_bg" type="color" title="Background: Specular Color" description="">
+ <default>#ffffff</default>
+ </param>
+
+ <param name="specular_intensity_bg" type="spinner" title="Background: Specular Intensity" description="">
+ <min>0.0</min>
+ <max>1.0</max>
+ <default>0.5</default>
+ </param>
+
+ <param name="shadeless" type="dropdown" title="Background: Shadeless" description="">
+ <values>
+ <value name="Yes" num="Yes"/>
+ <value name="No" num="No"/>
+ </values>
+ <default>No</default>
+ </param>
+
+
+
+
+ <param name="diffuse_color_t1" type="color" title="Tile 1: Diffuse Color" description="">
+ <default>#008BE7</default>
+ </param>
+ <param name="diffuse_color_t2" type="color" title="Tile 2: Diffuse Color" description="">
+ <default>#E700C0</default>
+ </param>
+ <param name="diffuse_color_t3" type="color" title="Tile 3: Diffuse Color" description="">
+ <default>#F3AD00</default>
+ </param>
+ <param name="diffuse_color_t4" type="color" title="Tile 4: Diffuse Color" description="">
+ <default>#000000</default>
+ </param>
+
+ <param name="start_frame" type="spinner" title="Start Frame" description="">
+ <min>1</min>
+ <max>1</max>
+ <default>1</default>
+ </param>
+
+ <param name="end_frame" type="spinner" title="End Frame" description="">
+ <min>300</min>
+ <max>300</max>
+ <default>300</default>
+ </param>
+</effect>
=== added file 'openshot/blender/icons/colors.png'
Binary files openshot/blender/icons/colors.png 1970-01-01 00:00:00 +0000 and openshot/blender/icons/colors.png 2011-09-05 01:42:33 +0000 differ
=== added file 'openshot/blender/scripts/colors.py'
--- openshot/blender/scripts/colors.py 1970-01-01 00:00:00 +0000
+++ openshot/blender/scripts/colors.py 2011-09-05 01:42:33 +0000
@@ -0,0 +1,260 @@
+# OpenShot Video Editor is a program that creates, modifies, and edits video files.
+# Copyright (C) 2009 Jonathan Thomas
+#
+# This file is part of OpenShot Video Editor (http://launchpad.net/openshot/).
+#
+# OpenShot Video Editor is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# OpenShot Video Editor is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with OpenShot Video Editor. If not, see <http://www.gnu.org/licenses/>.
+
+
+# Import Blender's python API. This only works when the script is being
+# run from the context of Blender. Blender contains it's own version of Python
+# with this library pre-installed.
+import bpy
+
+# Load a font
+def load_font(font_path):
+ """ Load a new TTF font into Blender, and return the font object """
+ # get the original list of fonts (before we add a new one)
+ original_fonts = bpy.data.fonts.keys()
+
+ # load new font
+ bpy.ops.font.open(filepath=font_path)
+
+ # get the new list of fonts (after we added a new one)
+ for font_name in bpy.data.fonts.keys():
+ if font_name not in original_fonts:
+ return bpy.data.fonts[font_name]
+
+ # no new font was added
+ return None
+
+# Debug Info:
+# ./blender -b test.blend -P demo.py
+# -b = background mode
+# -P = run a Python script within the context of the project file
+
+# Init all of the variables needed by this script. Because Blender executes
+# this script, OpenShot will inject a dictionary of the required parameters
+# before this script is executed.
+params = {
+ 'title' : 'Oh Yeah! OpenShot!',
+ 'extrude' : 0.1,
+ 'bevel_depth' : 0.02,
+ 'spacemode' : 'CENTER',
+ 'text_size' : 1.5,
+ 'width' : 1.0,
+ 'fontname' : 'Bfont',
+
+ 'color' : [0.8,0.8,0.8],
+ 'alpha' : 1.0,
+
+ 'output_path' : '/tmp/',
+ 'fps' : 24,
+ 'quality' : 90,
+ 'file_format' : 'PNG',
+ 'color_mode' : 'RGBA',
+ 'horizon_color' : [0.57, 0.57, 0.57],
+ 'resolution_x' : 1920,
+ 'resolution_y' : 1080,
+ 'resolution_percentage' : 100,
+ 'start_frame' : 20,
+ 'end_frame' : 25,
+ 'animation' : True,
+ }
+
+#INJECT_PARAMS_HERE
+
+# The remainder of this script will modify the current Blender .blend project
+# file, and adjust the settings. The .blend file is specified in the XML file
+# that defines this template in OpenShot.
+#----------------------------------------------------------------------------
+
+# TITLE 1 - Modify Text / Curve settings
+text_object1 = bpy.data.curves["Title1"]
+text_object1.extrude = params["extrude"]
+text_object1.bevel_depth = params["bevel_depth"]
+text_object1.body = params["title1"]
+text_object1.align = params["spacemode"]
+text_object1.size = params["text_size"]
+text_object1.space_character = params["width"]
+# Get font object
+font = None
+if params["fontname"] != "Bfont":
+ # Add font so it's available to Blender
+ font = load_font(params["fontname"])
+else:
+ # Get default font
+ font = bpy.data.fonts["Bfont"]
+text_object1.font = font
+
+# TITLE 2 - Modify Text / Curve settings
+text_object2 = bpy.data.curves["Title2"]
+text_object2.extrude = params["extrude"]
+text_object2.bevel_depth = params["bevel_depth"]
+text_object2.body = params["title2"]
+text_object2.align = params["spacemode"]
+text_object2.size = params["text_size"]
+text_object2.space_character = params["width"]
+text_object2.font = font
+
+# TITLE 3 - Modify Text / Curve settings
+text_object3 = bpy.data.curves["Title3"]
+text_object3.extrude = params["extrude"]
+text_object3.bevel_depth = params["bevel_depth"]
+text_object3.body = params["title3"]
+text_object3.align = params["spacemode"]
+text_object3.size = params["text_size"]
+text_object3.space_character = params["width"]
+text_object3.font = font
+
+# TITLE 1 - Change the material settings (color, alpha, etc...)
+material_object1 = bpy.data.materials["Title1.Material"]
+material_object1.diffuse_color = params["diffuse_color"]
+material_object1.specular_color = params["specular_color"]
+material_object1.specular_intensity = params["specular_intensity"]
+material_object1.alpha = params["alpha"]
+
+# TITLE 2 - Change the material settings (color, alpha, etc...)
+material_object2 = bpy.data.materials["Title2.Material"]
+material_object2.diffuse_color = params["diffuse_color"]
+material_object2.specular_color = params["specular_color"]
+material_object2.specular_intensity = params["specular_intensity"]
+material_object2.alpha = params["alpha"]
+
+# TITLE 3 - Change the material settings (color, alpha, etc...)
+material_object3 = bpy.data.materials["Title3.Material"]
+material_object3.diffuse_color = params["diffuse_color"]
+material_object3.specular_color = params["specular_color"]
+material_object3.specular_intensity = params["specular_intensity"]
+material_object3.alpha = params["alpha"]
+
+# BACKGROUND - Change the material settings (color, alpha, etc...)
+material_object4 = bpy.data.materials["Background.Material"]
+material_object4.specular_color = params["specular_color_bg"]
+material_object4.specular_intensity = params["specular_intensity_bg"]
+
+# Shadeless Background
+if params["shadeless"] == "Yes":
+ material_object4.use_shadeless = True
+else:
+ material_object4.use_shadeless = False
+
+# BACKGROUND COLORS (KEYFRAMES) ----------------------
+# TILE 1
+bpy.data.actions["Background.MaterialAc"].fcurves[0].keyframe_points[0].co = (1.0, params["diffuse_color_t1"][0])
+bpy.data.actions["Background.MaterialAc"].fcurves[0].keyframe_points[0].handle_left.y = params["diffuse_color_t1"][0]
+bpy.data.actions["Background.MaterialAc"].fcurves[0].keyframe_points[0].handle_right.y = params["diffuse_color_t1"][0]
+
+bpy.data.actions["Background.MaterialAc"].fcurves[1].keyframe_points[0].co = (1.0, params["diffuse_color_t1"][1])
+bpy.data.actions["Background.MaterialAc"].fcurves[1].keyframe_points[0].handle_left.y = params["diffuse_color_t1"][1]
+bpy.data.actions["Background.MaterialAc"].fcurves[1].keyframe_points[0].handle_right.y = params["diffuse_color_t1"][1]
+
+bpy.data.actions["Background.MaterialAc"].fcurves[2].keyframe_points[0].co = (1.0, params["diffuse_color_t1"][2])
+bpy.data.actions["Background.MaterialAc"].fcurves[2].keyframe_points[0].handle_left.y = params["diffuse_color_t1"][2]
+bpy.data.actions["Background.MaterialAc"].fcurves[2].keyframe_points[0].handle_right.y = params["diffuse_color_t1"][2]
+
+bpy.data.actions["Background.MaterialAc"].fcurves[0].keyframe_points[1].co = (70.0, params["diffuse_color_t1"][0])
+bpy.data.actions["Background.MaterialAc"].fcurves[0].keyframe_points[1].handle_left.y = params["diffuse_color_t1"][0]
+bpy.data.actions["Background.MaterialAc"].fcurves[0].keyframe_points[1].handle_right.y = params["diffuse_color_t1"][0]
+
+bpy.data.actions["Background.MaterialAc"].fcurves[1].keyframe_points[1].co = (70.0, params["diffuse_color_t1"][1])
+bpy.data.actions["Background.MaterialAc"].fcurves[1].keyframe_points[1].handle_left.y = params["diffuse_color_t1"][1]
+bpy.data.actions["Background.MaterialAc"].fcurves[1].keyframe_points[1].handle_right.y = params["diffuse_color_t1"][1]
+
+bpy.data.actions["Background.MaterialAc"].fcurves[2].keyframe_points[1].co = (70.0, params["diffuse_color_t1"][2])
+bpy.data.actions["Background.MaterialAc"].fcurves[2].keyframe_points[1].handle_left.y = params["diffuse_color_t1"][2]
+bpy.data.actions["Background.MaterialAc"].fcurves[2].keyframe_points[1].handle_right.y = params["diffuse_color_t1"][2]
+
+# TILE 2
+bpy.data.actions["Background.MaterialAc"].fcurves[0].keyframe_points[2].co = (120.0, params["diffuse_color_t2"][0])
+bpy.data.actions["Background.MaterialAc"].fcurves[0].keyframe_points[2].handle_left.y = params["diffuse_color_t2"][0]
+bpy.data.actions["Background.MaterialAc"].fcurves[0].keyframe_points[2].handle_right.y = params["diffuse_color_t2"][0]
+
+bpy.data.actions["Background.MaterialAc"].fcurves[1].keyframe_points[2].co = (120.0, params["diffuse_color_t2"][1])
+bpy.data.actions["Background.MaterialAc"].fcurves[1].keyframe_points[2].handle_left.y = params["diffuse_color_t2"][1]
+bpy.data.actions["Background.MaterialAc"].fcurves[1].keyframe_points[2].handle_right.y = params["diffuse_color_t2"][1]
+
+bpy.data.actions["Background.MaterialAc"].fcurves[2].keyframe_points[2].co = (120.0, params["diffuse_color_t2"][2])
+bpy.data.actions["Background.MaterialAc"].fcurves[2].keyframe_points[2].handle_left.y = params["diffuse_color_t2"][2]
+bpy.data.actions["Background.MaterialAc"].fcurves[2].keyframe_points[2].handle_right.y = params["diffuse_color_t2"][2]
+
+bpy.data.actions["Background.MaterialAc"].fcurves[0].keyframe_points[3].co = (160.0, params["diffuse_color_t2"][0])
+bpy.data.actions["Background.MaterialAc"].fcurves[0].keyframe_points[3].handle_left.y = params["diffuse_color_t2"][0]
+bpy.data.actions["Background.MaterialAc"].fcurves[0].keyframe_points[3].handle_right.y = params["diffuse_color_t2"][0]
+
+bpy.data.actions["Background.MaterialAc"].fcurves[1].keyframe_points[3].co = (160.0, params["diffuse_color_t2"][1])
+bpy.data.actions["Background.MaterialAc"].fcurves[1].keyframe_points[3].handle_left.y = params["diffuse_color_t2"][1]
+bpy.data.actions["Background.MaterialAc"].fcurves[1].keyframe_points[3].handle_right.y = params["diffuse_color_t2"][1]
+
+bpy.data.actions["Background.MaterialAc"].fcurves[2].keyframe_points[3].co = (160.0, params["diffuse_color_t2"][2])
+bpy.data.actions["Background.MaterialAc"].fcurves[2].keyframe_points[3].handle_left.y = params["diffuse_color_t2"][2]
+bpy.data.actions["Background.MaterialAc"].fcurves[2].keyframe_points[3].handle_right.y = params["diffuse_color_t2"][2]
+
+# TILE 3
+bpy.data.actions["Background.MaterialAc"].fcurves[0].keyframe_points[4].co = (200.0, params["diffuse_color_t3"][0])
+bpy.data.actions["Background.MaterialAc"].fcurves[0].keyframe_points[4].handle_left.y = params["diffuse_color_t3"][0]
+bpy.data.actions["Background.MaterialAc"].fcurves[0].keyframe_points[4].handle_right.y = params["diffuse_color_t3"][0]
+
+bpy.data.actions["Background.MaterialAc"].fcurves[1].keyframe_points[4].co = (200.0, params["diffuse_color_t3"][1])
+bpy.data.actions["Background.MaterialAc"].fcurves[1].keyframe_points[4].handle_left.y = params["diffuse_color_t3"][1]
+bpy.data.actions["Background.MaterialAc"].fcurves[1].keyframe_points[4].handle_right.y = params["diffuse_color_t3"][1]
+
+bpy.data.actions["Background.MaterialAc"].fcurves[2].keyframe_points[4].co = (200.0, params["diffuse_color_t3"][2])
+bpy.data.actions["Background.MaterialAc"].fcurves[2].keyframe_points[4].handle_left.y = params["diffuse_color_t3"][2]
+bpy.data.actions["Background.MaterialAc"].fcurves[2].keyframe_points[4].handle_right.y = params["diffuse_color_t3"][2]
+
+bpy.data.actions["Background.MaterialAc"].fcurves[0].keyframe_points[5].co = (240.0, params["diffuse_color_t3"][0])
+bpy.data.actions["Background.MaterialAc"].fcurves[0].keyframe_points[5].handle_left.y = params["diffuse_color_t3"][0]
+bpy.data.actions["Background.MaterialAc"].fcurves[0].keyframe_points[5].handle_right.y = params["diffuse_color_t3"][0]
+
+bpy.data.actions["Background.MaterialAc"].fcurves[1].keyframe_points[5].co = (240.0, params["diffuse_color_t3"][1])
+bpy.data.actions["Background.MaterialAc"].fcurves[1].keyframe_points[5].handle_left.y = params["diffuse_color_t3"][1]
+bpy.data.actions["Background.MaterialAc"].fcurves[1].keyframe_points[5].handle_right.y = params["diffuse_color_t3"][1]
+
+bpy.data.actions["Background.MaterialAc"].fcurves[2].keyframe_points[5].co = (240.0, params["diffuse_color_t3"][2])
+bpy.data.actions["Background.MaterialAc"].fcurves[2].keyframe_points[5].handle_left.y = params["diffuse_color_t3"][2]
+bpy.data.actions["Background.MaterialAc"].fcurves[2].keyframe_points[5].handle_right.y = params["diffuse_color_t3"][2]
+
+# TILE 4
+bpy.data.actions["Background.MaterialAc"].fcurves[0].keyframe_points[6].co = (300.0, params["diffuse_color_t4"][0])
+bpy.data.actions["Background.MaterialAc"].fcurves[0].keyframe_points[6].handle_left.y = params["diffuse_color_t4"][0]
+bpy.data.actions["Background.MaterialAc"].fcurves[0].keyframe_points[6].handle_right.y = params["diffuse_color_t4"][0]
+
+bpy.data.actions["Background.MaterialAc"].fcurves[1].keyframe_points[6].co = (300.0, params["diffuse_color_t4"][1])
+bpy.data.actions["Background.MaterialAc"].fcurves[1].keyframe_points[6].handle_left.y = params["diffuse_color_t4"][1]
+bpy.data.actions["Background.MaterialAc"].fcurves[1].keyframe_points[6].handle_right.y = params["diffuse_color_t4"][1]
+
+bpy.data.actions["Background.MaterialAc"].fcurves[2].keyframe_points[6].co = (300.0, params["diffuse_color_t4"][2])
+bpy.data.actions["Background.MaterialAc"].fcurves[2].keyframe_points[6].handle_left.y = params["diffuse_color_t4"][2]
+bpy.data.actions["Background.MaterialAc"].fcurves[2].keyframe_points[6].handle_right.y = params["diffuse_color_t4"][2]
+
+
+# Set the render options. It is important that these are set
+# to the same values as the current OpenShot project. These
+# params are automatically set by OpenShot
+bpy.context.scene.render.filepath = params["output_path"]
+bpy.context.scene.render.fps = params["fps"]
+#bpy.context.scene.render.quality = params["quality"]
+bpy.context.scene.render.file_format = params["file_format"]
+bpy.context.scene.render.color_mode = params["color_mode"]
+bpy.data.worlds[0].horizon_color = params["horizon_color"]
+bpy.context.scene.render.resolution_x = params["resolution_x"]
+bpy.context.scene.render.resolution_y = params["resolution_y"]
+bpy.context.scene.render.resolution_percentage = params["resolution_percentage"]
+bpy.context.scene.frame_start = params["start_frame"]
+bpy.context.scene.frame_end = params["end_frame"]
+
+# Render the current animation to the params["output_path"] folder
+bpy.ops.render.render(animation=params["animation"])
+