changed preview generator functions to a static function

This commit is contained in:
itsmattkc
2019-02-25 22:07:19 -08:00
parent 47d0065eff
commit a1455ce9c7
6 changed files with 14 additions and 4 deletions
+1 -1
View File
@@ -649,7 +649,7 @@ void LoadThread::run() {
emit success(); // run in main thread
for (int i=0;i<loaded_media_items.size();i++) {
PreviewGenerator* pg = new PreviewGenerator(loaded_media_items.at(i));
PreviewGenerator::AnalyzeMedia(loaded_media_items.at(i));
}
} else {
if (error_str.isEmpty()) {
+8
View File
@@ -593,3 +593,11 @@ void PreviewGenerator::cancel() {
cancelled_ = true;
wait();
}
void PreviewGenerator::AnalyzeMedia(Media *m)
{
// PreviewGenerator's constructor starts the thread, sets a reference of itself as the media's generator,
// and connects its thread completion to its own deletion, therefore handling its own memory. Nothing else needs to
// be done.
new PreviewGenerator(m);
}
+2
View File
@@ -42,6 +42,8 @@ public:
PreviewGenerator(Media*);
void run();
void cancel();
static void AnalyzeMedia(Media*);
private:
void parse_media();
bool retrieve_preview(const QString &hash);
+1 -1
View File
@@ -832,7 +832,7 @@ void Project::process_file_list(QStringList& files, bool recursive, Media* repla
for (int i=0;i<last_imported_media.size();i++) {
// generate waveform/thumbnail in another thread
PreviewGenerator* pg = new PreviewGenerator(last_imported_media.at(i));
PreviewGenerator::AnalyzeMedia(last_imported_media.at(i));
}
} else {
delete ca;
+1 -1
View File
@@ -528,7 +528,7 @@ void ReplaceMediaCommand::replace(QString& filename) {
QStringList files;
files.append(filename);
panel_project->process_file_list(files, false, item, nullptr);
PreviewGenerator* pg = new PreviewGenerator(item);
PreviewGenerator::AnalyzeMedia(item);
}
void ReplaceMediaCommand::doUndo() {
+1 -1
View File
@@ -220,6 +220,6 @@ namespace olive {
* @brief A global MenuHelper object to assist menu creation throughout Olive.
*/
extern MenuHelper MenuHelper;
}
};
#endif // MENUHELPER_H