Mpeg 2 Converter

Publicado por Carlos Alberto (última atualização em 08/12/2010)

[ Hits: 4.474 ]

Download Mp2_Converter.kmdr




Ferramenta em kmdr (kommander) para conversão de formatos de vídeo para mpeg-dvd ou dvd para avi/mkv.

  



Esconder código-fonte

#!/usr/bin/kmdr-executor
<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
<class>Mp2_ConverterVIDEO</class>
<author>CarlosXLinux@gmail.com</author>
<license>GPL2</license>
<version>0.03</version>
<widget class="Dialog">
    <property name="name">
        <cstring>Mp2_ConverterVIDEO</cstring>
    </property>
    <property name="geometry">
        <rect>
            <x>0</x>
            <y>0</y>
            <width>761</width>
            <height>592</height>
        </rect>
    </property>
    <property name="caption">
        <string>MPEG Converter</string>
    </property>
    <property name="icon">
        <pixmap>image0</pixmap>
    </property>
    <property name="associations" stdset="0">
        <stringlist>
            <string></string>
            <string>@record.setVisible(false)
@sizecalc.execute
@forEach(T, "NTSC 720x480\nNTSC 704x480\nNTSC 352x480\nNTSC 352x240\nPAL 720x576\nPAL 704x576\nPAL 352x576\nPAL 352x288")
@tela.addUniqueItem(@T)
@end
</string>
            <string></string>
        </stringlist>
    </property>
    <property name="useShebang">
        <bool>true</bool>
    </property>
    <grid>
        <property name="name">
            <cstring>unnamed</cstring>
        </property>
        <property name="margin">
            <number>11</number>
        </property>
        <property name="spacing">
            <number>6</number>
        </property>
        <widget class="QLayoutWidget" row="9" column="0" rowspan="1" colspan="15">
            <property name="name">
                <cstring>Layout1</cstring>
            </property>
            <grid>
                <property name="name">
                    <cstring>unnamed</cstring>
                </property>
                <property name="margin">
                    <number>0</number>
                </property>
                <property name="spacing">
                    <number>6</number>
                </property>
                <widget class="ProgressBar" row="0" column="1">
                    <property name="name">
                        <cstring>PP_2</cstring>
                    </property>
                    <property name="minimumSize">
                        <size>
                            <width>0</width>
                            <height>25</height>
                        </size>
                    </property>
                    <property name="maximumSize">
                        <size>
                            <width>32767</width>
                            <height>25</height>
                        </size>
                    </property>
                    <property name="totalSteps">
                        <number>100</number>
                    </property>
                    <property name="associations" stdset="0">
                        <stringlist>
                            <string></string>
                        </stringlist>
                    </property>
                    <property name="toolTip" stdset="0">
                        <string>Progresso total</string>
                    </property>
                </widget>
                <widget class="ProgressBar" row="0" column="0">
                    <property name="name">
                        <cstring>PP_1</cstring>
                    </property>
                    <property name="minimumSize">
                        <size>
                            <width>0</width>
                            <height>25</height>
                        </size>
                    </property>
                    <property name="maximumSize">
                        <size>
                            <width>32767</width>
                            <height>25</height>
                        </size>
                    </property>
                    <property name="associations" stdset="0">
                        <stringlist>
                            <string></string>
                        </stringlist>
                    </property>
                    <property name="toolTip" stdset="0">
                        <string>Progresso do arquivo.</string>
                    </property>
                </widget>
            </grid>
        </widget>
        <spacer row="8" column="9" rowspan="1" colspan="2">
            <property name="name">
                <cstring>Spacer2</cstring>
            </property>
            <property name="orientation">
                <enum>Horizontal</enum>
            </property>
            <property name="sizeType">
                <enum>Expanding</enum>
            </property>
            <property name="sizeHint">
                <size>
                    <width>52</width>
                    <height>0</height>
                </size>
            </property>
        </spacer>
        <widget class="Table" row="1" column="0" rowspan="5" colspan="14">
            <column>
                <property name="text">
                    <string>Arquivo</string>
                </property>
            </column>
            <column>
                <property name="text">
                    <string>Volume (M)</string>
                </property>
            </column>
            <column>
                <property name="text">
                    <string>Tempo (s)</string>
                </property>
            </column>
            <column>
                <property name="text">
                    <string>Tela</string>
                </property>
            </column>
            <column>
                <property name="text">
                    <string>Frame Rate (fps)</string>
                </property>
            </column>
            <column>
                <property name="text">
                    <string>Aspect</string>
                </property>
            </column>
            <column>
                <property name="text">
                    <string>V. Codec</string>
                </property>
            </column>
            <column>
                <property name="text">
                    <string>V. Bit Rate (Kb)</string>
                </property>
            </column>
            <column>
                <property name="text">
                    <string>A. Codec</string>
                </property>
            </column>
            <column>
                <property name="text">
                    <string>A. Bit Rate (Kb)</string>
                </property>
            </column>
            <column>
                <property name="text">
                    <string>A. Rate (Hz)</string>
                </property>
            </column>
            <column>
                <property name="text">
                    <string>A. Ling.</string>
                </property>
            </column>
            <column>
                <property name="text">
                    <string>S. Ling.</string>
                </property>
            </column>
            <column>
                <property name="text">
                    <string>Titulo</string>
                </property>
            </column>
            <column>
                <property name="text">
                    <string>Pasta</string>
                </property>
            </column>
            <property name="name">
                <cstring>Playlist</cstring>
            </property>
            <property name="numRows">
                <number>0</number>
            </property>
            <property name="numCols">
                <number>15</number>
            </property>
            <property name="selectionMode">
                <enum>Single</enum>
            </property>
            <property name="associations" stdset="0">
                <stringlist>
                    <string></string>
                </stringlist>
            </property>
            <property name="toolTip" stdset="0">
                <string>Lista de arquivos a serem convertidos.</string>
            </property>
        </widget>
        <widget class="ExecButton" row="3" column="14">
            <property name="name">
                <cstring>adiciona3</cstring>
            </property>
            <property name="minimumSize">
                <size>
                    <width>40</width>
                    <height>40</height>
                </size>
            </property>
            <property name="maximumSize">
                <size>
                    <width>40</width>
                    <height>40</height>
                </size>
            </property>
            <property name="focusPolicy">
                <enum>NoFocus</enum>
            </property>
            <property name="text">
                <string></string>
            </property>
            <property name="accel">
                <number>4152</number>
            </property>
            <property name="iconSet">
                <iconset>image1</iconset>
            </property>
            <property name="flat">
                <bool>true</bool>
            </property>
            <property name="populationText">
                <string></string>
            </property>
            <property name="associations" stdset="0">
                <stringlist>
                    <string>#!/bin/bash
DDK="dcop @dcopid KommanderIf";
SCT="setCellText";
PL="Playlist"; c=0; 
enall(){
for m in GB{0,1,2,3,4,5,6,7,8} convert adiciona adiciona2 adiciona3 $PL play remove tela vbit abit; do
   $DDK $SE $m $1;
done
}
enall false;
DLST="$(awk '/name|hd[a-z]|sr[0-9]|scd[0-9]/{for (i=NF;i>=3;i--) { print $i }}' /proc/sys/dev/cdrom/info 2>/dev/null)";
for i in $DLST; do
   TITLE="$(lsdvd -q "/dev/$i" 2>/dev/null | awk '/Longest track:/{ print $3 }')";
   FILES="/dev/$i";
   if [ -n "$TITLE" ]; then
      DISC_TITLE="$(lsdvd -q "$FILES" | awk '/Disc.*Title:/{for (i=3;i<=NF;i++) { print $i }}')";
      FLST="$i $DISC_TITLE";
      c="$[c+1]";
   fi
done
if [ "$[c]" != "1" ]; then
   FILES="/dev/$(kdialog --menu "Escolha a unidade:" $FLST)";
   TITLE="$(lsdvd -q "$FILES" 2>/dev/null | awk '/Longest track:/{ print $3 }')";
   DISC_TITLE="$(lsdvd -q "$FILES" | awk '/Disc.*Title:/{for (i=3;i<=NF;i++) { print $i }}')";
