Guida alla creazione di DVD video

#

Listato 18

Creazione del file di controllo per spumux con le actions.
 
<!--
DVD authoring suite
makespumuxactions.wsf
(c) copyright 2005-2009 Roberto Ceccarelli
-->

<job>
<runtime>
<named name="filename" helpstring="Il nomefile del menu" required="true" type="string" />
<named name="inputaspect" helpstring="L'aspect-ratio dell'immagine corrente (normal o widescreen, default:widescreen)" required="false" type="string" />
<named name="outputaspect" helpstring="L'aspect-ratio per cui si crea la maschera (normal o widescreen, default:widescreen)" required="false" type="string" />
<named name="sequence" helpstring="la posizione nella sequenza (first, inner o last, default:inner)" required="false" type="string" />
</runtime>

<script language="JScript">
// dichiarazione variabili
var filename;
var spu, spuList;
var pos;

// controllo che esista l'argomento principale
if( !WScript.Arguments.Named.Exists("filename"))
{
        WScript.Arguments.ShowUsage();
        WScript.Quit();
}
filename = WScript.Arguments.Named("filename");

// imposto le dimensioni del bottone a seconda dell'aspect ratio dell'immagine visualizzata
if( WScript.Arguments.Named.Exists("inputaspect") )
{
        switch( WScript.Arguments.Named("inputaspect")) {
          case "normal" :      
            x0 = 125;
            x1 = 258;
        break;
          case "widescreen" :
            x0 = 105;
            x1 = 278;
        break;
         
          default:
        WScript.Arguments.ShowUsage();
            WScript.Quit();
    }
}
else  
{
        x0 = 105;
        x1 = 278;
}

// imposto le dimensioni del bottone a seconda dell'aspect ratio della maschera
if( WScript.Arguments.Named.Exists("outputaspect") )
{
        switch( WScript.Arguments.Named("outputaspect")) {
          case "normal" :      
            y0 = 232;
            y1 = 344;
        break;
          case "widescreen" :
            y0 = 214;
            y1 = 362;
        break;
         
          default:
        WScript.Arguments.ShowUsage();
            WScript.Quit();
    }
}
else  
{
        y0 = 214;
        y1 = 362;
}

// controllo la stinga di posizione nella sequenza
if( WScript.Arguments.Named.Exists("sequence") )
{
        switch( WScript.Arguments.Named("sequence")) {
          case "first" :        
            pos = "first";
                break;
          case "inner" :        
            pos = "inner";
                break;
          case "last" :        
            pos = "last";
                break;
         
          default:
        WScript.Arguments.ShowUsage();
            WScript.Quit();
    }
}
else  
{
        pos = "inner";
}
// carico il template
oxml = WScript.CreateObject("Msxml2.DOMDocument.4.0");
oxml.loadXML("<subpictures><stream><spu/></stream></subpictures>");

// inserisco i parametri
spuList = oxml.getElementsByTagName("spu");
spu = spuList.item(0);
spu.setAttribute("start","0");
spu.setAttribute("end","0");
spu.setAttribute("force","yes");
spu.setAttribute("highlight",filename+"_mask.png");
spu.setAttribute("select",filename+"_mask.png");
spu.setAttribute("xoffset","0");
spu.setAttribute("yoffset","0");

spuel = oxml.createElement("button");
spuel.setAttribute("name","Button1");
spuel.setAttribute("x0",x0);
spuel.setAttribute("y0",y0);
spuel.setAttribute("x1",x1);
spuel.setAttribute("y1",y1);
spuel.setAttribute("left","ActionLeft");
spuel.setAttribute("right","ActionRight");
if( pos != "first") { spuel.setAttribute("up","ActionUp"); }
if( pos != "last") { spuel.setAttribute("down","ActionDown"); }
spu.appendChild(spuel);

spuel = oxml.createElement("action");
spuel.setAttribute("name","ActionLeft");
spu.appendChild(spuel);

spuel = oxml.createElement("action");
spuel.setAttribute("name","ActionRight");
spu.appendChild(spuel);

if(pos != "first") {
        spuel = oxml.createElement("action");
        spuel.setAttribute("name","ActionUp");
        spu.appendChild(spuel);
}      

if(pos != "last") {
        spuel = oxml.createElement("action");
        spuel.setAttribute("name","ActionDown");
        spu.appendChild(spuel);
}

// salvataggio del file
oxml.save(filename+"_"+pos+".xml");
</script>
</job>
Inizio pagina
 
Home page