aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorGravatar Chris Xiong <chirs241097@gmail.com> 2017-02-08 23:45:18 +0800
committerGravatar Chris Xiong <chirs241097@gmail.com> 2017-02-08 23:45:18 +0800
commit1976c49f835267d33ef88bd3fc20d18363e12c0b (patch)
treee1eaca367a37238c1b2a5fc0f4ff7cb29a723a86 /include
parent1afedc4cc39c1dcbe49f8c99843a1732bf22fa28 (diff)
downloadQMidiPlayer-1976c49f835267d33ef88bd3fc20d18363e12c0b.tar.xz
Add API version verification. This breaks compatibility
with old versions of plugins. Add RIFF MIDI support to the SMF reader. Documentation.
Diffstat (limited to 'include')
-rw-r--r--include/qmpcorepublic.hpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/include/qmpcorepublic.hpp b/include/qmpcorepublic.hpp
index 6e56310..f42d42a 100644
--- a/include/qmpcorepublic.hpp
+++ b/include/qmpcorepublic.hpp
@@ -1,6 +1,5 @@
-#ifndef QMPCOREPUBLIC_H
-#define QMPCOREPUBLIC_H
-#include <cstring>
+#ifndef QMPCOREPUBLIC_HPP
+#define QMPCOREPUBLIC_HPP
#include <cstdint>
#include <vector>
#include <string>
@@ -9,6 +8,7 @@
#else
#define EXPORTSYM __attribute__ ((visibility ("default")))
#endif
+#define QMP_PLUGIN_API_REV "1+indev"
//MIDI Event structure
struct SEvent
{
@@ -162,4 +162,6 @@ class qmpPluginAPI
//through the parameter. This function should return a pointer to a class
//that implementes the plugin pinterface (qmpPluginIntf).
typedef qmpPluginIntf*(*qmpPluginEntry)(qmpPluginAPI*);
-#endif // QMPCOREPUBLIC_H
+//The following symbol only presents in plugins. Its purpose is to help the core reject incompatible plugins.
+typedef const char*(*qmpPluginAPIRevEntry)();
+#endif // QMPCOREPUBLIC_HPP