fi
if [ -n "$FILES" -a -n "$TITLE" ]; then
   n="$($DDK rowCount $PL)"; [ ! -n "$n" ] && n="0";
   $DDK insertRow $PL $n 1;
   $DDK $SCT $PL $n 0 "$DISC_TITLE";
   V="$(lshal -u "volume_label_$DISC_TITLE" | awk '/volume.size/{ print $3 "/1024" }' | bc)";
   $DDK $SCT $PL $n 1 "$V";
   $DDK $SCT $PL $n 14 "$FILES";
   ID_FILE="$(mplayer dvd://$TITLE -dvd-device "$FILES" -vo null -ao null -endpos 0 -identify 2>/dev/null 2>&1 | awk '/ID_AUDIO|ID_VIDEO|ID_DEMUXER|ID_LENGTH|ID_AID_.*_LANG/')";
   ID_DVD_AUDIO="$(lsdvd -q -x -t$TITLE "$FILES" | tr -d ':,-' | awk '/Audio.*Language/{ print $1 $2 "_" $4 "_" $5 "_" $7 "_" $9 " " $1 $2 "_" $4 "_" $5 "_" $7 "_" $9 }')";
   ID_DVD_SUBS="$(lsdvd -q -x -t$TITLE "$FILES" | tr -d ':,-' | awk '/Subtitle.*Language/{ print $1 $2 "_" $4 "_" $5 " " $1 $2 "_" $4 "_" $5 }')";
   declare -t $ID_FILE;
   c=0; for n in $ID_DVD_AUDIO; do c="$[c+1]"; done;
   if [ "$[c/2]" != "1" ]; then ID_DVD_AUDIO="$(kdialog --menu "Linguagens encontradas:" $ID_DVD_AUDIO | tr '_' ' ')"; fi;
   $DDK $SCT $PL $n 11 "$(echo $ID_DVD_AUDIO | awk '{ print $2 }')";
   ID_AUDIO_CODEC="$(echo $ID_DVD_AUDIO | awk '{ print $4 }')";
   ID_AUDIO_RATE="$(echo $ID_DVD_AUDIO | awk '{ print $5 }')";
   c=0; for n in $ID_DVD_SUBS; do c="$[c+1]"; done;
   if [ "$[c/2]" != "1" ]; then ID_DVD_SUBS="$(kdialog --menu "Legendas encontradas:" nenhum nenhum $ID_DVD_SUBS | tr '_' ' ')"; fi;
   $DDK $SCT $PL $n 12 "$(echo $ID_DVD_SUBS | awk '{ print $2 }')";
   $DDK $SCT $PL $n 2 "$ID_LENGTH";
   $DDK $SCT $PL $n 3 "$ID_VIDEO_WIDTH:$ID_VIDEO_HEIGHT";
   $DDK $SCT $PL $n 4 "$ID_VIDEO_FPS";
   $DDK $SCT $PL $n 5 "$ID_VIDEO_ASPECT";
   $DDK $SCT $PL $n 6 "$ID_VIDEO_CODEC";
   $DDK $SCT $PL $n 7 "$[ID_VIDEO_BITRATE/1000]";
   $DDK $SCT $PL $n 8 "$ID_AUDIO_CODEC";
   $DDK $SCT $PL $n 9 "$[ID_AUDIO_BITRATE/1000]";
   $DDK $SCT $PL $n 10 "$ID_AUDIO_RATE";
   $DDK $SCT $PL $n 13 "$DISC_TITLE";
   TOTAL="$[$($DDK text total | awk '{ print $2 }')+$(echo $ID_LENGTH | cut -f1 -d.)]";
   HH="$[$[TOTAL-$[TOTAL-$[$[TOTAL/60]*60]]]/3600]";
   MM="$[$[$[TOTAL-$[TOTAL-$[$[TOTAL/60]*60]]]/60]-$[$[$[TOTAL-$[TOTAL-$[$[TOTAL/60]*60]]]/3600]*60]]"; 
   SS="$[TOTAL-$[$[TOTAL/60]*60]]"; 
   [ "$HH" -lt "10" ] && HH="0$HH"; [ "$MM" -lt "10" ] && MM="0$MM"; [ "$SS" -lt "10" ] && SS="0$SS"; 
   $DDK setText total "Total: $TOTAL s - $HH:$MM:$SS";
   VBITS="$($DDK text vbit | tr -d ':[alpha]:')";
   ABITS="$($DDK text abit | tr -d ':[alpha]:')";
   SIZE="$(echo "scale=2; ${TOTAL}*$[VBITS]/8+${TOTAL}*2*$[ABITS]/13" | bc -l)";
   $DDK setText size "Estimado: $(echo "scale=2; ${SIZE}/1024" | bc -l )MB";
   enall true;
fi;
enall true;
</string>
                </stringlist>
            </property>
            <property name="toolTip" stdset="0">
                <string>Inserir um dvd inserido numa unidade a lista.(F9)</string>
            </property>
        </widget>
        <widget class="Label" row="8" column="2">
            <property name="name">
                <cstring>Label7</cstring>
            </property>
            <property name="maximumSize">
                <size>
                    <width>50</width>
                    <height>30</height>
                </size>
            </property>
            <property name="text">
                <string>V Bits:</string>
            </property>
            <property name="associations" stdset="0">
                <stringlist>
                    <string></string>
                </stringlist>
            </property>
        </widget>
        <widget class="ExecButton" row="5" column="14">
            <property name="name">
                <cstring>remove</cstring>
            </property>
            <property name="minimumSize">
                <size>
                    <width>40</width>
                    <height>40</height>
                </size>
            </property>
            <property name="maximumSize">
                <size>
                    <width>40</width>
                    <height>40</height>
                </size>
            </property>
            <property name="focusPolicy">
                <enum>NoFocus</enum>
            </property>
            <property name="text">
                <string></string>
            </property>
            <property name="pixmap">
                <pixmap>image2</pixmap>
            </property>
            <property name="accel">
                <number>4154</number>
            </property>
            <property name="flat">
                <bool>true</bool>
            </property>
            <property name="populationText">
                <string></string>
            </property>
            <property name="associations" stdset="0">
                <stringlist>
                    <string>#!/bin/bash
DDK="dcop @dcopid KommanderIf";
enall(){
for m in GB{0,1,2,3,4,5,6,7,8} convert adiciona adiciona2 adiciona3 $PL play remove tela vbit abit; do
   $DDK $SE $m $1;
done
}
enall false;
declare -t $($DDK selection Playlist | awk -F',' '{ print "IN=" $1 " ON=" $3 }'); 
timerrecal(){
   TOTAL="$[$($DDK text total | tr -d 's' | awk '{ print $2 }')-$($DDK cellText Playlist $[a] 2 | cut -f1 -d.)]";
   HH="$[$[TOTAL-$[TOTAL-$[$[TOTAL/60]*60]]]/3600]";
   MM="$[$[$[TOTAL-$[TOTAL-$[$[TOTAL/60]*60]]]/60]-$[$[$[TOTAL-$[TOTAL-$[$[TOTAL/60]*60]]]/3600]*60]]"; 
   SS="$[TOTAL-$[$[TOTAL/60]*60]]"; 
   [ "$HH" -lt "10" ] && HH="0$HH"; [ "$MM" -lt "10" ] && MM="0$MM"; [ "$SS" -lt "10" ] && SS="0$SS"; 
   $DDK setText total "Total: ${TOTAL}s - $HH:$MM:$SS";
 }
if [ "$[IN]" != "-1" -a "$[ON]" != "-1" ]; then
    for ((a=$[IN];a<=$[ON];a++)); do timerrecal; done
    $DDK removeRow Playlist $[IN] $[1+ON-IN];
else
    for ((a=0;a<10;a++)); do timerrecal; done
    $DDK removeRow Playlist 0 10;
fi
VBITS="$($DDK text vbit | tr -d ':[alpha]:')";
ABITS="$($DDK text abit | tr -d ':[alpha]:')";
SIZE="$(echo "scale=2; ${TOTAL}*$[VBITS]/8+${TOTAL}*2*$[ABITS]/13" | bc -l)";
$DDK setText size "Estimado: $(echo "scale=2; ${SIZE}/1024" | bc -l )MB";
enall true;
</string>
                </stringlist>
            </property>
            <property name="toolTip" stdset="0">
                <string>Remove o arquivo selecionado da lista.(F11)</string>
            </property>
        </widget>
        <widget class="Label" row="8" column="0">
            <property name="name">
                <cstring>Label9</cstring>
            </property>
            <property name="maximumSize">
                <size>
                    <width>40</width>
                    <height>30</height>
                </size>
            </property>
            <property name="text">
                <string>Tela:</string>
            </property>
            <property name="associations" stdset="0">
                <stringlist>
                    <string></string>
                </stringlist>
            </property>
        </widget>
        <widget class="StatusBar" row="10" column="0" rowspan="1" colspan="15">
            <property name="name">
                <cstring>DISPLAY</cstring>
            </property>
        </widget>
        <widget class="ExecButton" row="1" column="14">
            <property name="name">
                <cstring>adiciona</cstring>
            </property>
            <property name="minimumSize">
                <size>
                    <width>40</width>
                    <height>40</height>
                </size>
            </property>
            <property name="maximumSize">
                <size>
                    <width>40</width>
                    <height>40</height>
                </size>
            </property>
            <property name="focusPolicy">
                <enum>NoFocus</enum>
            </property>
            <property name="text">
                <string></string>
            </property>
            <property name="accel">
                <number>4150</number>
            </property>
            <property name="iconSet">
                <iconset>image3</iconset>
            </property>
            <property name="flat">
                <bool>true</bool>
            </property>
            <property name="populationText">
                <string></string>
            </property>
            <property name="associations" stdset="0">
                <stringlist>
                    <string>#!/bin/bash
