mirror of
https://github.com/lostjared/Acid.Cam.v2.Qt.git
synced 2025-12-18 12:50:07 +01:00
moved buttons added optional fade
This commit is contained in:
@@ -149,18 +149,20 @@ void AC_MainWindow::createControls() {
|
|||||||
btn_moveup = new QPushButton(tr("Move Up"), this);
|
btn_moveup = new QPushButton(tr("Move Up"), this);
|
||||||
btn_movedown = new QPushButton(tr("Move Down"), this);
|
btn_movedown = new QPushButton(tr("Move Down"), this);
|
||||||
btn_sub = new QPushButton(tr("Subfilter"), this);
|
btn_sub = new QPushButton(tr("Subfilter"), this);
|
||||||
|
btn_clr = new QPushButton(tr("Clear Sub"), this);
|
||||||
btn_add->setGeometry(10, 215, 100, 20);
|
btn_add->setGeometry(10, 215, 100, 20);
|
||||||
btn_remove->setGeometry(400, 215, 100, 20);
|
btn_remove->setGeometry(400, 215, 100, 20);
|
||||||
btn_moveup->setGeometry(500, 215, 100, 20);
|
btn_moveup->setGeometry(500, 215, 100, 20);
|
||||||
btn_movedown->setGeometry(600, 215, 100, 20);
|
btn_movedown->setGeometry(600, 215, 100, 20);
|
||||||
btn_sub->setGeometry(700, 215, 90, 20);
|
btn_sub->setGeometry(10, 145, 100, 20);
|
||||||
|
btn_clr->setGeometry(115, 145, 100, 20);
|
||||||
|
|
||||||
connect(btn_add, SIGNAL(clicked()), this, SLOT(addClicked()));
|
connect(btn_add, SIGNAL(clicked()), this, SLOT(addClicked()));
|
||||||
connect(btn_remove, SIGNAL(clicked()), this, SLOT(rmvClicked()));
|
connect(btn_remove, SIGNAL(clicked()), this, SLOT(rmvClicked()));
|
||||||
connect(btn_moveup, SIGNAL(clicked()), this, SLOT(upClicked()));
|
connect(btn_moveup, SIGNAL(clicked()), this, SLOT(upClicked()));
|
||||||
connect(btn_movedown, SIGNAL(clicked()), this, SLOT(downClicked()));
|
connect(btn_movedown, SIGNAL(clicked()), this, SLOT(downClicked()));
|
||||||
connect(btn_sub, SIGNAL(clicked()), this, SLOT(setSub()));
|
connect(btn_sub, SIGNAL(clicked()), this, SLOT(setSub()));
|
||||||
|
connect(btn_clr, SIGNAL(clicked()), this, SLOT(clear_subfilter()));
|
||||||
|
|
||||||
QLabel *r_label = new QLabel(tr("Red: "), this);
|
QLabel *r_label = new QLabel(tr("Red: "), this);
|
||||||
r_label->setGeometry(10, 255, 50, 20);
|
r_label->setGeometry(10, 255, 50, 20);
|
||||||
@@ -345,7 +347,14 @@ void AC_MainWindow::createMenu() {
|
|||||||
repeat_v = new QAction(tr("Repeat"), this);
|
repeat_v = new QAction(tr("Repeat"), this);
|
||||||
repeat_v->setCheckable(true);
|
repeat_v->setCheckable(true);
|
||||||
repeat_v->setChecked(false);
|
repeat_v->setChecked(false);
|
||||||
|
|
||||||
|
fade_on = new QAction(tr("Fade"), this);
|
||||||
|
fade_on->setCheckable(true);
|
||||||
|
fade_on->setChecked(true);
|
||||||
|
options->addAction(fade_on);
|
||||||
options->addAction(repeat_v);
|
options->addAction(repeat_v);
|
||||||
|
|
||||||
|
connect(fade_on, SIGNAL(triggered()), this, SLOT(setFade()));
|
||||||
connect(repeat_v, SIGNAL(triggered()), this, SLOT(repeat_vid()));
|
connect(repeat_v, SIGNAL(triggered()), this, SLOT(repeat_vid()));
|
||||||
connect(clear_image, SIGNAL(triggered()), this, SLOT(clear_img()));
|
connect(clear_image, SIGNAL(triggered()), this, SLOT(clear_img()));
|
||||||
connect(clear_sub, SIGNAL(triggered()), this, SLOT(clear_subfilter()));
|
connect(clear_sub, SIGNAL(triggered()), this, SLOT(clear_subfilter()));
|
||||||
@@ -1174,6 +1183,11 @@ void AC_MainWindow::setSubFilter(const QString &filter_num) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AC_MainWindow::setFade() {
|
||||||
|
bool fc = fade_on->isChecked();
|
||||||
|
playback->setFadeFilter(fc);
|
||||||
|
}
|
||||||
|
|
||||||
void AC_MainWindow::frameInc() {
|
void AC_MainWindow::frameInc() {
|
||||||
frame_index++;
|
frame_index++;
|
||||||
QString frame_string;
|
QString frame_string;
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ public:
|
|||||||
bool startCamera(int res, int dev, const QString &outdir, bool record, int type);
|
bool startCamera(int res, int dev, const QString &outdir, bool record, int type);
|
||||||
bool startVideo(const QString &filename, const QString &outdir, bool record, int type);
|
bool startVideo(const QString &filename, const QString &outdir, bool record, int type);
|
||||||
QListWidget /**filters,*/ *custom_filters;
|
QListWidget /**filters,*/ *custom_filters;
|
||||||
QPushButton *btn_add, *btn_remove, *btn_moveup, *btn_movedown, *btn_sub;
|
QPushButton *btn_add, *btn_remove, *btn_moveup, *btn_movedown, *btn_sub, *btn_clr;
|
||||||
QTextEdit *log_text;
|
QTextEdit *log_text;
|
||||||
QCheckBox *chk_negate;
|
QCheckBox *chk_negate;
|
||||||
QComboBox *combo_rgb;
|
QComboBox *combo_rgb;
|
||||||
@@ -47,6 +47,7 @@ public:
|
|||||||
QAction *clear_sub;
|
QAction *clear_sub;
|
||||||
QAction *clear_image;
|
QAction *clear_image;
|
||||||
QAction *repeat_v;
|
QAction *repeat_v;
|
||||||
|
QAction *fade_on;
|
||||||
double speed_actions[7];
|
double speed_actions[7];
|
||||||
QRadioButton *filter_single, *filter_custom;
|
QRadioButton *filter_single, *filter_custom;
|
||||||
void updateList();
|
void updateList();
|
||||||
@@ -100,6 +101,7 @@ public slots:
|
|||||||
void clear_subfilter();
|
void clear_subfilter();
|
||||||
void clear_img();
|
void clear_img();
|
||||||
void repeat_vid();
|
void repeat_vid();
|
||||||
|
void setFade();
|
||||||
private:
|
private:
|
||||||
void createControls();
|
void createControls();
|
||||||
void createMenu();
|
void createMenu();
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ Playback::Playback(QObject *parent) : QThread(parent) {
|
|||||||
flip_frame1 = false;
|
flip_frame1 = false;
|
||||||
flip_frame2 = false;
|
flip_frame2 = false;
|
||||||
repeat_video = false;
|
repeat_video = false;
|
||||||
|
fadefilter = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Playback::Play() {
|
void Playback::Play() {
|
||||||
@@ -235,7 +236,7 @@ void Playback::run() {
|
|||||||
mutex_shown.unlock();
|
mutex_shown.unlock();
|
||||||
ac::orig_frame = frame.clone();
|
ac::orig_frame = frame.clone();
|
||||||
if(single_mode == true && alpha > 0) {
|
if(single_mode == true && alpha > 0) {
|
||||||
filterFade(frame, current_filter, prev_filter, alpha);
|
if(fadefilter == true) filterFade(frame, current_filter, prev_filter, alpha);
|
||||||
drawEffects(frame);
|
drawEffects(frame);
|
||||||
alpha -= 0.08;
|
alpha -= 0.08;
|
||||||
} else if(single_mode == true) {
|
} else if(single_mode == true) {
|
||||||
@@ -368,6 +369,12 @@ void Playback::setImage(const cv::Mat &frame) {
|
|||||||
mutex.unlock();
|
mutex.unlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Playback::setFadeFilter(bool f) {
|
||||||
|
mutex.lock();
|
||||||
|
fadefilter = f;
|
||||||
|
mutex.unlock();
|
||||||
|
}
|
||||||
|
|
||||||
void Playback::setColorKey(const cv::Mat &image) {
|
void Playback::setColorKey(const cv::Mat &image) {
|
||||||
mutex.lock();
|
mutex.lock();
|
||||||
colorkey_set = true;
|
colorkey_set = true;
|
||||||
|
|||||||
@@ -39,9 +39,11 @@ private:
|
|||||||
double alpha;
|
double alpha;
|
||||||
bool flip_frame1, flip_frame2;
|
bool flip_frame1, flip_frame2;
|
||||||
bool repeat_video;
|
bool repeat_video;
|
||||||
|
bool fadefilter;
|
||||||
public:
|
public:
|
||||||
Playback(QObject *parent = 0);
|
Playback(QObject *parent = 0);
|
||||||
~Playback();
|
~Playback();
|
||||||
|
void setFadeFilter(bool f);
|
||||||
void setFrameIndex(const long &index);
|
void setFrameIndex(const long &index);
|
||||||
bool getFrame(QImage &img, const int &index);
|
bool getFrame(QImage &img, const int &index);
|
||||||
void setRGB(int r, int g, int b);
|
void setRGB(int r, int g, int b);
|
||||||
|
|||||||
Reference in New Issue
Block a user