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; } }