From 771525ae6fa44492e22d6ad34127d9893f3f7347 Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Mon, 14 Jul 2014 08:40:13 -0700 Subject: [PATCH] Make AssFixStylesFilter usable statically Trivially speeds up ProcFrame as constructing export filters isn't free due to that it has to look up the translatable strings. --- src/async_video_provider.cpp | 2 +- src/export_fixstyle.cpp | 2 +- src/export_fixstyle.h | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/async_video_provider.cpp b/src/async_video_provider.cpp index d184c1d00..72a6d8bfb 100644 --- a/src/async_video_provider.cpp +++ b/src/async_video_provider.cpp @@ -65,7 +65,7 @@ std::shared_ptr AsyncVideoProvider::ProcFrame(int frame_number, doub single_frame = SUBS_FILE_ALREADY_LOADED; } else { - AssFixStylesFilter().ProcessSubs(subs.get(), nullptr); + AssFixStylesFilter::ProcessSubs(subs.get()); single_frame = frame_number; subs_provider->LoadSubtitles(subs.get(), time); } diff --git a/src/export_fixstyle.cpp b/src/export_fixstyle.cpp index ecd1c7c47..b68111b71 100644 --- a/src/export_fixstyle.cpp +++ b/src/export_fixstyle.cpp @@ -47,7 +47,7 @@ AssFixStylesFilter::AssFixStylesFilter() { } -void AssFixStylesFilter::ProcessSubs(AssFile *subs, wxWindow *) { +void AssFixStylesFilter::ProcessSubs(AssFile *subs) { auto styles = subs->GetStyles(); for (auto& str : styles) boost::to_lower(str); sort(begin(styles), end(styles)); diff --git a/src/export_fixstyle.h b/src/export_fixstyle.h index 343092c5d..76bb18975 100644 --- a/src/export_fixstyle.h +++ b/src/export_fixstyle.h @@ -38,6 +38,7 @@ /// @brief Fixes styles by replacing any style that isn't available on file with Default class AssFixStylesFilter final : public AssExportFilter { public: - void ProcessSubs(AssFile *subs, wxWindow *) override; + static void ProcessSubs(AssFile *subs); + void ProcessSubs(AssFile *subs, wxWindow *) override { ProcessSubs(subs); } AssFixStylesFilter(); };