47 lines
1.3 KiB
PHP
47 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace VfxApply;
|
|
|
|
class Output
|
|
{
|
|
protected $filename;
|
|
|
|
public function setFilename($filename)
|
|
{
|
|
$this->filename = $filename;
|
|
}
|
|
|
|
public function setFilenameFromInput(Input $input)
|
|
{
|
|
$filename = $input->getFilename();
|
|
$ext = pathinfo($filename, PATHINFO_EXTENSION);
|
|
$dir = dirname($filename);
|
|
$base = basename($filename, $ext);
|
|
$suggest = $dir.DIRECTORY_SEPARATOR.$base."vfx.".$ext;
|
|
|
|
$this->selectFile($suggest);
|
|
}
|
|
|
|
public function getFilename()
|
|
{
|
|
return $this->filename;
|
|
}
|
|
|
|
public function selectFile($suggest=null)
|
|
{
|
|
$cmdl = "zenity --file-selection --title \"Select output file\" ";
|
|
$cmdl.= "--save --confirm-overwrite ";
|
|
if ($suggest) $cmdl.= "--filename=".escapeshellarg($suggest)." ";
|
|
$cmdl.= "--file-filter=\"Video files (mp4,m4v,avi,ogv,mkv)|*.mp4 *.m4v *.avi *.ogv *.mkv\" ";
|
|
$cmdl.= "--file-filter=\"Audio files (mp3,m4a,wav,ogg)|*.mp3 *.m4a *.wav *.ogg\" ";
|
|
$cmdl.= "--file-filter=\"All files|*\" 2>/dev/null";
|
|
|
|
exec($cmdl, $out, $ret);
|
|
if ($ret == 0) {
|
|
$this->filename = trim(array_shift($out));
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
} |