summaryrefslogtreecommitdiff
path: root/libs/evoral/evoral/Note.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'libs/evoral/evoral/Note.hpp')
-rw-r--r--libs/evoral/evoral/Note.hpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/libs/evoral/evoral/Note.hpp b/libs/evoral/evoral/Note.hpp
index a400137f77..e84d6b9dc4 100644
--- a/libs/evoral/evoral/Note.hpp
+++ b/libs/evoral/evoral/Note.hpp
@@ -22,6 +22,8 @@
#include <algorithm>
#include <glib.h>
#include <stdint.h>
+
+#include "evoral/visibility.h"
#include "evoral/MIDIEvent.hpp"
namespace Evoral {
@@ -31,7 +33,7 @@ namespace Evoral {
* Currently a note is defined as (on event, length, off event).
*/
template<typename Time>
-class Note {
+class LIBEVORAL_TEMPLATE_API Note {
public:
Note(uint8_t chan=0, Time time=0, Time len=0, uint8_t note=0, uint8_t vel=0x40);
Note(const Note<Time>& copy);
@@ -106,7 +108,7 @@ private:
} // namespace Evoral
template<typename Time>
-std::ostream& operator<<(std::ostream& o, const Evoral::Note<Time>& n) {
+/*LIBEVORAL_API*/ std::ostream& operator<<(std::ostream& o, const Evoral::Note<Time>& n) {
o << "Note #" << n.id() << ": pitch = " << (int) n.note()
<< " @ " << n.time() << " .. " << n.end_time()
<< " velocity " << (int) n.velocity()
@@ -114,5 +116,9 @@ std::ostream& operator<<(std::ostream& o, const Evoral::Note<Time>& n) {
return o;
}
+#ifdef COMPILER_MSVC
+#include "../src/Note.impl"
+#endif
+
#endif // EVORAL_NOTE_HPP