|
|
|
//
|
|
|
|
// C++ Interface: k9mp4enc
|
|
|
|
//
|
|
|
|
// Description:
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// Author: Jean-Michel PETIT <k9copy@free.fr>, (C) 2006
|
|
|
|
//
|
|
|
|
// Copyright: See COPYING file that comes with this distribution
|
|
|
|
//
|
|
|
|
//
|
|
|
|
#ifndef K9MP4ENC_H
|
|
|
|
#define K9MP4ENC_H
|
|
|
|
#include "k9common.h"
|
|
|
|
#include "k9dvdtitle.h"
|
|
|
|
|
|
|
|
#include <tqobject.h>
|
|
|
|
#include <k9process.h>
|
|
|
|
#include <tqtimer.h>
|
|
|
|
#include <tqstringlist.h>
|
|
|
|
class k9MP4Dlg;
|
|
|
|
/**
|
|
|
|
@author Jean-Michel PETIT <k9copy@free.fr>
|
|
|
|
*/
|
|
|
|
class k9MP4Enc : public TQObject {
|
|
|
|
Q_OBJECT
|
|
|
|
TQ_OBJECT
|
|
|
|
private:
|
|
|
|
k9Process *m_process;
|
|
|
|
k9MP4Dlg *m_progress;
|
|
|
|
k9DVDTitle *m_title;
|
|
|
|
int getBitRate(k9DVDTitle *_title);
|
|
|
|
TQString m_txt;
|
|
|
|
TQString m_device;
|
|
|
|
TQString m_filename;
|
|
|
|
TQString m_height;
|
|
|
|
TQString m_width;
|
|
|
|
TQString m_size;
|
|
|
|
TQString m_audioBitrate;
|
|
|
|
TQString m_videoBitrate;
|
|
|
|
TQString m_audioGain;
|
|
|
|
TQString m_fourcc;
|
|
|
|
TQString m_stderr;
|
|
|
|
int m_parts;
|
|
|
|
float m_percent;
|
|
|
|
TQTimer *timer;
|
|
|
|
TQString m_remain;
|
|
|
|
uint32_t m_totalSize;
|
|
|
|
bool m_2pass;
|
|
|
|
int m_pass;
|
|
|
|
bool m_canceled;
|
|
|
|
int m_codec;
|
|
|
|
int m_audioCodec;
|
|
|
|
bool m_usecache;
|
|
|
|
bool m_mpeg2;
|
|
|
|
bool m_mpegChapters;
|
|
|
|
|
|
|
|
TQStringList m_lstVideo,m_lstAudio,m_lstCodecs;
|
|
|
|
int m_cpt;
|
|
|
|
TQTime *time,m_timer3;
|
|
|
|
TQString replaceParams(TQString _input);
|
|
|
|
TQString round16(TQString _wh);
|
|
|
|
TQString getChapterList(k9DVDTitle *_title);
|
|
|
|
int getselectedSubp(k9DVDTitle *_title);
|
|
|
|
|
|
|
|
private slots:
|
|
|
|
void getStdout(KProcess *proc, char *buffer, int buflen);
|
|
|
|
void getStderr(KProcess *proc, char *buffer, int buflen);
|
|
|
|
void timerDone();
|
|
|
|
void slotCancel();
|
|
|
|
|
|
|
|
public:
|
|
|
|
k9MP4Enc(TQObject *parent = 0, const char *name = 0,const TQStringList& args=0);
|
|
|
|
~k9MP4Enc();
|
|
|
|
|
|
|
|
virtual void execute(k9DVDTitle *_title );
|
|
|
|
|
|
|
|
virtual void setNumberCD(const TQString & _value) {
|
|
|
|
m_parts = _value.toInt();
|
|
|
|
if (m_parts==0) m_parts=1;
|
|
|
|
}
|
|
|
|
|
|
|
|
virtual void setDevice(const TQString& _value) {
|
|
|
|
m_device = _value.stripWhiteSpace();
|
|
|
|
};
|
|
|
|
virtual void setFilename(const TQString& _value) {
|
|
|
|
m_filename = _value.stripWhiteSpace();
|
|
|
|
};
|
|
|
|
virtual void setHeight(const TQString& _value) {
|
|
|
|
m_height = _value.stripWhiteSpace();
|
|
|
|
};
|
|
|
|
virtual void setWidth(const TQString& _value) {
|
|
|
|
m_width = _value.stripWhiteSpace();
|
|
|
|
};
|
|
|
|
virtual void setSize(const TQString& _value) {
|
|
|
|
m_size = _value.stripWhiteSpace();
|
|
|
|
};
|
|
|
|
virtual void setAudioBitrate(const TQString& _value) {
|
|
|
|
m_audioBitrate = _value.stripWhiteSpace();
|
|
|
|
};
|
|
|
|
virtual void setVideoBitrate(const TQString& _value) {
|
|
|
|
m_videoBitrate = _value.stripWhiteSpace();
|
|
|
|
};
|
|
|
|
virtual void setAudioGain(const TQString& _value) {
|
|
|
|
m_audioGain = _value.stripWhiteSpace();
|
|
|
|
};
|
|
|
|
virtual void setfourcc(const TQString& _value) {
|
|
|
|
m_fourcc = _value.stripWhiteSpace();
|
|
|
|
};
|
|
|
|
|
|
|
|
virtual void set2Passes(bool _value) {
|
|
|
|
m_2pass=_value;
|
|
|
|
}
|
|
|
|
|
|
|
|
virtual void setUseCache(bool _value) {
|
|
|
|
m_usecache=_value;
|
|
|
|
}
|
|
|
|
|
|
|
|
virtual void setMpeg2(bool _value) {
|
|
|
|
m_mpeg2=_value;
|
|
|
|
}
|
|
|
|
|
|
|
|
virtual void setCodec(const int& _value) {m_codec = _value;};
|
|
|
|
|
|
|
|
virtual void setAudioCodec(const int& _value) {m_audioCodec = _value;};
|
|
|
|
|
|
|
|
virtual TQWidget *getDialog() {return (TQWidget*)m_progress;};
|
|
|
|
|
|
|
|
virtual bool isCanceled();
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|