// just before run process public void startConvert(File file) { // log.info("start:"); // check command valid. String ffmpegPath = ffmpegExecuter.getFfmpegPreference().getFfmpegPath(); String codec = ffmpegExecuter.getFfmpegPreference().getAudioCodec(); System.out.println("executer:" + ffmpegPath); if (FFMpegUI.isPureFFMpeg(ffmpegPath)) { if (!FFMpegUI.isPureFFMpegSupportedAudioCodec(codec)) { // MP3 not support pure_ffmpeg.exe StatusBarUtils.showStatusBar(Messages.getString("ffmpeg_statusbar.no_ffmpeg")); try { getProcessPrinter().printError(Messages.getString("ffmpeg_error.no_ffmpeg")); } catch (IOException e) { e.printStackTrace(); } perfomeCancel(); return; } } log.info("set guess:" + ffmpegExecuter.getGuessSize() + "kB"); setProgressMaxBytes(ffmpegExecuter.getGuessSize()); }
// overwrite only work when ffmpeg is available public boolean isCanConvert() { // check ffmpeg path exists. String ffmpegPath = FFMpegUI.getFFmpegOrPureFFMpeg(); if (!FFMpegUI.isFFMpegOrPureFFMpegAvailable(ffmpegPath)) { return false; } return super.isCanConvert(); }
public void beforeConvert() { if (FFMpegUI.getFFmpeg() == null && !quickCopy.getSelection()) { log.warn("this never happend:must filtered by canConvert"); return; } // TODO if use pure_ffmpeg use it.if can handle codec. String ffmpegPath = FFMpegUI.getFFmpeg(); if (ffmpegPath == null) { ffmpegPath = FFMpegUI.getPureFFmpeg(); } // should initialize first. fileOverwriteControler = new FileOverwriteControler(tab.getShell()); ffmpegExecuter = new FFMpegExecuter(); ffmpegExecuter.setAllowDemuxingFLV(false); // if true newer ffmpeg.exe make problem. ffmpegExecuter.setIgnoreAvisynthExtensions(new String[0]); // use any file ffmpegExecuter.setExecuteListener(new FFMpegMonitor()); MP3FFMpegPreference preference = new MP3FFMpegPreference(); ffmpegExecuter.setFfmpegPreference(preference); preference.setFfmpegPath(ffmpegPath); preference.setExtension(FFMpegOptions.EXTENSION_MP3); // support thread.//no it crash /* boolean threads = Akj_betasPlugin.getDefault().getPreferenceStore() .getBoolean(FFMpegPage.USE_THREAD); */ ffmpegExecuter.setSameDirectory(samefolder.getSelection()); ffmpegExecuter.setBackup(backup.getSelection()); if (!samefolder.getSelection()) { ffmpegExecuter.setExportDir(directoryChooser.getAbsoluteFilePath()); } // copy settings preference.setForceConvert(forceConvert.getSelection()); preference.setUseCopy(quickCopy.getSelection()); preference.setDefaultBitrate( Integer.parseInt(defaultBitrate.getItem(defaultBitrate.getSelectionIndex()))); ffmpegExecuter.setUseAvisynth(useAvisynth.getSelection()); preference.setConvertBitrate(mp3setting.getBitrate()); preference.setConvertFramerate(mp3setting.getFramerate()); preference.setConvertChannel(mp3setting.getChannel()); }
public void updateStatus() { if (quickCopy == null) { // this called before createPart from preference monitor. // ignore it } String ffmpegPath = FFMpegUI.getFFmpeg(); if (ffmpegPath == null) { if (noFFMpegImage != null) { // initial call,there are null image dragHere.setImage(noFFMpegImage); } setMessage(""); // setMessage(Messages.getString("")); if (quickCopy != null) { setCanConvert(quickCopy.getSelection()); // enable only if copy on setCantConvertStatusbarMessage(Messages.getString("ffmpeg_statusbar.no_ffmpeg")); } else { log.warn("this never called"); // before initialize setCanConvert(getPreferenceStore().getBoolean(getPreferenceKey() + "." + "quickcopy")); } } else { if (canConvertImage != null) dragHere.setImage(canConvertImage); if (samefolder.getSelection() || directoryChooser.getFile() != null) { setMessage(Messages.getString("dropsomething.drag_folder")); setCanConvert(true); } else { setErrorMessage(Messages.getString("dropsomething.choose_folder")); setCanConvert(false); } } log.info("currentStatus:" + isCanConvert()); }