DDK="dcop @dcopid KommanderIf";
SCT="setCellText";
PL="Playlist";
enall(){
for m in GB{0,1,2,3,4,5,6,7,8} convert adiciona adiciona2 adiciona3 $PL play remove tela vbit abit; do
   $DDK $SE $m $1;
done
}
enall false;
$DDK clear mpinfo;
$DDK clear mplayernfo;
ARCHIVES="$(kdialog --multiple --separate-output --getopenfilename "$HOME" '*.[fm][lpk][veg4] *.[awoi][vmgs][ivmo] *.rpm *.rmv *.rmvb' | sed -e 's/ /##SPACE##/g' | sort -f -r)";
insertName(){
$DDK insertRow $PL $n 1;
V="$(basename "$1")";
$DDK $SCT $PL $n 0 "$V";
DISC_TITLE="$(echo "$V" | sed -e 's/.[mM][pP][eE][gG4]//g; s/.[fF][lL][vV]//g; s/.[oO][gG][mM]//g; s/.[mM][kK][vV]//g; s/.[mM][pP][gG4]//g; s/.[aA][vV][iI]//g; s/.[wW][mM][vV]//g; s/.[rR][mM][vV][bB]//g; s/.[rR][mM][vV]//g; s/.[rR][pP][mM]//g; s/.[vV][oO][bB]//g; s/.[iI][sS][oO]//g')";
V="$(du -s -h -k "$1" | awk '{ print $1 }')";
$DDK $SCT $PL $n 1 "$V";
V="$(dirname "$1")";
$DDK $SCT $PL $n 14 "$V";
}
ncounter(){
VAR="$1"; 
m=""; 
n=0; 
for i in $VAR; do 
   n=$[n+1]; 
   m="$m $n"; 
done; 
echo $m
}
addfiles(){
FILES="$1";
if [ -n "$FILES" ]; then
n="$($DDK rowCount $PL 2>/dev/null)"; [ ! -n "$n" ] && n="0";
insertName "$FILES";
case "$FILES" in
*.[aA][vV][iI] | *.[wW][mM][vV] | *.[mM][kK][vV] | *.[fF][lL][vV] | *.[oO][gG][mM] | *.[rR][mM][vV] | *.[rR][mM][vV][bB] | *.[rR][pP][mM] | *.[mM][pP][gG4] | *.[mM][pP][eE][gG])
   eval "$(mplayer "$FILES" -vo null -ao null -endpos 0 -identify 2>/dev/null 2>&1 | awk '/ID_VIDEO|ID_AUDIO|ID_SEEKABLE|ID_LENGTH|ID_DEMUXER|ID_AID_.*_LANG/')";
   ID_FILE_AUDIO="$(mplayer "$FILES" -vo null -ao null -endpos 0 -identify 2>/dev/null 2>&1 | awk '/Audio.*stream/{ print $6 }')";
   case "$FILES" in
   *.mkv)
      eval "$(mkvmerge -i "$FILES" | awk '/video/{ print "ID_VIDEO_CODEC=" $5 }' | tr -d '()')";
      eval "$(mkvmerge -i "$FILES" | awk '/audio/{ print "ID_AUDIO_CODEC=" $5 }' | tr -d '()')";
      MER="$(mkvmerge -i "$FILES" | awk '/audio/{ print $3 }')";
      ID_FILE_AUDIO="$(ncounter "$MER")";
   ;;
   esac
   if [ ! -n "$(echo "$ID_VIDEO_ASPECT" | tr -d '0.')" ]; then ID_VIDEO_ASPECT="$(echo "scale=5; $ID_VIDEO_WIDTH/$ID_VIDEO_HEIGHT" | bc -l)"; fi
   if [ -n "$(echo $ID_FILE_AUDIO | grep 2)" ]; then
      for i in $ID_FILE_AUDIO; do ID_FILE_AUDIO="$(echo $ID_FILE_AUDIO | sed "s/$i/\"$i\" \"$i\"/g")"; done
      V="$(kdialog --menu "Linguagens encontradas:" $ID_FILE_AUDIO)";
      $DDK $SCT $PL $n 11 "$V";
   else $DDK $SCT $PL $n 11 $ID_AUDIO_ID; fi;
   LFS=""; 
   if [ -f "$($DDK cellText $PL $n 14)/${DISC_TITLE}.srt" ]; then
      LFS="${DISC_TITLE}.srt";
   elif [ -f "$($DDK cellText $PL $n 14)/${DISC_TITLE}.ass" ]; then
      LFS="${DISC_TITLE}.ass";
   fi
   c=0; for n in $LFS; do c="$[c+1]"; done;
   if [ -n "$LFS" ]; then 
      if [ "$[c]" != "1" ]; then 
         for i in $LFS; do 
            l="$(echo "$i" | sed -e 's/##SPACE##/ /g')";
            LFS="$(echo "$LFS" | sed "s/$i/\"$l\" \"$l\"/g")"; 
         done;
         V="$(kdialog --menu "Legendas encontradas:" nenhum nenhum $LFS)"; 
      else
         V="$(echo $LFS | sed -e 's/##SPACE##/ /g')";
      fi
      $DDK $SCT $PL $n 12 "$V";
   else
      $DDK $SCT $PL $n 12 nenhum;
   fi
;;
*.[iI][sS][oO]|*hd[a-z]|*sr[0-9]|*scd[0-9])
   TITLE="$(lsdvd -q "$FILES" | awk '/Longest track:/{ print $3 }')";
   DISC_TITLE="$(lsdvd -q "$FILES" | awk '/Disc.*Title:/{for (i=3;i<=NF;i++) { print $i }}')";
   eval "$(mplayer dvd://$TITLE -dvd-device "$FILES" -vo null -ao null -endpos 0 -identify 2>/dev/null 2>&1 | awk '/ID_AUDIO|ID_VIDEO|ID_DEMUXER|ID_LENGTH|ID_AID_.*_LANG/')";
   ID_DVD_AUDIO="$(lsdvd -q -x -t$TITLE "$FILES" | tr -d ':,-' | awk '/Audio.*Language/{ print $1 $2 "_" $4 "_" $5 "_" $7 "_" $9 " " $1 $2 "_" $4 "_" $5 "_" $7 "_" $9 }')";
   ID_DVD_SUBS="$(lsdvd -q -x -t$TITLE "$FILES" | tr -d ':,-' | awk '/Subtitle.*Language/{ print $1 $2 "_" $4 "_" $5 " " $1 $2 "_" $4 "_" $5 }')";
   c=0; for n in $ID_DVD_AUDIO; do c="$[c+1]"; done;
   if [ "$[c/2]" != "1" ]; then ID_DVD_AUDIO="$(kdialog --menu "Linguagens encontradas:" $ID_DVD_AUDIO | tr '_' ' ')"; fi;
   $DDK $SCT $PL $n 11 "$(echo $ID_DVD_AUDIO | awk '{ print $2 }')";
   ID_AUDIO_CODEC="$(echo $ID_DVD_AUDIO | awk '{ print $4 }')";
   ID_AUDIO_RATE="$(echo $ID_DVD_AUDIO | awk '{ print $5 }')";
   c=0; for n in $ID_DVD_SUBS; do c="$[c+1]"; done;
   if [ "$[c/2]" != "1" ]; then ID_DVD_SUBS="$(kdialog --menu "Legendas encontradas:" nenhum nenhum $ID_DVD_SUBS | tr '_' ' ')"; fi;
   $DDK $SCT $PL $n 12 "$(echo $ID_DVD_SUBS | awk '{ print $2 }')";
;;
esac
   $DDK $SCT $PL $n 2 "$ID_LENGTH";
   $DDK $SCT $PL $n 3 "$ID_VIDEO_WIDTH:$ID_VIDEO_HEIGHT";
   $DDK $SCT $PL $n 4 "$ID_VIDEO_FPS";
   $DDK $SCT $PL $n 5 "$ID_VIDEO_ASPECT";
   $DDK $SCT $PL $n 6 "$ID_VIDEO_CODEC";
   $DDK $SCT $PL $n 7 "$[ID_VIDEO_BITRATE/1000]";
   $DDK $SCT $PL $n 8 "$ID_AUDIO_CODEC";
   $DDK $SCT $PL $n 9 "$[ID_AUDIO_BITRATE/1000]";
   $DDK $SCT $PL $n 10 "$ID_AUDIO_RATE";
   DISC_TITLE="$(echo "$DISC_TITLE"  | tr -d '(){}[]+!?:')";
   $DDK $SCT $PL $n 13 "$DISC_TITLE";
   TOTAL="$[$($DDK text total | tr -d 's' | awk '{ print $2 }')+$(echo $ID_LENGTH | cut -f1 -d.)]";
   HH="$[$[TOTAL-$[TOTAL-$[$[TOTAL/60]*60]]]/3600]";
   MM="$[$[$[TOTAL-$[TOTAL-$[$[TOTAL/60]*60]]]/60]-$[$[$[TOTAL-$[TOTAL-$[$[TOTAL/60]*60]]]/3600]*60]]"; 
   SS="$[TOTAL-$[$[TOTAL/60]*60]]"; 
   [ "$HH" -lt "10" ] && HH="0$HH"; [ "$MM" -lt "10" ] && MM="0$MM"; [ "$SS" -lt "10" ] && SS="0$SS"; 
   $DDK setText total "Total: ${TOTAL}s - $HH:$MM:$SS";
   VBITS="$($DDK text vbit | tr -d ':[alpha]:')";
   ABITS="$($DDK text abit | tr -d ':[alpha]:')";
   SIZE="$(echo "scale=2; ${TOTAL}*$[VBITS]/8+${TOTAL}*2*$[ABITS]/13" | bc -l)";
   $DDK setText size "Estimado: $(echo "scale=2; ${SIZE}/1024" | bc -l )MB";
   enall true;
fi;
}
for A in $ARCHIVES; do
   F="$(echo "$A" | sed -e 's/##SPACE##/ /g')";
   case $A in
       *.[iI][sS][oO]|*hd[a-z]|*sr[0-9]|*scd[0-9])   
      if lsdvd -q "$F" 2>/dev/null; then
         addfiles "$F";
      else
         kdialog --error "Erro.\nNao foi possivel abrir o arquivo talvez nao seja imagem de um DVD.";
      fi
       ;;
       *)
      addfiles "$F";
       ;;
   esac
done
enall true;
</string>
                </stringlist>
            </property>
            <property name="toolTip" stdset="0">
                <string>Inserir arquivos na lista. (F7)</string>
            </property>
        </widget>
        <widget class="Label" row="8" column="4" rowspan="1" colspan="2">
            <property name="name">
                <cstring>Label7_2</cstring>
            </property>
            <property name="maximumSize">
                <size>
                    <width>50</width>
                    <height>30</height>
                </size>
            </property>
            <property name="text">
                <string>A. Bits:</string>
            </property>
            <property name="associations" stdset="0">
                <stringlist>
                    <string></string>
                </stringlist>
            </property>
        </widget>
        <widget class="ExecButton" row="4" column="14">
            <property name="name">
                <cstring>play</cstring>
            </property>
            <property name="minimumSize">
                <size>
                    <width>40</width>
                    <height>40</height>
                </size>
            </property>
            <property name="maximumSize">
                <size>
                    <width>40</width>
                    <height>40</height>
                </size>
            </property>
            <property name="focusPolicy">
                <enum>NoFocus</enum>
            </property>
            <property name="text">
                <string></string>
            </property>
            <property name="accel">
                <number>4153</number>
            </property>
            <property name="iconSet">
                <iconset>image4</iconset>
            </property>
            <property name="flat">
                <bool>true</bool>
            </property>
            <property name="populationText">
                <string></string>
            </property>
            <property name="associations" stdset="0">
                <stringlist>
                    <string>#!/bin/bash
