Frage von helot88:Hallo Experten,
folgender Ausgangspunkt. Ich habe einen Film, der mit deutschem Text besprochen ist. Der soll nun mit englischen Untertiteln versehen werden.
Dazu habe ich (da der Film knapp 10 Minuten lang ist und 7000 Zeichen gesprochenen Text enthält) mir ein subtitel-script gesucht und ausgeführt. Das klappt auch gut.
Also: Textebene erstellen, Schriftart, Größe und Ausrichtung festlegen und dann die zu untertitelnden Stellen mit Markern versehen.
Dann führe ich das script aus, wähle die Text-Datei, in denen alle meine Untertitel stehen und schon sind die Untertitel alle in nur einer Textebene an der richtigen Stelle.
Und nun mein Problem:
Die Schrift steht einfach so da... Also ich benötige eine Fläche, die halbtransparent unter dem Text liegt. Und zwar immer nur dann, wenn auch Untertitel zu sehen sind.
Klar, ich könnte das mit Farbebenen erstellen, aber dann bräuchte ich ja unzählige, jede Menge Zeit und das würde ja der Zeitersparnis widersprechen, die ich mir mit der script-Automatisierung geschaffen habe.
Hat einer eine Idee, wie ich unter die Untertitel eine solche Fläche Fläche bringe? Ich habe es mal mit Matte versucht, aber das bringt es auch nicht wirklich.
Gruß
Sascha
Antwort von Mylenium:
Erweitere doch einfach das Script. Genau so wie Textebenen kann man auch Solids und andere Ebenen dem Projekt hinzufügen und deren Eigenschaften festlegen...
Mylenium
Antwort von helot88:
@Mylenium
Ja, das ist eine gute Idee. Allerdings kann ich wirklich nicht alles beherrschen. Und script-Programmierung gehört leider nicht zu meinen Stärken.
Ich habe hier mal den Script-Code angehängt. Vielleicht kann sich ja einer erbarmen und mir mal den richtigen Weg aufzeigen. Zumindest rudimentär.
Danke schon mal
Sascha
{
// Subtitle generator by !Rocky
// modified by Colin Harman ( http://colinharman.com/ ) to work on a Mac
//
// Save this code as
// "subtitles.jsx"
//
// Create a text file with your subtitles.
// Each line of text is one on-screen line.
// To have several lines on-screen at the same time,
// simply separate them with a pipe ( | ) character.
// eg "Character 1 talks|Character 2 interrupts"
//
// Create a new text layer in your comp, adjust its position,
// make sure the text's centered, so it looks nice
// Add markers (Numpad *) where each subtitle line must be shown/hidden.
// With the text layer selected, run the script, and select the subtitles file.
// Enjoy!
function makeSubs() {
var layer = app.project.activeItem.selectedLayers[0];
if (layer.property("sourceText") != null) {
var textFile = fileGetDialog("Select a text file to open.", "");
if (textFile != null) {
var textLines = new Array();
textFile.open("r", "TEXT", "????");
while (!textFile.eof)
textLines[textLines.length] = textFile.readln();
textFile.close();
var sourceText = layer.property("sourceText");
var markers = layer.property("marker");
for (var i = sourceText.numKeys; i >= 1; i--)
sourceText.removeKey(i);
var line = 0;
var subTime, subText;
for (var i = 1; i <= markers.numKeys; i++) {
subTime = markers.keyTime(i);
sourceText.setValueAtTime(0, " ");
if ((i % 2) == 0) {
subText = " ";
}
else {
subText = textLines[line].replace("|", "\x0d\x0a");
line++;
}
sourceText.setValueAtTime(subTime, new TextDocument(subText));
}
}
}
}
makeSubs();
}
 |