Recenze  |  Aktuality  |  Články
Doporučení  |  Diskuze
Filmy a seriály, streamovací služby
Televize  |  Projektory
Audio a domácí kina
Multimediální centra  |  Ostatní
Svět hardware  |  Digimanie
Svět mobilně

Skript do Vegasu 5 na export regionu do titulku

spamoid (62)|1.1.2006 10:45
Zdravim,
omlouvam se, ale nejsem schopen najit skript pro vytvoreni textoveho souboru s titulky, ktery se tu kdysi davno vyskytoval. Hledal jsem na foru i v navodech a downloadech a bohuzel jsem jej nenasel.
Prosim timto o pomoc a o zverejneni toho skriptu - nebo o poslani linku na nej.
Dekuji mnohokrat predem.
Musko (149)|1.1.2006 15:08
Tu je ten script na Vegas 5, ale vo Vegas 6 je uz originalny script opraveny a plne funkcny.

[code]
/**
* You can use this script to export Vegas regions in the .sub or .txt format
* for use in DVDA as subtitles. This script can aslo export regions
* as tab separated text.
*
* To use this script:
*
* 1) Create named Vegas regions.
* 2) Confirm no overlapped regions.
* 3) Vegas>tools>scripting>run script>ExportRegionsAsSubtitles.js; save
* 4) Import into DVDA using the Import Subtitles button in the DVDA timeline.
*
* Revision Date: Jun 08, 2004 by Musko
**/
import System.IO;
import System.Text;
import System.Collections;
import System.Windows.Forms;
import Sony.Vegas;

function TimeToString(time) : String
{
var rgTime = time.ToString( RulerFormat.SmpteEBU ).split(".");
var sbRes : StringBuilder = new StringBuilder();

sbRes.Append( rgTime[0]);

return sbRes;
}

function ExportRegionsToSUB(exportFile : String) {
var streamWriter : StreamWriter = null;
try {
streamWriter = File.CreateText(exportFile);
var enumRegions : IEnumerator = Vegas.Project.Regions.GetEnumerator();
var iSubtitle = 0;
while (enumRegions.MoveNext())
{
var region : Region = enumRegions.Current;
var tsv : StringBuilder = new StringBuilder();

tsv.Append((( iSubtitle / 1000 )>> 0) % 10 );
tsv.Append((( iSubtitle / 100 )>> 0) % 10 );
tsv.Append((( iSubtitle / 10 )>> 0) % 10 );
tsv.Append((( iSubtitle / 1 )>> 0) % 10 );
tsv.Append('\t');

tsv.Append( TimeToString( region.Position ));
tsv.Append('\t');
tsv.Append( TimeToString( region.End ));
tsv.Append('\t');
tsv.Append(region.Label);

streamWriter.WriteLine(tsv.ToString());
streamWriter.WriteLine();

iSubtitle++;
}
} finally {
if (null != streamWriter)
streamWriter.Close();
}
}

function ExportRegionsToTXT(exportFile : String) {
var streamWriter : StreamWriter = null;
try {
streamWriter = File.CreateText(exportFile);
var enumRegions : IEnumerator = Vegas.Project.Regions.GetEnumerator();
while (enumRegions.MoveNext())
{
var region : Region = enumRegions.Current;
var tsv : StringBuilder = new StringBuilder();

tsv.Append( region.Position.ToString( RulerFormat.SmpteEBU ));
tsv.Append('\t');
tsv.Append( region.End.ToString( RulerFormat.SmpteEBU ));
tsv.Append('\t');
tsv.Append(region.Label);

streamWriter.WriteLine(tsv.ToString());
}
} finally {
if (null != streamWriter)
streamWriter.Close();
}
}

function ShowSaveFileDialog(filter, title, defaultFilename) : String {
var saveFileDialog = new SaveFileDialog();
if (null == filter) {
filter = "All Files (*.*)|*.*";
}
saveFileDialog.Filter = filter;
if (null != title)
saveFileDialog.Title = title;
saveFileDialog.CheckPathExists = true;
saveFileDialog.AddExtension = true;
if (null != defaultFilename) {
var initialDir = Path.GetDirectoryName(defaultFilename);
if (Directory.Exists(initialDir)) {
saveFileDialog.InitialDirectory = initialDir;
}
saveFileDialog.DefaultExt = Path.GetExtension(defaultFilename);
saveFileDialog.FileName = Path.GetFileName(defaultFilename);
}
if (System.Windows.Forms.DialogResult.OK == saveFileDialog.ShowDialog()) {
return Path.GetFullPath(saveFileDialog.FileName);
} else {
return null;
}
}

var projName;

var projFile = Vegas.Project.FilePath;
if ((null == projFile) || (0 == projFile.length))
{
projName = "Untitled";
}
else
{
projName = Path.GetFileNameWithoutExtension(projFile);
}

var strExportFile : String = ShowSaveFileDialog
( "DVD Architect Subtitle Script (*.sub)|*.sub|" +
"Vegas Region List (*.txt)|*.txt",
"Save Regions as Subtitles", projName + "-Regions"
);

if (null != strExportFile)
{
var iExt = strExportFile.lastIndexOf('.');
if( strExportFile.substr( iExt+1,3+1 ).toUpperCase() == "SUB" )
ExportRegionsToSUB(strExportFile);
else
ExportRegionsToTXT(strExportFile);
}
[/code]
spamoid (62)|1.1.2006 16:55
Dekuji mnohokrat!
:-D