ADLAY="`echo "0.1*@adelay.text" | bc -l`";
fcalc(){
TOTAL="$(echo "scale=$2; $1" | bc -l)";
[ "$2" != "0" ] && echo $TOTAL || echo $TOTAL | cut -d. -f1;
}
DDK="dcop @dcopid KommanderIf";
enall(){
for m in GB{0,1,2,3,4,5,6,7,8} convert adiciona adiciona2 adiciona3 $PL play remove tela vbit abit; do
   $DDK $SE $m $1;
done
}
enall false;
if [ "$IN" != "-1" ]; then
   IN="$($DDK currentRow Playlist)";
   APC="$($DDK cellText Playlist $IN 5)";
   VF1="$($DDK cellText Playlist $IN 3 | cut -d: -f2)";
   HF1="$($DDK cellText Playlist $IN 3 | cut -d: -f1)";
   case $($DDK selection tela) in
      NTSC*|PAL*)
         VF2="$($DDK selection tela | awk '{ print $2 }' | cut -dx -f2)";
         HF2="$($DDK selection tela | awk '{ print $2 }' | cut -dx -f1)";
      ;;
      *)
         VF2="$($DDK selection tela | cut -dx -f2)";
         HF2="$($DDK selection tela | cut -dx -f1)";
      ;;
   esac
   NV="$(fcalc "$HF2/$APC" 0)";
   if [ "@wide.checked" == "0" -a "@fill.checked" == "0" ] || [ "@wide.checked" == "1" -a "@fill.checked" == "1" ]; then
       if [ "$NV" -lt "405" -o "$NV" == "405" ]; then ASPECT="16/9"; else ASPECT="4/3"; fi;
       EXPAND="expand=$HF1:::::$ASPECT,scale=$HF2:$VF2";
   elif [ "@wide.checked" == "1" -a "@fill.checked" == "0" ]; then
       ASPECT="16/9"; 
       if [ "$NV" -lt "405" -o "$NV" == "405" ]; then 
          EXPAND="expand=$HF1:::::$ASPECT,scale=$HF2:$VF2";
       else 
          VF="$(fcalc "9*$HF1/16" 0)"; 
          EXPAND="crop=$HF1:$VF,scale=$HF2:$VF2";
       fi;
   elif [ "@wide.checked" == "0" -a "@fill.checked" == "1" ]; then
       ASPECT="4/3"; 
       if [ "$NV" -lt "405" -o "$NV" == "405" ]; then 
          EXPAND="expand=$HF1:::::$ASPECT,scale=$HF2:$VF2";
       else 
      VF="$(fcalc "3*$HF1/4" 0)"; 
          EXPAND="crop=$HF1:$VF,scale=$HF2:$VF2";
       fi;
   fi
   ENDR="$($DDK cellText Playlist $IN 14)";
   FNAME="$($DDK cellText Playlist $IN 0)";
   FILE="$ENDR/$FNAME";
   MPL="mplayer -channels 6 -af resample=48000,hrtf -noautosub -ontop -idx -vo xv -identify -osdlevel 2 -softvol -softvol-max 500";
   ALANG="$($DDK cellText Playlist $IN 11)";
   case $ALANG in
   [a-z][a-z])
      ALANG=" -alang $ALANG";
   ;;
   [0-9])
      ALANG=" -aid $ALANG";
   ;;
   nenhum|todos)
      ALANG="";
   ;;
   esac
   SLANG="$($DDK cellText Playlist $IN 12)";
   case $SLANG in
   [a-z][a-z])
      SLANG="-slang $SLANG -subfont-autoscale 2"; 
   ;;
   [0-9])
      SLANG="-sid $SLANG -subfont-autoscale 2";
   ;;
   *[sS][rR][tT])
      cp -a "$($DDK cellText Playlist $IN 14)/$SLANG" /tmp/subcmp@pid.srt;
      SLANG="-utf8 -sub /tmp/subcmp@pid.srt -subfont-autoscale 2";
   ;;
   *)
      SLANG=''; 
   ;;
   esac;
   case "$FNAME" in
   *.[wW][mM][vV] | *.[mM][kK][vV] | *.[fF][lL][vV] | *.[oO][gG][mM] | *.[rR][mM][vV] | *.[rR][mM][vV][bB] | *.[rR][pP][mM])
      $MPL -vf $EXPAND:0,harddup "$FILE" $SLANG 2>/dev/null;
   ;;
   *.[mM][pP][eE][gG] | *.[mM][pP][gG4] | *.[aA][vV][iI] | *.[vV][oO][bB])
      $MPL -vf $EXPAND:0,harddup "$FILE" $ALANG $SLANG 2>/dev/null;
   ;;
   *)
      case "$FNAME" in *.[iI][sS][oO]) FILE="$ENDR/$FNAME"; ;; *) FILE="$ENDR"; ;; esac;
      TLE="$(lsdvd "$FILE" 2>/dev/null | awk '/Longest track:/{ print $3 }')";
      $MPL dvd://"$TLE" -dvd-device "$FILE" -vf $EXPAND:0,harddup $ALANG $SLANG 2>/dev/null;
   ;;
   esac
enall true;
fi

</string>
                </stringlist>
            </property>
            <property name="toolTip" stdset="0">
                <string>Reproduz e previzualiza o arquivo escolhido.(F10)</string>
            </property>
        </widget>
        <widget class="ExecButton" row="2" column="14">
            <property name="name">
                <cstring>adiciona2</cstring>
            </property>
            <property name="minimumSize">
                <size>
                    <width>40</width>
                    <height>40</height>
                </size>
            </property>
            <property name="maximumSize">
                <size>
                    <width>40</width>
                    <height>40</height>
                </size>
            </property>
            <property name="focusPolicy">
                <enum>NoFocus</enum>
            </property>
            <property name="text">
                <string></string>
            </property>
            <property name="accel">
                <number>4151</number>
            </property>
            <property name="iconSet">
                <iconset>image5</iconset>
            </property>
            <property name="flat">
                <bool>true</bool>
            </property>
            <property name="populationText">
                <string></string>
            </property>
            <property name="associations" stdset="0">
                <stringlist>
                    <string>#!/bin/bash
DDK="dcop @dcopid KommanderIf";
SCT="setCellText";
PL="Playlist";
enall(){
for m in GB{0,1,2,3,4,5,6,7,8} convert adiciona adiciona2 adiciona3 $PL play remove tela vbit abit; do
   $DDK $SE $m $1;
done
}
enall false;
FILES="$(kdialog --getexistingdirectory "$HOME")";
TITLE="$(lsdvd -q "$FILES" | awk '/Longest track:/{ print $3 }')";
if [ -n "$FILES" -a -n "$TITLE" ]; then
   n="$($DDK rowCount $PL)"; [ ! -n "$n" ] && n="0";
   DISC_TITLE="$(echo "$FILES" | awk -F'/' '{ print $NF }')";
   $DDK insertRow $PL $n 1;
   $DDK $SCT $PL $n 0 "$DISC_TITLE";
   V="$(du -s -h -k "$FILES" | awk '{ print $1 }')";
   $DDK $SCT $PL $n 1 "$V";
   $DDK $SCT $PL $n 14 "$FILES";
   DISC_TITLE="$(lsdvd -q "$FILES" | awk '/Disc.*Title:/{for (i=3;i<=NF;i++) { print $i }}')";
   ID_FILE="$(mplayer dvd://$TITLE -dvd-device "$FILES" -vo null -ao null -endpos 0 -identify 2>/dev/null 2>&1 | awk '/ID_AUDIO|ID_VIDEO|ID_DEMUXER|ID_LENGTH|ID_AID_.*_LANG/')";
   ID_DVD_AUDIO="$(lsdvd -q -x -t$TITLE "$FILES" | tr -d ':,-' | awk '/Audio.*Language/{ print $1 $2 "_" $4 "_" $5 "_" $7 "_" $9 " " $1 $2 "_" $4 "_" $5 "_" $7 "_" $9 }')";
   ID_DVD_SUBS="$(lsdvd -q -x -t$TITLE "$FILES" | tr -d ':,-' | awk '/Subtitle.*Language/{ print $1 $2 "_" $4 "_" $5 " " $1 $2 "_" $4 "_" $5 }')";
   declare -t $ID_FILE;
   c=0; for n in $ID_DVD_AUDIO; do c="$[c+1]"; done;
   if [ "$[c/2]" != "1" ]; then ID_DVD_AUDIO="$(kdialog --menu "Linguagens encontradas:" $ID_DVD_AUDIO | tr '_' ' ')"; fi;
   $DDK $SCT $PL $n 11 "$(echo $ID_DVD_AUDIO | awk '{ print $2 }')";
   ID_AUDIO_CODEC="$(echo $ID_DVD_AUDIO | awk '{ print $4 }')";
   ID_AUDIO_RATE="$(echo $ID_DVD_AUDIO | awk '{ print $5 }')";
   c=0; for n in $ID_DVD_SUBS; do c="$[c+1]"; done;
   if [ "$[c/2]" != "1" ]; then ID_DVD_SUBS="$(kdialog --menu "Legendas encontradas:" nenhum nenhum $ID_DVD_SUBS | tr '_' ' ')"; fi;
   $DDK $SCT $PL $n 12 "$(echo $ID_DVD_SUBS | awk '{ print $2 }')";
   $DDK $SCT $PL $n 2 "$ID_LENGTH";
   $DDK $SCT $PL $n 3 "$ID_VIDEO_WIDTH:$ID_VIDEO_HEIGHT";
   $DDK $SCT $PL $n 4 "$ID_VIDEO_FPS";
   $DDK $SCT $PL $n 5 "$ID_VIDEO_ASPECT";
   $DDK $SCT $PL $n 6 "$ID_VIDEO_CODEC";
   $DDK $SCT $PL $n 7 "$[ID_VIDEO_BITRATE/1000]";
   $DDK $SCT $PL $n 8 "$ID_AUDIO_CODEC";
   $DDK $SCT $PL $n 9 "$[ID_AUDIO_BITRATE/1000]";
   $DDK $SCT $PL $n 10 "$ID_AUDIO_RATE";
   $DDK $SCT $PL $n 13 "$DISC_TITLE";
   TOTAL="$[$($DDK text total | awk '{ print $2 }')+$(echo $ID_LENGTH | cut -f1 -d.)]";
   HH="$[$[TOTAL-$[TOTAL-$[$[TOTAL/60]*60]]]/3600]";
   MM="$[$[$[TOTAL-$[TOTAL-$[$[TOTAL/60]*60]]]/60]-$[$[$[TOTAL-$[TOTAL-$[$[TOTAL/60]*60]]]/3600]*60]]"; 
   SS="$[TOTAL-$[$[TOTAL/60]*60]]"; 
   [ "$HH" -lt "10" ] && HH="0$HH"; [ "$MM" -lt "10" ] && MM="0$MM"; [ "$SS" -lt "10" ] && SS="0$SS"; 
   $DDK setText total "Total: $TOTAL s - $HH:$MM:$SS";
   VBITS="$($DDK text vbit | tr -d ':[alpha]:')";
   ABITS="$($DDK text abit | tr -d ':[alpha]:')";
   SIZE="$(echo "scale=2; ${TOTAL}*$[VBITS]/8+${TOTAL}*2*$[ABITS]/13" | bc -l)";
   $DDK setText size "Estimado: $(echo "scale=2; ${SIZE}/1024" | bc -l )MB";
   enall true;
