comparison vamp-support/PreservingPluginHandleMapper.h @ 280:4b581a498981

Use override throughout
author Chris Cannam <cannam@all-day-breakfast.com>
date Mon, 26 Nov 2018 13:39:01 +0000
parents 5ac494d998b2
children
comparison
equal deleted inserted replaced
279:b7eec400cd94 280:4b581a498981
52 */ 52 */
53 class PreservingPluginHandleMapper : public PluginHandleMapper 53 class PreservingPluginHandleMapper : public PluginHandleMapper
54 { 54 {
55 class NotAPlugin : public Vamp::Plugin 55 class NotAPlugin : public Vamp::Plugin
56 { 56 {
57 #define STR(x) std::string get##x() const { return "not-a-plugin"; } 57 #define STR(x) std::string get##x() const override { return "not-a-plugin"; }
58 public: 58 public:
59 STR(Identifier) STR(Name) STR(Description) STR(Maker) STR(Copyright) 59 STR(Identifier) STR(Name) STR(Description) STR(Maker) STR(Copyright)
60 int getPluginVersion() const { return 1; } 60 int getPluginVersion() const override { return 1; }
61 bool initialise(size_t, size_t, size_t) { return false; } 61 bool initialise(size_t, size_t, size_t) override { return false; }
62 void reset() { } 62 void reset() override { }
63 InputDomain getInputDomain() const { return TimeDomain; } 63 InputDomain getInputDomain() const override { return TimeDomain; }
64 OutputList getOutputDescriptors() const { return {}; } 64 OutputList getOutputDescriptors() const override { return {}; }
65 FeatureSet process(const float *const *, Vamp::RealTime) { return {}; } 65 FeatureSet process(const float *const *, Vamp::RealTime) override { return {}; }
66 FeatureSet getRemainingFeatures() { return {}; } 66 FeatureSet getRemainingFeatures() override { return {}; }
67 NotAPlugin() : Plugin(1) { } 67 NotAPlugin() : Plugin(1) { }
68 }; 68 };
69 69
70 public: 70 public:
71 PreservingPluginHandleMapper() : 71 PreservingPluginHandleMapper() :
75 75
76 virtual ~PreservingPluginHandleMapper() { 76 virtual ~PreservingPluginHandleMapper() {
77 delete m_plugin; 77 delete m_plugin;
78 } 78 }
79 79
80 virtual Handle pluginToHandle(Vamp::Plugin *p) const noexcept { 80 Handle pluginToHandle(Vamp::Plugin *p) const noexcept override {
81 if (!p) return INVALID_HANDLE; 81 if (!p) return INVALID_HANDLE;
82 if (p == m_plugin) return m_handle; 82 if (p == m_plugin) return m_handle;
83 else { 83 else {
84 std::cerr << "PreservingPluginHandleMapper: p = " << p 84 std::cerr << "PreservingPluginHandleMapper: p = " << p
85 << " differs from saved m_plugin " << m_plugin 85 << " differs from saved m_plugin " << m_plugin
87 << std::endl; 87 << std::endl;
88 return INVALID_HANDLE; 88 return INVALID_HANDLE;
89 } 89 }
90 } 90 }
91 91
92 virtual Vamp::Plugin *handleToPlugin(Handle h) const noexcept { 92 Vamp::Plugin *handleToPlugin(Handle h) const noexcept override {
93 if (h == INVALID_HANDLE) return nullptr; 93 if (h == INVALID_HANDLE) return nullptr;
94 if (h == m_handle) return m_plugin; 94 if (h == m_handle) return m_plugin;
95 if (m_handle != INVALID_HANDLE) { 95 if (m_handle != INVALID_HANDLE) {
96 std::cerr << "PreservingPluginHandleMapper: m_handle " << m_handle 96 std::cerr << "PreservingPluginHandleMapper: m_handle " << m_handle
97 << " is non-null when a new handle (" << h 97 << " is non-null when a new handle (" << h
109 // rules or the C++ object memory model. 109 // rules or the C++ object memory model.
110 m_plugin = new NotAPlugin(); 110 m_plugin = new NotAPlugin();
111 return m_plugin; 111 return m_plugin;
112 } 112 }
113 113
114 virtual const std::shared_ptr<PluginOutputIdMapper> pluginToOutputIdMapper 114 const std::shared_ptr<PluginOutputIdMapper> pluginToOutputIdMapper
115 (Vamp::Plugin *p) const noexcept { 115 (Vamp::Plugin *p) const noexcept override {
116 if (!p) return {}; 116 if (!p) return {};
117 return m_omapper; 117 return m_omapper;
118 } 118 }
119 119
120 virtual const std::shared_ptr<PluginOutputIdMapper> handleToOutputIdMapper 120 const std::shared_ptr<PluginOutputIdMapper> handleToOutputIdMapper
121 (Handle h) const noexcept { 121 (Handle h) const noexcept override {
122 if (h == INVALID_HANDLE) return {}; 122 if (h == INVALID_HANDLE) return {};
123 return m_omapper; 123 return m_omapper;
124 } 124 }
125 125
126 private: 126 private: