diff --git a/src/image_window.cpp b/src/image_window.cpp index a040a71..b94ff9d 100644 --- a/src/image_window.cpp +++ b/src/image_window.cpp @@ -79,7 +79,7 @@ void ImageWindow::image_RowChanged(int index) { void ImageWindow::image_SetCycle() { QString text_value; QTextStream stream(&text_value); - if(image_files->count() < 0 || !image_cycle_on->isChecked()) { + if(image_files->count() < 2 || !image_cycle_on->isChecked()) { playback->setCycle(0); stream << "Cycle Turned Off.\n"; blend_set = false; @@ -96,9 +96,7 @@ void ImageWindow::image_SetCycle() { } else { QString im_cycle = image_cycle->itemText(type); stream << "Image Frames: " << text_items.size() << " Cycle Type: " << im_cycle << " every " << val << " frames.\n"; - blend_image = cv::imread(text_items[0]); playback->setCycle(type+1, val, text_items); - blend_set = true; } } QMessageBox::information(this, "Image Cycle", text_value); diff --git a/src/playback_thread.cpp b/src/playback_thread.cpp index 4072c3a..69f3021 100644 --- a/src/playback_thread.cpp +++ b/src/playback_thread.cpp @@ -117,12 +117,16 @@ void Playback::setCycle(int type, int frame_skip, std::vector &v) { cycle_on = type; if(!cycle_values.empty()) cycle_values.erase(cycle_values.begin(), cycle_values.end()); - for(auto &i : v) { - cv::Mat value = cv::imread(i); - cycle_values.push_back(value); + if(v.size() > 1) { + for(auto &i : v) { + cv::Mat value = cv::imread(i); + cycle_values.push_back(value); + } + cycle_index = 0; + frame_num = frame_skip; + blend_image = cv::imread(v[0]); + blend_set = true; } - cycle_index = 0; - frame_num = frame_skip; mutex.unlock(); } @@ -130,10 +134,10 @@ void Playback::setCycle(int type) { mutex.lock(); cycle_on = type; cycle_index = 0; + blend_set = false; mutex.unlock(); } - void Playback::reset_filters() { mutex.lock(); if(ac::reset_alpha == false) {