fi;
enall true;
</string>
                </stringlist>
            </property>
            <property name="toolTip" stdset="0">
                <string>Inserir uma pasta contendo um dvd na lista.(F8)</string>
            </property>
        </widget>
        <widget class="SpinBoxInt" row="8" column="3">
            <property name="name">
                <cstring>vbit</cstring>
            </property>
            <property name="maximumSize">
                <size>
                    <width>32767</width>
                    <height>30</height>
                </size>
            </property>
            <property name="suffix">
                <string>k</string>
            </property>
            <property name="maxValue">
                <number>9800</number>
            </property>
            <property name="minValue">
                <number>200</number>
            </property>
            <property name="lineStep">
                <number>10</number>
            </property>
            <property name="value">
                <number>3000</number>
            </property>
            <property name="populationText">
                <string></string>
            </property>
            <property name="associations" stdset="0">
                <stringlist>
                    <string></string>
                </stringlist>
            </property>
            <property name="toolTip" stdset="0">
                <string>Video bit rate: Min=800, Max=9800</string>
            </property>
        </widget>
        <widget class="ExecButton" row="8" column="11" rowspan="1" colspan="2">
            <property name="name">
                <cstring>convert</cstring>
            </property>
            <property name="minimumSize">
                <size>
                    <width>100</width>
                    <height>30</height>
                </size>
            </property>
            <property name="maximumSize">
                <size>
                    <width>100</width>
                    <height>30</height>
                </size>
            </property>
            <property name="text">
                <string>C&onverter</string>
            </property>
            <property name="accel">
                <number>4149</number>
            </property>
            <property name="default">
                <bool>true</bool>
            </property>
            <property name="flat">
                <bool>true</bool>
            </property>
            <property name="populationText">
                <string></string>
            </property>
            <property name="associations" stdset="0">
                <stringlist>
                    <string>@Konsole6.cancel;
@Konsole6.clear;
@Konsole6.execute;
@DISPLAY.setText("PREPARANDO O INICIO DOS PROCESSOS.");
@PP_1.setText(0);
@PP_2.setText(0);
</string>
                </stringlist>
            </property>
            <property name="toolTip" stdset="0">
                <string>Da inicio a convercao.(F6)</string>
            </property>
        </widget>
        <widget class="Label" row="0" column="0" rowspan="1" colspan="15">
            <property name="name">
                <cstring>Label6</cstring>
            </property>
            <property name="text">
                <string>Arquivos a serem convertidos:</string>
            </property>
            <property name="associations" stdset="0">
                <stringlist>
                    <string></string>
                </stringlist>
            </property>
        </widget>
        <widget class="ComboBox" row="8" column="1">
            <property name="name">
                <cstring>tela</cstring>
            </property>
            <property name="minimumSize">
                <size>
                    <width>110</width>
                    <height>0</height>
                </size>
            </property>
            <property name="maximumSize">
                <size>
                    <width>32767</width>
                    <height>30</height>
                </size>
            </property>
            <property name="editable">
                <bool>true</bool>
            </property>
            <property name="associations" stdset="0">
                <stringlist>
                    <string></string>
                </stringlist>
            </property>
            <property name="toolTip" stdset="0">
                <string>Padroes de cor e tela.</string>
            </property>
        </widget>
        <widget class="ComboBox" row="8" column="7" rowspan="1" colspan="2">
            <item>
                <property name="text">
                    <string>128</string>
                </property>
            </item>
            <item>
                <property name="text">
                    <string>160</string>
                </property>
            </item>
            <item>
                <property name="text">
                    <string>192</string>
                </property>
            </item>
            <item>
                <property name="text">
                    <string>224</string>
                </property>
            </item>
            <item>
                <property name="text">
                    <string>448</string>
                </property>
            </item>
            <property name="name">
                <cstring>abit</cstring>
            </property>
            <property name="maximumSize">
                <size>
                    <width>32767</width>
                    <height>30</height>
                </size>
            </property>
            <property name="editable">
                <bool>true</bool>
            </property>
            <property name="currentItem">
                <number>2</number>
            </property>
            <property name="populationText">
                <string>@sizecalc.execute</string>
            </property>
            <property name="associations" stdset="0">
                <stringlist>
                    <string></string>
                </stringlist>
            </property>
            <property name="toolTip" stdset="0">
                <string>Audio bit rate.</string>
            </property>
        </widget>
        <widget class="ExecButton" row="8" column="13" rowspan="1" colspan="2">
            <property name="name">
                <cstring>canceler</cstring>
            </property>
            <property name="enabled">
                <bool>false</bool>
            </property>
            <property name="minimumSize">
                <size>
                    <width>100</width>
                    <height>30</height>
                </size>
            </property>
            <property name="maximumSize">
                <size>
                    <width>100</width>
                    <height>30</height>
                </size>
            </property>
            <property name="text">
                <string>&Cancelar</string>
            </property>
            <property name="accel">
                <number>276824131</number>
            </property>
            <property name="flat">
                <bool>true</bool>
            </property>
            <property name="associations" stdset="0">
                <stringlist>
                    <string>@exec("for p in `ps -A | awk '/[m]encoder/{ print $1 }'`; do if grep -q CNV@pid /proc/$p/cmdline ; then kill $p; fi; done")
@setGlobal("EXECNO", "1")
</string>
                </stringlist>
            </property>
            <property name="toolTip" stdset="0">
                <string>Cancela a execucao.(Alt+C)</string>
            </property>
        </widget>
        <widget class="TabWidget" row="7" column="0" rowspan="1" colspan="15">
            <property name="name">
                <cstring>TabWidget1</cstring>
            </property>
            <property name="maximumSize">
                <size>
                    <width>32767</width>
                    <height>180</height>
                </size>
            </property>
            <property name="tabPosition">
                <enum>Bottom</enum>
            </property>
            <property name="tabShape">
                <enum>Triangular</enum>
            </property>
            <widget class="QWidget">
                <property name="name">
                    <cstring>tab</cstring>
                </property>
                <attribute name="title">
                    <string>S&aidas do Shell</string>
                </attribute>
                <grid>
                    <property name="name">
                        <cstring>unnamed</cstring>
                    </property>
                    <property name="margin">
                        <number>0</number>
                    </property>
                    <property name="spacing">
                        <number>0</number>
                    </property>
                    <widget class="Konsole" row="0" column="0">
                        <property name="name">
                            <cstring>Konsole6</cstring>
                        </property>
                        <property name="maximumSize">
                            <size>
                                <width>32767</width>
                                <height>180</height>
                            </size>
                        </property>
                        <property name="paletteForegroundColor">
                            <color>
                                <red>0</red>
                                <green>0</green>
                                <blue>0</blue>
                            </color>
                        </property>
                        <property name="associations" stdset="0">
                            <stringlist>
                                <string>#!/bin/bash

