php-vfxapply/src/Output.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;
}
}