The Titler allows you to add text from within CINELERRA-GG. It has many configuration capabilities. Often it is convenient to apply the plugin on a separate track (shared or not), in order to make it independent from the video track and have more freedom in editing and configuration. For example, you can apply the Rotation plugin to rotate the title without rotating the underlying video. Another thing to keep in mind when using the Titler plugin is that it works on the temporary and therefore it is not affected by Camera movements (curves), but only by Projector movements.
The titler has standard options for font, size, and style plus many options as described next (figure 10.64)
To create special effects for your title you can place it on a dedicated track and insert other realtime video effects just under the title effect and/or use camera and projector. With keyframing you can animate your title and make it change position, size, color, transparency, texture, or shape over time.
For improving playback performances of titles with effects, you can reduce the size of the dedicated track. Right click on the track and select Resize track... Enter the smallest resolution that still keeps the title visible.
To include graphical elements like logos, you may want to import your title as a PNG image (alpha channel transparency is possible), move it with camera and projector or add effects.
The X Window system originally did not have a suitable font renderer for video. It also is restricted to the current bit depth. It does not have a convenient way to know which fonts work with the suitable font renderer in the desired bit depth. The easiest way we have found to support fonts in the titler is to have a directory for them at /usr/lib/cinelerra/fonts.
The titler supports mainly TTF, true type fonts. It supports others but TTF are the most reliable. To add true type fonts, copy the .TTF files to the fonts directory. In that directory run
# /usr/lib/cinelerra/fonts ttmkfdir && mv fonts.scale fonts.dir
If the video is displayed on a consumer TV, the outer border is going to be cropped by 5% on each side. To avoid text which is too close to the edge looking bad, you may want to enable the title-safe tool in the compositor window. The text should not cross the inner rectangle.
|Attribute name||Attribute value||Notes|
|color||color name such as RED from <cin_path>/guicast/colors.h||Or use the hex value like #a000a0; color-hex.com shows examples|
|font||exact name from Font pulldow||When you set font, bold/size and italic will be as currently set up|
|alpha||floating-point number between 0 and 1||0 is transparent; 1 is opaque|
|size||+ increases the size by , - decreases or use a number > 0 but less than 2048||Examples: <size +++>, or <size -> or <size 14.5> (floating-point ok)|
|png||filename of a .png file||Example, add a logo. Full pathname needed if not in current directory|
|bold||1 for on (default) or use 0 for off||Font used must have bold available|
|italic||1 for on (default) or use 0 for off||Font must have italic already set up|
|blink||a number in seconds to flash on and off; a negative number for fade in and out||Can be a floating-point number; <blink> with no value is like 1|
|ul||underline 1 for on (default), 0 for off|
|caps||1 for on, 0 for off, -1 for lower case||If no value set, treated same as 1|
|sup||1 for superscript; 0 ends; -1 for subscript; positive bumps up by of font size; negative sinks by 1/2 of current size||Size of text will be of font size; example: 12<sup 1>10<sup 0>; <sup> with no values, acts like 1|
|fixed||number of pixels between characters; fixed with no value uses current size||A fixed font is very useful for tables; /fixed reverts to previous fixed size|
|nudge||x,y to move the text by that amount; displacement is in number of pixels. Can be negative or positive||Example: <nudge 8,8>abc</nudge>|
|smooth||add anti-aliasing to smooth jagged edges||Turn off smooth for chroma key|
These attributes stay in effect until you change them or reset them. Additional cpu time is needed for the blink attribute because it requires redrawing every frame and for the background option described below. Note that some Title window controls can not be set, such as Justify and Outline color. The lines below are examples for testing purposes. The accompanying screenshot displays the corresponding CINELERRA-GG output.
Examples of Title line keyins:
<size 15>Buddy, the <color red><bold 1>bad dog</bold><color white> ate my homework !<png /tmp/buddy.png><ul 1><size +>There are<ul 0><size +>2<sup 1>10<sup 0>cats <font Action man (misc)>to chase?
The Text Color window has several enhanced features as listed here and seen in figure 10.67.
In order to choose a font faster, you can keyin the first few characters of the font name, being sure to use capital characters if used since it is case-sensitive. The steps to follow are:
Some of the system fonts are automatically included in the set of fonts being used by CINELERRA-GG. The easiest way to add additional fonts for the Title plugin's set, is to use ones available in specific directories on your computer as long as they have a fonts.scale file already set up. You can run mkfontscale to create this file within that directory. In order to include a specific directory you set an environment variable before starting CINELERRA-GG which stays in effect until it is unset or until the next reboot. Below is the method and an example.
export BC_FONT_PATH=<colon-separated-search-path-for-fonts> export BC_FONT_PATH=/usr/share/fonts
The current set of fonts in CINELERRA-GG's directory will be automatically included and will be the default set if this environment variable is not set. Keep in mind that if you add a lot of fonts, it will considerably slow down the startup every time you bring up the Title plugin.
If you want to only have a limited number of fonts set up, you can manipulate the CINELERRA-GG directory directly at <cinelerra_install_path> /bin/plugins/fonts. Here you will find the default set of fonts that come with the install. Copy any other fonts you would like to include here with read permission, delete any fonts you do not want to have, then execute mkfontscale which creates the file fonts.scale that CINELERRA-GG will read. However, the next time you install a new version of CINELERRA-GG, your changes will be written over so you will have to make sure to save them elsewhere and then re-establish.
If you have problems with a specific font or set of fonts, there is a debug option available to determine which font is an issue. When starting CINELERRA-GG, you should set up the variable:
export BC_FONT_DEBUG=1 (default is 0 for no debug) unset BC_FONT_DEBUG (to remove debug messages)
Then start CINELERRA-GG from a terminal window to see the fonts being loaded and previewed in the Titler. This should point out any issues. Another debug methodology is to remove all fonts from being used and subsequently add in the ones that you want. This not only speeds the load up, it ensures that the fonts you actually are using are the ones you expect because the order that CINELERRA-GG finds various fonts makes a difference in which one of potential duplicates shows up in the pulldown. So you might not see the one you expect if it was written over by a system font.
export BC_FONT_PATH=: #(the : "colon" removes all automatic system and Cinelerra fonts) export BC_FONT_PATH=:/usr/share/fonts #(remove all fonts and then add /usr/shar/fonts)
One last item of information about fonts that may lead to some confusion. The checkbox for Bold and Italic will occasionally be ghosted out if no bold or italic version of the selected font is available. This is no guarantee, but currently as good as it can get due to inconsistency in the creation of fonts. It is mostly just a hint. If boxes are checkmarked, but ghosted, you can not uncheck until you change to a font that does not ghost out the boxes. If you use the popup helper with the boxes checked, and attempt to keyin a font that does not have the bold/italic attribute as checked, the font will be considered illegal. Text: chars is output and updated to indicate the number of characters already used. The only limit to the number of characters based on a count of single 8 bit characters is the available resources on the user computer available for CINELERRA-GG use. Keep in mind that unicode or other special characters may consist of 2 to 4 8 bit bytes. Also, newlines are a character and any of the attributes you use count in the total. There is now a horizontal scroll bar as well as the vertical one in the textbox and they only appear when there are more lines or characters that can fit in the original sized textbox.
When using the Titler, kerning is applied in order to allow parts of a letter to go outside the standard sized letter box. Kerning is the process of adjusting the space between individual letters. It is not the same as proportional spacing. In kerning, a bounding box is allowed to overlay another bounding box. The philosophy here is to aim at the ability to have boxes overlap in order to make the letters look more visually appealing. Bounding box and escapement are tracked separately. In addition to adjusting individual letter spacing, the program will also expand the render box in order to have any parts of the letter extend outside the standard letter box. Kerning is applied to any and all fonts (figure 10.68).
The CINELERRA-GG Community, 2021