SPUMUX=`ls /usr/bin/spumux 2> /dev/null`;
MPGINFO=`ls /usr/bin/mpginfo 2> /dev/null`;
ADLAY="`echo "0.1*@adelay.text" | bc -l`";
NUM="0"
UN="0"; LIST=""; VL="0"; ST="setText"; SE="setEnabled";
DL="/tmp/dvdconvert-@pid.log"; DZ="$HOME/WORKDVD/dvdconvert1-@pid"; EXDA="/tmp/dvdauthor-@pid.sh";
M1="TODOS OS PROCESSOS CONCLUIDOS."; M2="TODOS OS PROCESSOS CANCELADOS.";
if [ "$[@steps.checked]" == "1" ]; then TWO_STEPS="1 2"; else TWO_STEPS="0"; fi
rm -f "$DL";
fcalc(){
TOTAL="$(echo "scale=$2; $1" | bc -l)";
[ "$2" != "0" ] && echo $TOTAL || echo $TOTAL | cut -d. -f1;
}
result(){
if [ "$2" == "0" ]; then
   echo "[Concluido]";
   echo -e "Gerando capitulos ... \t \c";
   CHAP="$(make_chap 1)";
   echo "<vob file=\"${FOT}.mpg\" chapters=\"$CHAP\" pause=\"0\" />" >>  ${DZ}.xml; 
   MSEND="$M1";
   echo "[ok]";
else
   echo "[Parado]";
   $DDK cancel Timer1;
   MSEND="$M2";
   enable_all true;
   $DDK $SE canceler false;
   $DDK $ST DISPLAY "$MSEND";
   $DDK $ST PP_1 0;
   $DDK $ST PP_2 0;
   rm -f ${DZ}.xml 2>&1 &>$DL; 
   rm -f /tmp/*@pid.* 2>/dev/null;
   echo "Pra mais informacoes, veja: $DL";
   break;
fi;
CHAP="$(make_chap $1)";
}
make_chap(){
CP=0; SP=0;
case $1 in
1)
TC="$($DDK cellText $PL $IN 2)";
NC="$(fcalc "$TC/300" 0)";
RC="$(fcalc "$TC/$NC" 3)";
for ((LC=1;LC<=$(($NC-1));LC++)); do TA="$(fcalc "$RC*$LC" 3)"; CP="$CP $TA"; done
;;
2)
C="$(lsdvd -qx -t"$TLE" "$FILE" 2>/dev/null | awk '/Chapter:.*Length:/{ print $4 }' | tr -d ',')";
for d in $C; do SP="$SP+$(echo $d | awk -F: '{ print $1 "*3600+" $2 "*60+" $3 }')"; TA="$(fcalc "$SP" 3)"; CP="$CP $TA"; done;
;;
esac
echo $CP | tr ' ' ',' | sed 's/,,/,/g';
}
mkdvd(){
mkdir -p "$HOME/WORKDVD/" 2>&1 &>$DL; 
case $1 in
1)
echo -e "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<dvdauthor>\n<vmgm>\n<fpc>subtitle=65; jump title 1;</fpc>\n</vmgm>\n<titleset>\n<titles>\n<audio samplerate=\"48khz\" format=\"$ACOD\" />\n<video resolution=\"${HF2}x${VF2}\" format=\"$TYPE\" />\n<pgc>" > ${DZ}.xml; 
;;
2)
echo -e '<post>call vmgm menu 1;</post>\n</pgc>\n</titles>\n</titleset>\n</dvdauthor>' >> ${DZ}.xml; 
;;
3)
if [ -e "/usr/bin/dvdauthor" ]; then
   $DDK setGlobal L1 "B $($DDK text PP_2)";
   $DDK execute Timer1;
   echo -e "Gerando DVD em $HOME/WORKDVD ... \t \c";
   $EXDA -o "$HOME/WORKDVD/DVD@pid/" -x "${DZ}.xml" 2>&1 &>$DL; 
   [ "$?" == "0" ] && echo "[Concluido]" || echo "[Parado]";
   $DDK cancel Timer1;
else
   echo "Pacote dvdauthor nao encontrado.";
fi
;;
esac
}
addsubs(){
if [ "$1" == "0" ]; then
    if [ "@titles.checked" == "1" -a -n "$SPUMUX" ]; then
   echo -e "1\n00:00:02,800 --> 00:00:11,801\n$TITLE\n" | tr '_' ' ' > /tmp/subtitle@pid.srt; 
   echo "<subpictures><stream><textsub filename=\"/tmp/subtitle@pid.srt\" characterset=\"UTF-8\" fontsize=\"25.0\" font=\"Georgia_Bold_Italic.ttf\" horizontal-alignment=\"center\" vertical-alignment=\"top\" top-margin=\"30\" subtitle-fps=\"25\" movie-width=\"$HF2\" movie-height=\"$VF2\" /></stream></subpictures>" > /tmp/spuxml@pid.xml;
   spumux -s 0 -m dvd "/tmp/spuxml@pid.xml" < "${FOT}.mpg" > /tmp/videofinal@pid.mpg 2>/dev/null; 
   mv "/tmp/videofinal@pid.mpg" "${FOT}.mpg" 2>/dev/null 2>&1 &>$DL; 
   rm -f /tmp/spuxml@pid.xml /tmp/subtitle@pid.srt 2>/dev/null 2>&1 &>$DL; 
    fi
    if [ -e "/tmp/subcmp@pid.srt" ]; then
   echo "<subpictures><stream><textsub filename=\"/tmp/subcmp@pid.srt\" characterset=\"UTF-8\" fontsize=\"25.0\" font=\"Georgia_Bold_Italic.ttf\" horizontal-alignment=\"center\" vertical-alignment=\"top\" top-margin=\"30\" subtitle-fps=\"25\" movie-width=\"$HF2\" movie-height=\"$VF2\" /></stream></subpictures>" > /tmp/spuxml@pid.xml;
   spumux -s 0 -m dvd "/tmp/spuxml@pid.xml" < "${FOT}.mpg" > /tmp/videofinal@pid.mpg 2>/dev/null; 
   mv "/tmp/videofinal@pid.mpg" "${FOT}.mpg" 2>/dev/null 2>&1 &>$DL; 
   rm -f /tmp/spuxml@pid.xml /tmp/subcmp@pid.srt 2>/dev/null 2>&1 &>$DL; 
    fi
fi
}
matroska_packer(){
   if [ "$END" == "0" ]; then 
      echo "[Concluido]";
      echo -e "Empacotando matroska ... \t \c";
      /usr/bin/ffmpeg -i "/tmp/video_tmp@pid.avi" -vcodec copy -acodec copy -f matroska "$1" 2>/dev/null 2>&1 &>$DL; 
      if [ "$?" == "0" ]; then
         echo "[Concluido]";
      else
         echo "[Erro ou cancelado]";
         break;
      fi
   else
      echo "[Erro ou cancelado]";
      break;
   fi
}
export LPOINT="0";
DDK="dcop @dcopid KommanderIf";
PL="Playlist";
SL="selection";
$DDK $SE canceler true;
enable_all(){
for m in GB{0,1,2,3,4,5,6,7,8} convert adiciona adiciona2 adiciona3 $PL play remove tela vbit abit; do
   $DDK $SE $m $1;
done
}
enable_all false;
while : ; do NAME="$($DDK cellText $PL $UN 0)"; [ ! -n "$NAME" ] && break; UN=$[UN+1]; done;
$DDK $ST PP_1 0;
$DDK $ST PP_2 0;
$DDK setMaximum PP_1 100;
$DDK setMaximum PP_2 $[100*UN];
ABIT="$($DDK $SL abit)";
VBIT="$($DDK text vbit)";
TYPE="$($DDK $SL tela | awk '{ print $1 }'| tr [:upper:] [:lower:])";
case $TYPE in
   ntsc*|pal*)
      VF2="$($DDK selection tela | awk '{ print $2 }' | cut -dx -f2)";
      HF2="$($DDK selection tela | awk '{ print $2 }' | cut -dx -f1)";
   ;;
   *)
      VF2="$($DDK selection tela | cut -dx -f2)";
      HF2="$($DDK selection tela | cut -dx -f1)";
   ;;
esac
SRATE="48000"; 
if [ "$TYPE" == "ntsc" ]; then
   KEY="18"; FPS="30000/1001"; 
      if [ "$HF2:$VF2" == "720:480" -o "$HF2:$VF2" == "704:480" ]; then
      VCOD="mpeg2video"; ACOD="ac3"; CH="-channels 6"; ILACE=":ilme:ildct";
   else
      VCOD="mpeg1video"; ACOD="mp2"; CH="-channels 2"; ILACE="";
   fi;
else
   KEY="15"; FPS="25"; 
   if [ "$HF2:$VF2" == "720:576" -o "$HF2:$VF2" == "704:576" ]; then
      VCOD="mpeg2video"; ACOD="ac3"; CH="-channels 6"; ILACE=":ilme:ildct";
   else
      VCOD="mpeg1video"; ACOD="mp2"; CH="-channels 2"; ILACE="";
   fi;
fi
echo "$[UN] arquivos postos para convercao.";
if [ "$[UN]" != "0" ]; then
   mkdvd 1;
   for ((IN=0;IN<$[UN];IN++)); do
   APC="$($DDK cellText $PL $IN 5)";
   VF1="$($DDK cellText $PL $IN 3 | cut -d: -f2)";
   HF1="$($DDK cellText $PL $IN 3 | cut -d: -f1)";
   NV="$(fcalc "$HF2/$APC" 0)";
   $DDK setGlobal L2 "0";
   if [ "@wide.checked" == "0" -a "@fill.checked" == "0" ] || [ "@wide.checked" == "1" -a "@fill.checked" == "1" ]; then
       if [ "$NV" -lt "405" -o "$NV" == "405" ]; then ASP="16/9"; else ASP="4/3"; fi;
       EXPAND="expand=$HF1:::::$ASP,scale=$HF2:$VF2";
   elif [ "@wide.checked" == "1" -a "@fill.checked" == "0" ]; then
       ASP="16/9"; 
       if [ "$NV" -lt "405" -o "$NV" == "405" ]; then 
          EXPAND="expand=$HF1:::::$ASP,scale=$HF2:$VF2";
       else 
          VF="$(fcalc "9*$HF1/16" 0)"; 
          EXPAND="crop=$HF1:$VF,scale=$HF2:$VF2";
       fi;
   elif [ "@wide.checked" == "0" -a "@fill.checked" == "1" ]; then
       ASP="4/3"; 
       if [ "$NV" -lt "405" -o "$NV" == "405" ]; then 
          EXPAND="expand=$HF1:::::$ASP,scale=$HF2:$VF2";
       else 
      VF="$(fcalc "3*$HF1/4" 0)"; 
          EXPAND="crop=$HF1:$VF,scale=$HF2:$VF2";
       fi;
   fi
   ENDR="$($DDK cellText Playlist $IN 14)";
   TITLE="$($DDK cellText Playlist $IN 13)";
   FNAME="$($DDK cellText Playlist $IN 0)";
   FILE="$ENDR/$FNAME";
   ALANG="$($DDK cellText $PL $IN 11)";
   case $ALANG in
   [a-z][a-z])
      ALANG=" -alang $ALANG";
   ;;
   [0-9])
      ALANG=" -aid $ALANG";
   ;;
   *)
      ALANG="";
   ;;
   esac
   SLANG="$($DDK cellText Playlist $IN 12)";
   case $SLANG in
   [a-z][a-z])
      SLANG="-slang $SLANG -subfont-autoscale 2";
   ;;
   [0-9])
      SLANG="-sid $SLANG -subfont-autoscale 2";
   ;;
   *srt)
      cp -a "$($DDK cellText Playlist $IN 14)/$SLANG" /tmp/subcmp@pid.srt;
      if [ -n "$SPUMUX" ]; then
         SLANG="";
         SFILE="/tmp/subcmp@pid.srt"
      else
         SLANG="-utf8 -sub /tmp/subcmp@pid.srt -subfont-autoscale 2";
      fi
   ;;
   *ass)
      cp -a "$($DDK cellText Playlist $IN 14)/$SLANG" /tmp/subcmp@pid.ass;
      if [ -n "$SPUMUX" ]; then
         SLANG="";
         SFILE="/tmp/subcmp@pid.ass"
      else
         SLANG="-utf8 -sub /tmp/subcmp@pid.ass -subfont-autoscale 2";
      fi
   ;;
   *)
      SLANG=""; 
   ;;
   esac;
   MP3F="";
   if [ "@audioonly.checked" == "1" ]; then
      MP3F="$($DDK cellText $PL $IN 14)/$($DDK cellText $PL $IN 13).mp3";
      FOT="/tmp/videofile@pid.avi";
      PARAM2="-of avi";
      PARAM3="mp3lame -lameopts vbr=2:br=128:mode=1 -af resample=44100,volume=4";
      PARAM0="copy";
      PARAM1="";
   elif [ "@h264.checked" == "1" ]; then
      EXPAND=""; 
      PARAM0="x264 -x264encopts bitrate=$[VBIT]:turbo:subq=6:threads=4"; 
      if [ "@fill.checked" == "1" -a "@wide.checked" == "0" ]; then EXPAND=",expand=720:::::4/3 -force-avi-aspect 4/3"; 
      elif [ "@fill.checked" == "0" -a "@wide.checked" == "1" ]; then EXPAND=",crop=720:406 -force-avi-aspect 16/9"; fi 
      PARAM1="-vf pp=linblenddeint,scale=$HF2:-2,harddup$EXPAND"; 
      PARAM2="-of avi"; 
      PARAM3="mp3lame -lameopts vbr=2:br=128:mode=1 -af resample=44100,volume=4"; 
      FPS="24";
      FOT="$($DDK cellText $PL $IN 14)/$($DDK cellText $PL $IN 13)_CNV@pid"; 
   elif [ "@XVID.checked" == "1" ]; then
      EXPAND=""; 
      PARAM0="xvid -xvidencopts bitrate=$[VBIT]:turbo:threads=4"; 
      if [ "@fill.checked" == "1" -a "@wide.checked" == "0" ]; then EXPAND=",expand=720:::::4/3 -force-avi-aspect 4/3"; 
      elif [ "@fill.checked" == "0" -a "@wide.checked" == "1" ]; then EXPAND=",crop=720:406 -force-avi-aspect 16/9"; fi 
      PARAM1="-vf pp=linblenddeint,scale=$HF2:-2,harddup$EXPAND"; 
      PARAM2="-of avi"; 
      PARAM3="mp3lame -lameopts vbr=2:br=128:mode=1 -af resample=44100,volume=4"; 
      FPS="24";
      FOT="$($DDK cellText $PL $IN 14)/$($DDK cellText $PL $IN 13)_CNV@pid";
   else
      PARAM2="-of mpeg -mpegopts format=dvd:tsaf";
      FOT="$($DDK cellText $PL $IN 14)/$($DDK cellText $PL $IN 13)_CNV@pid";
      [ @high.checked == 1 ] && HQ=":trell:mbd=2:precmp=2:subcmp=2:cmp=2:dia=-10:predia=-10:cbp:mv0:vqmin=1:lmin=1:dc=10";
      if [ @onlycopy.checked == 1 ]; then
         PARAM3="copy";
         PARAM0="copy";
         PARAM1="";
      else
         PARAM3="lavc";
         PARAM0="lavc";
         PARAM1="-vf pp=linblenddeint,$EXPAND:0,harddup -srate $SRATE $CH -af resample=$SRATE,volnorm,volume=4,lavcresample=$SRATE -lavcopts vcodec=$VCOD$ILACE:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=$VBIT:keyint=$KEY$HQ:turbo:vstrict=0:acodec=$ACOD:abitrate=$ABIT:aspect=$ASP";
      fi
   fi
   EXMP="mencoder -noautosub -idx -audio-delay $ADLAY -oac $PARAM3 -ovc $PARAM0$VP_PARAM $PARAM2 $PARAM1 -ofps $FPS -o";
   EXDA="dvdauthor";
   $DDK setGlobal L1 "A $($DDK text PP_2)";
   $DDK execute Timer1;
      if [ "@h264.checked" == "1" ]; then
   case "$FILE" in
   *.[wW][mM][vV] | *.[rR][mM][vV] | *.[rR][mM][vV][bB] | *.[rR][pP][mM] | *.[fF][lL][vV] | *.[oO][gG][mM])
      echo -e "Convertendo: $FILE ... \t \c";
      for n in $TWO_STEPS; do
         if [ "$[n]" == "0" ]; then VP_PARAM=""; OU_PARAM="/tmp/video_tmp@pid.avi";
         else echo -e "Pass $[n]...\t\c"; VP_PARAM=":vpass=$[n]"; if [ "$[n]" == "1" ]; then OU_PARAM="/dev/null"; else OU_PARAM="/tmp/video_tmp@pid.avi"; fi; fi
         $EXMP "$OU_PARAM" "$FILE" -aid 0 -subfont-autoscale 2 2>/dev/null 2>&1 &>$DL;
         END="$?";
         [ "$END" != "0" ] && break; [ "$END" == "0" -a "$[n]" != "0" ] && $DDK setGlobal L2 "$($DDK text PP_1)";
      done
      matroska_packer "${FOT}.mkv";
   ;;
   *.[mM][pP][eE][gG] | *.[mM][pP][gG4] | *.[aA][vV][iI] | *.[vV][oO][bB])
      echo -e "Convertendo: $FILE ... \t \c";
      for n in $TWO_STEPS; do
         if [ "$[n]" == "0" ]; then VP_PARAM=""; OU_PARAM="/tmp/video_tmp@pid.avi";
         else echo -e "Pass $[n]...\t\c"; VP_PARAM=":vpass=$[n]"; if [ "$[n]" == "1" ]; then OU_PARAM="/dev/null"; else OU_PARAM="/tmp/video_tmp@pid.avi"; fi; fi
         $EXMP "$OU_PARAM" "$FILE" $ALANG $SLANG 2>/dev/null 2>&1 &>$DL;
         END="$?";
         [ "$END" != "0" ] && break; [ "$END" == "0" -a "$[n]" != "0" ] && $DDK setGlobal L2 "$($DDK text PP_1)";
      done
      matroska_packer "${FOT}.mkv";
   ;;
   *.[mM][kK][vV])
      echo -e "Convertendo: $FILE ... \t \c";
      for n in $TWO_STEPS; do
         if [ "$[n]" == "0" ]; then VP_PARAM=""; OU_PARAM="/tmp/video_tmp@pid.avi";
         else echo -e "Pass $[n]...\t\c"; VP_PARAM=":vpass=$[n]"; if [ "$[n]" == "1" ]; then OU_PARAM="/dev/null"; else OU_PARAM="/tmp/video_tmp@pid.avi"; fi; fi
         $EXMP "$OU_PARAM" "$FILE" -sid 0 -subfont-autoscale 2 2>/dev/null 2>&1 &>$DL;
         END="$?";
         [ "$END" != "0" ] && break; [ "$END" == "0" -a "$[n]" != "0" ] && $DDK setGlobal L2 "$($DDK text PP_1)";
      done
      matroska_packer "${FOT}.mkv";
   ;;
   *)
      case "$FNAME" in
      *.[iI][sS][oO])
         FILE="$ENDR/$FNAME";
      ;;
      *)
         mkdir -p $HOME/WORKDVD/ 2>/dev/null;
         FILE="$ENDR";
         FOT="$HOME/WORKDVD/${FNAME}_CNV@pid";
      ;;
      esac;
      TLE="$(lsdvd "$FILE" 2>/dev/null | awk '/Longest track:/{ print $3 }')";
      if [ "@wide.checked" == "0" -a "@fill.checked" == "0" ]; then
         DVDNCROP="$(mplayer -ss 100 -endpos 1 -vo null -ao null -vf cropdetect dvd://"$TLE" -dvd-device "$FILE" 2>/dev/null 2>&1 | tr -d '().' | awk '/Crop area/{ print $(NF-1) " " $NF }' | sort | uniq)";
      fi
      if [ "@chaponly.checked" == "1" ]; then
         mkdir -p "$HOME/WORKDVD/${FNAME}/" 2>/dev/null;
         endc=""; oldc=""; ON="1";
         for c in `chaplin -d "$FILE" -t "$TLE" -c 2>/dev/null | awk '/chapter.*begin:/{ print $4 }'`; do 
            if [ -n "$oldc" ]; then 
               echo -e "Convertendo: $FILE [$TITLE] Chapter: $ON ... \t \c";
               for n in $TWO_STEPS; do
                  if [ "$[n]" == "0" ]; then VP_PARAM=""; OU_PARAM="/tmp/video_tmp@pid.avi";
                  else echo -e "Pass $[n]...\t\c"; VP_PARAM=":vpass=$[n]"; if [ "$[n]" == "1" ]; then OU_PARAM="/dev/null"; else OU_PARAM="/tmp/video_tmp@pid.avi"; fi; fi
                  $EXMP "$OU_PARAM" dvd://"$TLE" -dvd-device "$FILE" $ALANG $DVDNCROP -ss $oldc -endpos `echo "$c-$oldc" | bc -l` 2>/dev/null 2>&1 &>$DL;
                  END="$?";
                  [ "$END" != "0" ] && break; [ "$END" == "0" -a "$[n]" != "0" ] && $DDK setGlobal L2 "$($DDK text PP_1)";
               done
               matroska_packer "$HOME/WORKDVD/${FNAME}/${FNAME}_CNV@pid$(echo $[10000+ON] | cut -c2-).mkv";
               ON="$[ON+1]";
            fi
            oldc="$c"; 
         done
      else
         echo -e "Convertendo: $FILE [$TITLE] ... \t \c";
         for n in $TWO_STEPS; do
            if [ "$[n]" == "0" ]; then VP_PARAM=""; OU_PARAM="/tmp/video_tmp@pid.avi";
            else echo -e "Pass $[n]...\t\c"; VP_PARAM=":vpass=$[n]"; if [ "$[n]" == "1" ]; then OU_PARAM="/dev/null"; else OU_PARAM="/tmp/video_tmp@pid.avi"; fi; fi
            $EXMP "$OU_PARAM" dvd://"$TLE" -dvd-device "$FILE" $ALANG $DVDNCROP 2>/dev/null 2>&1 &>$DL;
            END="$?";
            [ "$END" != "0" ] && break; [ "$END" == "0" -a "$[n]" != "0" ] && $DDK setGlobal L2 "$($DDK text PP_1)";
         done
         matroska_packer "${FOT}.mkv";
      fi
   ;;
   esac
      elif [ "@XVID.checked" == "1" ]; then
   case "$FILE" in
   *.[wW][mM][vV] | *.[rR][mM][vV] | *.[rR][mM][vV][bB] | *.[rR][pP][mM] | *.[fF][lL][vV] | *.[oO][gG][mM])
      echo -e "Convertendo: $FILE ... \t \c";
      for n in $TWO_STEPS; do
         if [ "$[n]" == "0" ]; then VP_PARAM=""; OU_PARAM="${FOT}.avi";
         else echo -e "Pass $[n]...\t\c"; VP_PARAM=":vpass=$[n]"; if [ "$[n]" == "1" ]; then OU_PARAM="/dev/null"; else OU_PARAM="${FOT}.avi"; fi; fi
         $EXMP "$OU_PARAM" "$FILE" $ALANG $SLANG 2>/dev/null 2>&1 &>$DL;
         END="$?";
         [ "$END" != "0" ] && break; [ "$END" == "0" -a "$[n]" != "0" ] && $DDK setGlobal L2 "$($DDK text PP_1)";
      done
      if [ "$END" == "0" ]; then echo "[Concluido]"; else echo "[Parado]"; $DDK cancel Timer1; break; fi;
   ;;
   *.[mM][pP][eE][gG] | *.[mM][pP][gG4] | *.[aA][vV][iI] | *.[vV][oO][bB])
      echo -e "Convertendo: $FILE ... \t \c";
      for n in $TWO_STEPS; do
         if [ "$[n]" == "0" ]; then VP_PARAM=""; OU_PARAM="${FOT}.avi";
         else echo -e "Pass $[n]...\t\c"; VP_PARAM=":vpass=$[n]"; if [ "$[n]" == "1" ]; then OU_PARAM="/dev/null"; else OU_PARAM="${FOT}.avi"; fi; fi
         $EXMP "$OU_PARAM" "$FILE" $ALANG $SLANG 2>/dev/null 2>&1 &>$DL;
         END="$?";
         [ "$END" != "0" ] && break; [ "$END" == "0" -a "$[n]" != "0" ] && $DDK setGlobal L2 "$($DDK text PP_1)";
      done
      if [ "$END" == "0" ]; then echo "[Concluido]"; else echo "[Parado]"; $DDK cancel Timer1; break; fi;
   ;;
   *.[mM][kK][vV])
      echo -e "Convertendo: $FILE ... \t \c";
      for n in $TWO_STEPS; do
         if [ "$[n]" == "0" ]; then VP_PARAM=""; OU_PARAM="${FOT}.avi";
         else echo -e "Pass $[n]...\t\c"; VP_PARAM=":vpass=$[n]"; if [ "$[n]" == "1" ]; then OU_PARAM="/dev/null"; else OU_PARAM="${FOT}.avi"; fi; fi
         $EXMP "$OU_PARAM" "$FILE" -sid 0 -subfont-autoscale 2 2>/dev/null 2>&1 &>$DL;
         END="$?";
         [ "$END" != "0" ] && break; [ "$END" == "0" -a "$[n]" != "0" ] && $DDK setGlobal L2 "$($DDK text PP_1)";
      done
      if [ "$END" == "0" ]; then echo "[Concluido]"; else echo "[Parado]"; $DDK cancel Timer1; break; fi;
   ;;
   *)
      case "$FNAME" in
      *.[iI][sS][oO])
         FILE="$ENDR/$FNAME";
      ;;
      *)
         mkdir -p $HOME/WORKDVD/ 2>/dev/null;
         FILE="$ENDR";
         FOT="$HOME/WORKDVD/${FNAME}_CNV@pid";
      ;;
      esac;
      TLE="$(lsdvd "$FILE" 2>/dev/null | awk '/Longest track:/{ print $3 }')";
      if [ "@wide.checked" == "0" -a "@fill.checked" == "0" ]; then
         DVDNCROP="$(mplayer -ss 100 -endpos 1 -vo null -ao null -vf cropdetect dvd://"$TLE" -dvd-device "$FILE" 2>/dev/null 2>&1 | tr -d '().' | awk '/Crop area/{ print $(NF-1) " " $NF }' | sort | uniq)";
      fi
      if [ "@chaponly.checked" == "1" ]; then
         mkdir -p "$HOME/WORKDVD/${FNAME}/" 2>/dev/null;
         endc=""; oldc=""; ON="1";
         for c in `chaplin -d "$FILE" -t "$TLE" -c 2>/dev/null | awk '/chapter.*begin:/{ print $4 }'`; do 
            if [ -n "$oldc" ]; then 
               echo -e "Convertendo: $FILE [$TITLE] Chapter: $ON ... \t \c";
               for n in $TWO_STEPS; do
                  if [ "$[n]" == "0" ]; then VP_PARAM=""; OU_PARAM="$HOME/WORKDVD/${FNAME}/${FNAME}_CNV@pid$(echo $[10000+ON] | cut -c2-).avi";
                  else echo -e "Pass $[n]...\t\c"; VP_PARAM=":vpass=$[n]"; if [ "$[n]" == "1" ]; then OU_PARAM="/dev/null"; else OU_PARAM="$HOME/WORKDVD/${FNAME}/${FNAME}_CNV@pid$(echo $[10000+ON] | cut -c2-).avi"; fi; fi
                  $EXMP "$OU_PARAM" dvd://"$TLE" -dvd-device "$FILE" $ALANG $DVDNCROP -ss $oldc -endpos `echo "$c-$oldc" | bc -l` 2>/dev/null 2>&1 &>$DL;
                  END="$?";
                  [ "$END" != "0" ] && break; [ "$END" == "0" -a "$[n]" != "0" ] && $DDK setGlobal L2 "$($DDK text PP_1)";
               done
               ON="$[ON+1]";
               if [ "$END" == "0" ]; then echo "[Concluido]"; else echo "[Parado]"; $DDK cancel Timer1; break; fi;
            fi
            oldc="$c"; 
         done
      else
         echo -e "Convertendo: $FILE [$TITLE] ... \t \c";
         for n in $TWO_STEPS; do
            if [ "$[n]" == "0" ]; then VP_PARAM=""; OU_PARAM="${FOT}.avi";
            else echo -e "Pass $[n]...\t\c"; VP_PARAM=":vpass=$[n]"; if [ "$[n]" == "1" ]; then OU_PARAM="/dev/null"; else OU_PARAM="${FOT}.avi"; fi; fi
            $EXMP "$OU_PARAM" dvd://"$TLE" -dvd-device "$FILE" $ALANG $DVDNCROP 2>/dev/null 2>&1 &>$DL;
            END="$?";
            [ "$END" != "0" ] && break; [ "$END" == "0" -a "$[n]" != "0" ] && $DDK setGlobal L2 "$($DDK text PP_1)";
         done
         if [ "$END" == "0" ]; then echo "[Concluido]"; else echo "[Parado]"; $DDK cancel Timer1; break; fi;
      fi
   ;;
   esac
      else
   case "$FILE" in
   *.[wW][mM][vV] | *.[rR][mM][vV] | *.[rR][mM][vV][bB] | *.[rR][pP][mM] | *.[fF][lL][vV] | *.[oO][gG][mM])
      echo -e "Convertendo: $FILE ... \t \c";
      for n in $TWO_STEPS; do
         if [ "$[n]" == "0" ]; then VP_PARAM=""; OU_PARAM="${FOT}.mpg";
         else echo -e "Pass $[n]...\t\c"; VP_PARAM=":vpass=$[n]"; if [ "$[n]" == "1" ]; then OU_PARAM="/dev/null"; else OU_PARAM="${FOT}.mpg"; fi; fi
         $EXMP "$OU_PARAM" "$FILE" $SLANG 2>/dev/null 2>&1 &>$DL;
         END="$?";
         [ "$END" != "0" ] && break; [ "$END" == "0" -a "$[n]" != "0" ] && $DDK setGlobal L2 "$($DDK text PP_1)";
      done
      result 1 $END;
      if [ "$?" == "0" ]; then
          if [ "@titles.checked" == "1" -a -n "$SPUMUX" -a ! -n "$MP3F" ]; then
         e

Scripts recomendados

POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - APAGANDO MSG ANTIGAS EM TODAS AS PASTAS DE UM USUÁRIO

RSYNC + NFS

Gerenciamento de software e hardware de desktop

Firewall + iptables no Debian

PS com gráficos por processo


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário