D7WS HOMEPAGE WORKSHOP NEUE XTRAS GALERIE WORKSHOP Automatic Translation LESERSERVICE BUCH NEWS

HowTo: Feld werde Text... automatische Feldkonvertierung

 

 

 

Home
Workshop-Seite

Wenn Sie Filme aus älteren Director-Versionen mit dem gleichnamigen Befehl im Menü Xtras aktualisieren, behält Director 7 für Felddarsteller den Darstellertyp #field bei. In vielen Fällen wird sich jedoch ein Wechsel des Darstellertyps anbieten, um die Vorteile der neuen Text-Engine nutzen zu können.

Der Weg über die Zwischenablage ist für einige wenige Darsteller akzeptabel; bei einer größeren Anzahl von Darstellern bietet sich dagegen eine skriptgesteuerte Umwandlung an.

Die folgende Prozedur konvertiert sämtliche Felddarsteller einer angegebenen Besetzung in Darsteller vom Typ #text. Dabei werden die Formate und der Name des Darstellers übernommen. Unterschiedliche Formatierungen innerhalb eines Feldes gehen allerdings verloren, da nur das Format des ersten Zeichens berücksichtigt wird, das Director zur Bestimmung der Format-Properties eines Feldes auswertet. Eine Erweiterung der Prozedur um die zeichenweise Übernahme der Formate ist selbstverständlich möglich.

Die Prozedur wird in einem Filmskript gespeichert und während des Authorings im Nachrichtenfenster aufgerufen. Als Aufrufparameter wird der Name oder die Nummer der Besetzung erwartet, in der alle Felddarsteller in Text konvertiert werden sollen.




 

 

 

 

on fieldtotxt whichlib
  --
  repeat with m = 1 to the number of members of castlib whichlib
    if (member m of castlib whichlib).type = #field then
      -- neuen Darsteller erzeugen
      newmem = new(#text)
      -- Inhalt, Namen u. Format Ÿbernehmen
      newmem.text = (member m of castlib whichlib).text
      newmem.name = (member m of castlib whichlib).name
      newmem.font = (member m of castlib whichlib).font
      newmem.fontsize = (member m of castlib whichlib).fontsize
      newmem.fontstyle = convertstyles((member m of castlib whichlib).fontstyle)
      -- Darsteller verschieben
      move member newmem, member m of castlib whichlib
      -- Meldung ausgeben
      put "umgewandelt: " && member m of castlib whichlib
    end if
  end repeat
end




 

 

 

 

Die Prozedur "convertStyles" wird benötigt, um die Formatangaben der Felder in die abweichende Formatsyntax für Textdarsteller umzusetzen. Felder verwenden eine Zeichenkette, in der die Formate durch Kommata getrennt gelistet werden, währende Textdarsteller zur Speicherung der Formatinformation eine lineare Liste verwenden, in der die einzelnen Formattags als Symbol gespeichert sind.

on convertstyles str
  -- konvertiert field styles zu text styles
  -- z.B. "italic,underline" --> [#italic, #underline]
  id = the itemDelimiter
  the itemDelimiter = ","
  lst = []
  repeat with i = 1 to the number of items of str
    add(lst, symbol(item i of str))
  end repeat
  the itemDelimiter = id
  return lst
end

 

Gerd Gillmaier




 


Directorworkshop.de ist © Joachim Gola & Gerd Gillmaier 1998-2002. Alle Rechte vorbehalten.