summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Emmas <johne53@tiscali.co.uk>2014-01-12 17:36:17 +0000
committerJohn Emmas <johne53@tiscali.co.uk>2014-01-12 17:36:17 +0000
commitdd8ba245bb07a3e057824ee0fd73c03a7c3fa1c2 (patch)
tree3d5f61f97e5d557fe7276d8e3a6e0ae9b17c2930
parent897fbdc652434d3aa1e67223c3c3ef7ae9be2318 (diff)
'libs/evoral' - DLL visibility stuff and associated changes needed for building with MSVC. Currently includes debugging information and things that are just commented out until we have known compatibility with the other platforms (i.e. contains stuff to be removed at a later date)
-rw-r--r--libs/evoral/evoral/Event.hpp2
-rw-r--r--libs/evoral/evoral/EventList.hpp2
-rw-r--r--libs/evoral/evoral/EventRingBuffer.hpp2
-rw-r--r--libs/evoral/evoral/EventSink.hpp2
-rw-r--r--libs/evoral/evoral/MIDIEvent.hpp2
-rw-r--r--libs/evoral/evoral/MIDIParameters.hpp8
-rw-r--r--libs/evoral/evoral/Note.hpp6
-rw-r--r--libs/evoral/evoral/OldSMF.hpp2
-rw-r--r--libs/evoral/evoral/PatchChange.hpp4
-rw-r--r--libs/evoral/evoral/Range.hpp10
-rw-r--r--libs/evoral/evoral/Sequence.hpp7
-rw-r--r--libs/evoral/evoral/TimeConverter.hpp9
-rw-r--r--libs/evoral/evoral/TypeMap.hpp2
-rw-r--r--libs/evoral/src/SMF.cpp4
14 files changed, 37 insertions, 25 deletions
diff --git a/libs/evoral/evoral/Event.hpp b/libs/evoral/evoral/Event.hpp
index facaa64e68..59e5612e0e 100644
--- a/libs/evoral/evoral/Event.hpp
+++ b/libs/evoral/evoral/Event.hpp
@@ -158,7 +158,7 @@ protected:
template<typename Time>
-LIBEVORAL_API std::ostream& operator<<(std::ostream& o, const Evoral::Event<Time>& ev) {
+/*LIBEVORAL_API*/ std::ostream& operator<<(std::ostream& o, const Evoral::Event<Time>& ev) {
o << "Event #" << ev.id() << " type = " << ev.event_type() << " @ " << ev.time();
o << std::hex;
for (uint32_t n = 0; n < ev.size(); ++n) {
diff --git a/libs/evoral/evoral/EventList.hpp b/libs/evoral/evoral/EventList.hpp
index fd9df01377..0766d488ac 100644
--- a/libs/evoral/evoral/EventList.hpp
+++ b/libs/evoral/evoral/EventList.hpp
@@ -33,7 +33,7 @@ namespace Evoral {
* Used when we need an unsorted list of Events that is also an EventSink. Absolutely nothing more.
*/
template<typename Time>
-class LIBEVORAL_API EventList : public std::list<Evoral::Event<Time> *>, public Evoral::EventSink<Time> {
+class /*LIBEVORAL_API*/ EventList : public std::list<Evoral::Event<Time> *>, public Evoral::EventSink<Time> {
public:
EventList() {}
diff --git a/libs/evoral/evoral/EventRingBuffer.hpp b/libs/evoral/evoral/EventRingBuffer.hpp
index 26864e0ef1..df9e6aa9ee 100644
--- a/libs/evoral/evoral/EventRingBuffer.hpp
+++ b/libs/evoral/evoral/EventRingBuffer.hpp
@@ -40,7 +40,7 @@ namespace Evoral {
* possible interpretation of uint8_t.
*/
template<typename Time>
-class LIBEVORAL_API EventRingBuffer : public PBD::RingBufferNPT<uint8_t>, public Evoral::EventSink<Time> {
+class /*LIBEVORAL_API*/ EventRingBuffer : public PBD::RingBufferNPT<uint8_t>, public Evoral::EventSink<Time> {
public:
/** @param capacity Ringbuffer capacity in bytes.
diff --git a/libs/evoral/evoral/EventSink.hpp b/libs/evoral/evoral/EventSink.hpp
index 59ae3803ec..fa8b2ef05f 100644
--- a/libs/evoral/evoral/EventSink.hpp
+++ b/libs/evoral/evoral/EventSink.hpp
@@ -27,7 +27,7 @@ namespace Evoral {
/** Pure virtual base for anything you can write events to.
*/
template<typename Time>
-class LIBEVORAL_API EventSink {
+class /*LIBEVORAL_API*/ EventSink {
public:
virtual ~EventSink() {}
virtual uint32_t write(Time time, EventType type, uint32_t size, const uint8_t* buf) = 0;
diff --git a/libs/evoral/evoral/MIDIEvent.hpp b/libs/evoral/evoral/MIDIEvent.hpp
index d6541bafeb..9b1d72c400 100644
--- a/libs/evoral/evoral/MIDIEvent.hpp
+++ b/libs/evoral/evoral/MIDIEvent.hpp
@@ -39,7 +39,7 @@ namespace Evoral {
* valid MIDI data for these functions to make sense.
*/
template<typename Time>
-class LIBEVORAL_API MIDIEvent : public Event<Time> {
+class /*LIBEVORAL_API*/ MIDIEvent : public Event<Time> {
public:
MIDIEvent(EventType type=0, Time time=0, uint32_t size=0, uint8_t* buf=NULL, bool alloc=false)
: Event<Time>(type, time, size, buf, alloc)
diff --git a/libs/evoral/evoral/MIDIParameters.hpp b/libs/evoral/evoral/MIDIParameters.hpp
index fca53a7a45..977c2c18a2 100644
--- a/libs/evoral/evoral/MIDIParameters.hpp
+++ b/libs/evoral/evoral/MIDIParameters.hpp
@@ -24,20 +24,20 @@
namespace Evoral {
namespace MIDI {
-struct LIBEVORAL_API ContinuousController : public Parameter {
+struct /*LIBEVORAL_API*/ ContinuousController : public Parameter {
ContinuousController(uint32_t cc_type, uint8_t channel, uint32_t controller)
: Parameter(cc_type, channel, controller) {}
};
-struct LIBEVORAL_API ProgramChange : public Parameter {
+struct /*LIBEVORAL_API*/ ProgramChange : public Parameter {
ProgramChange(uint32_t pc_type, uint8_t channel) : Parameter(pc_type, channel, 0) {}
};
-struct LIBEVORAL_API ChannelPressure : public Parameter {
+struct /*LIBEVORAL_API*/ ChannelPressure : public Parameter {
ChannelPressure(uint32_t ca_type, uint32_t channel) : Parameter(ca_type, channel, 0) {}
};
-struct LIBEVORAL_API PitchBender : public Parameter {
+struct /*LIBEVORAL_API*/ PitchBender : public Parameter {
PitchBender(uint32_t pb_type, uint32_t channel) : Parameter(pb_type, channel, 0) {}
};
diff --git a/libs/evoral/evoral/Note.hpp b/libs/evoral/evoral/Note.hpp
index 6b0aeebb4a..0effff10b9 100644
--- a/libs/evoral/evoral/Note.hpp
+++ b/libs/evoral/evoral/Note.hpp
@@ -33,7 +33,7 @@ namespace Evoral {
* Currently a note is defined as (on event, length, off event).
*/
template<typename Time>
-class LIBEVORAL_API Note {
+class /*LIBEVORAL_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);
@@ -108,7 +108,7 @@ private:
} // namespace Evoral
template<typename Time>
-LIBEVORAL_API 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()
@@ -116,5 +116,7 @@ LIBEVORAL_API std::ostream& operator<<(std::ostream& o, const Evoral::Note<Time>
return o;
}
+#include "../src/Note.impl"
+
#endif // EVORAL_NOTE_HPP
diff --git a/libs/evoral/evoral/OldSMF.hpp b/libs/evoral/evoral/OldSMF.hpp
index 00bd0024e8..ef1c751d04 100644
--- a/libs/evoral/evoral/OldSMF.hpp
+++ b/libs/evoral/evoral/OldSMF.hpp
@@ -30,7 +30,7 @@ template<typename Time> class EventRingBuffer;
/** Standard Midi File (Type 0)
*/
template<typename Time>
-class LIBEVORAL_API SMF {
+class /*LIBEVORAL_API*/ SMF {
public:
SMF();
virtual ~SMF();
diff --git a/libs/evoral/evoral/PatchChange.hpp b/libs/evoral/evoral/PatchChange.hpp
index f468db4e5d..e05157aa92 100644
--- a/libs/evoral/evoral/PatchChange.hpp
+++ b/libs/evoral/evoral/PatchChange.hpp
@@ -30,7 +30,7 @@ namespace Evoral {
* bank select and then a program change.
*/
template<typename Time>
-class LIBEVORAL_API PatchChange
+class /*LIBEVORAL_API*/ PatchChange
{
public:
/** @param t Time.
@@ -167,7 +167,7 @@ private:
}
template<typename Time>
-LIBEVORAL_API std::ostream& operator<< (std::ostream& o, const Evoral::PatchChange<Time>& p) {
+/*LIBEVORAL_API*/ std::ostream& operator<< (std::ostream& o, const Evoral::PatchChange<Time>& p) {
o << "Patch Change " << p.id() << " @ " << p.time() << " bank " << (int) p.bank() << " program " << (int) p.program();
return o;
}
diff --git a/libs/evoral/evoral/Range.hpp b/libs/evoral/evoral/Range.hpp
index 868dccdd5f..689dc439b4 100644
--- a/libs/evoral/evoral/Range.hpp
+++ b/libs/evoral/evoral/Range.hpp
@@ -25,7 +25,7 @@
namespace Evoral {
-enum LIBEVORAL_API OverlapType {
+enum /*LIBEVORAL_API*/ OverlapType {
OverlapNone, // no overlap
OverlapInternal, // the overlap is 100% with the object
OverlapStart, // overlap covers start, but ends within
@@ -34,7 +34,7 @@ enum LIBEVORAL_API OverlapType {
};
template<typename T>
-LIBEVORAL_API OverlapType coverage (T sa, T ea, T sb, T eb) {
+/*LIBEVORAL_API*/ OverlapType coverage (T sa, T ea, T sb, T eb) {
/* OverlapType returned reflects how the second (B)
range overlaps the first (A).
@@ -109,7 +109,7 @@ LIBEVORAL_API OverlapType coverage (T sa, T ea, T sb, T eb) {
/** Type to describe a time range */
template<typename T>
-struct LIBEVORAL_API Range {
+struct /*LIBEVORAL_API*/ Range {
Range (T f, T t) : from (f), to (t) {}
T from; ///< start of the range
T to; ///< end of the range
@@ -121,7 +121,7 @@ bool operator== (Range<T> a, Range<T> b) {
}
template<typename T>
-class LIBEVORAL_API RangeList {
+class /*LIBEVORAL_API*/ RangeList {
public:
RangeList () : _dirty (false) {}
@@ -174,7 +174,7 @@ private:
/** Type to describe the movement of a time range */
template<typename T>
-struct LIBEVORAL_API RangeMove {
+struct /*LIBEVORAL_API*/ RangeMove {
RangeMove (T f, double l, T t) : from (f), length (l), to (t) {}
T from; ///< start of the range
double length; ///< length of the range
diff --git a/libs/evoral/evoral/Sequence.hpp b/libs/evoral/evoral/Sequence.hpp
index e762d64ad1..280fc600de 100644
--- a/libs/evoral/evoral/Sequence.hpp
+++ b/libs/evoral/evoral/Sequence.hpp
@@ -44,7 +44,7 @@ template<typename Time> class Event;
/** An iterator over (the x axis of) a 2-d double coordinate space.
*/
-class LIBEVORAL_API ControlIterator {
+class /*LIBEVORAL_API*/ ControlIterator {
public:
ControlIterator(boost::shared_ptr<const ControlList> al, double ax, double ay)
: list(al)
@@ -216,7 +216,7 @@ private:
public:
/** Read iterator */
- class const_iterator {
+ class LIBEVORAL_API /* Added by JE - */ const_iterator {
public:
const_iterator();
const_iterator(const Sequence<Time>& seq, Time t, bool, std::set<Evoral::Parameter> const &);
@@ -362,7 +362,8 @@ private:
} // namespace Evoral
-template<typename Time> LIBEVORAL_API std::ostream& operator<<(std::ostream& o, const Evoral::Sequence<Time>& s) { s.dump (o); return o; }
+template<typename Time> /*LIBEVORAL_API*/ std::ostream& operator<<(std::ostream& o, const Evoral::Sequence<Time>& s) { s.dump (o); return o; }
+
#endif // EVORAL_SEQUENCE_HPP
diff --git a/libs/evoral/evoral/TimeConverter.hpp b/libs/evoral/evoral/TimeConverter.hpp
index e46e9e2d1a..29576c6ee8 100644
--- a/libs/evoral/evoral/TimeConverter.hpp
+++ b/libs/evoral/evoral/TimeConverter.hpp
@@ -65,11 +65,16 @@ protected:
* going on.
*/
template<typename A, typename B>
-class LIBEVORAL_API IdentityConverter : public TimeConverter<A,B> {
+class /*LIBEVORAL_API*/ IdentityConverter : public TimeConverter<A,B> {
public:
- IdentityConverter() {}
+ LIBEVORAL_API /* Added by JE - 27-10-2013 */IdentityConverter() {}
+
+ LIBEVORAL_API /* Added by JE - 27-10-2013 */B to(A a) const;
+ LIBEVORAL_API /* Added by JE - 27-10-2013 */A from(B b) const;
+/* Changed by JE - 27-10-2013. Was formerly. . .
B to(A a) const { return static_cast<B>(a); }
A from(B b) const { return static_cast<A>(b); }
+*/
};
diff --git a/libs/evoral/evoral/TypeMap.hpp b/libs/evoral/evoral/TypeMap.hpp
index 7fcb7f2880..d751c22a42 100644
--- a/libs/evoral/evoral/TypeMap.hpp
+++ b/libs/evoral/evoral/TypeMap.hpp
@@ -29,7 +29,7 @@ class Parameter;
/** The applications passes one of these which provide the implementation
* with required information about event types in an opaque, type neutral way
*/
-class LIBEVORAL_API TypeMap {
+class /*LIBEVORAL_API*/ TypeMap {
public:
virtual ~TypeMap() {}
diff --git a/libs/evoral/src/SMF.cpp b/libs/evoral/src/SMF.cpp
index b84507818c..8b2d10d197 100644
--- a/libs/evoral/src/SMF.cpp
+++ b/libs/evoral/src/SMF.cpp
@@ -27,6 +27,10 @@
#include "evoral/midi_util.h"
#include "pbd/file_manager.h"
+#ifdef COMPILER_MSVC
+extern double round(double x);
+#endif
+
using namespace std;
namespace Evoral {