summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/ardour/MSVClibardour/ardour.vcproj4
-rw-r--r--libs/ardour/ardour/async_midi_port.h4
-rw-r--r--libs/ardour/ardour/event_ring_buffer.h (renamed from libs/evoral/evoral/EventRingBuffer.hpp)70
-rw-r--r--libs/ardour/ardour/midi_diskstream.h3
-rw-r--r--libs/ardour/ardour/midi_model.h1
-rw-r--r--libs/ardour/ardour/midi_ring_buffer.h11
-rw-r--r--libs/ardour/async_midi_port.cc4
-rw-r--r--libs/ardour/midi_diskstream.cc1
-rw-r--r--libs/ardour/midi_playlist.cc1
-rw-r--r--libs/ardour/midi_source.cc2
-rw-r--r--libs/evoral/MSVCevoral/evoral.vcproj4
-rw-r--r--libs/evoral/evoral/OldSMF.hpp2
12 files changed, 50 insertions, 57 deletions
diff --git a/libs/ardour/MSVClibardour/ardour.vcproj b/libs/ardour/MSVClibardour/ardour.vcproj
index 724d1b1c34..5965410763 100644
--- a/libs/ardour/MSVClibardour/ardour.vcproj
+++ b/libs/ardour/MSVClibardour/ardour.vcproj
@@ -1522,6 +1522,10 @@
>
</File>
<File
+ RelativePath="..\ardour\event_ring_buffer.h"
+ >
+ </File>
+ <File
RelativePath="..\ardour\event_type_map.h"
>
</File>
diff --git a/libs/ardour/ardour/async_midi_port.h b/libs/ardour/ardour/async_midi_port.h
index d822081bd3..7fab9e4186 100644
--- a/libs/ardour/ardour/async_midi_port.h
+++ b/libs/ardour/ardour/async_midi_port.h
@@ -30,13 +30,13 @@
#include "pbd/ringbuffer.h"
#include "evoral/Event.hpp"
-#include "evoral/EventRingBuffer.hpp"
#include "midi++/types.h"
#include "midi++/parser.h"
#include "midi++/port.h"
#include "ardour/libardour_visibility.h"
+#include "ardour/event_ring_buffer.h"
#include "ardour/midi_port.h"
namespace ARDOUR {
@@ -88,7 +88,7 @@ class LIBARDOUR_API AsyncMIDIPort : public ARDOUR::MidiPort, public MIDI::Port {
bool have_timer;
boost::function<framecnt_t (void)> timer;
RingBuffer< Evoral::Event<double> > output_fifo;
- Evoral::EventRingBuffer<MIDI::timestamp_t> input_fifo;
+ EventRingBuffer<MIDI::timestamp_t> input_fifo;
Glib::Threads::Mutex output_fifo_lock;
#ifndef PLATFORM_WINDOWS
CrossThreadChannel xthread;
diff --git a/libs/evoral/evoral/EventRingBuffer.hpp b/libs/ardour/ardour/event_ring_buffer.h
index df9e6aa9ee..c7344c5ca7 100644
--- a/libs/evoral/evoral/EventRingBuffer.hpp
+++ b/libs/ardour/ardour/event_ring_buffer.h
@@ -1,34 +1,34 @@
-/* This file is part of Evoral.
- * Copyright (C) 2008 David Robillard <http://drobilla.net>
- *
- * Evoral is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License as published by the Free Software
- * Foundation; either version 2 of the License, or (at your option) any later
- * version.
- *
- * Evoral is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
+/*
+ Copyright (C) 2006-2014 Paul Davis
+ Author: David Robillard
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
-#ifndef EVORAL_EVENT_RING_BUFFER_HPP
-#define EVORAL_EVENT_RING_BUFFER_HPP
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+#ifndef __ardour_event_ring_buffer_h__
+#define __ardour_event_ring_buffer_h__
+
+#include <algorithm>
#include <iostream>
#include "pbd/ringbufferNPT.h"
-#include "evoral/visibility.h"
#include "evoral/EventSink.hpp"
#include "evoral/types.hpp"
-using namespace std;
-
-namespace Evoral {
+namespace ARDOUR {
/** A RingBuffer of events (generic time-stamped binary "blobs").
*
@@ -40,7 +40,8 @@ namespace Evoral {
* possible interpretation of uint8_t.
*/
template<typename Time>
-class /*LIBEVORAL_API*/ EventRingBuffer : public PBD::RingBufferNPT<uint8_t>, public Evoral::EventSink<Time> {
+class EventRingBuffer : public PBD::RingBufferNPT<uint8_t>
+ , public Evoral::EventSink<Time> {
public:
/** @param capacity Ringbuffer capacity in bytes.
@@ -60,8 +61,8 @@ public:
*/
inline bool peek (uint8_t*, size_t size);
- inline uint32_t write(Time time, EventType type, uint32_t size, const uint8_t* buf);
- inline bool read (Time* time, EventType* type, uint32_t* size, uint8_t* buf);
+ inline uint32_t write(Time time, Evoral::EventType type, uint32_t size, const uint8_t* buf);
+ inline bool read (Time* time, Evoral::EventType* type, uint32_t* size, uint8_t* buf);
};
template<typename Time>
@@ -77,7 +78,7 @@ EventRingBuffer<Time>::peek (uint8_t* buf, size_t size)
}
if (vec.len[0] > 0) {
- memcpy (buf, vec.buf[0], min (vec.len[0], size));
+ memcpy (buf, vec.buf[0], std::min (vec.len[0], size));
}
if (vec.len[0] < size) {
@@ -91,13 +92,13 @@ EventRingBuffer<Time>::peek (uint8_t* buf, size_t size)
template<typename Time>
inline bool
-EventRingBuffer<Time>::read(Time* time, EventType* type, uint32_t* size, uint8_t* buf)
+EventRingBuffer<Time>::read(Time* time, Evoral::EventType* type, uint32_t* size, uint8_t* buf)
{
if (PBD::RingBufferNPT<uint8_t>::read ((uint8_t*)time, sizeof (Time)) != sizeof (Time)) {
return false;
}
- if (PBD::RingBufferNPT<uint8_t>::read ((uint8_t*)type, sizeof(EventType)) != sizeof (EventType)) {
+ if (PBD::RingBufferNPT<uint8_t>::read ((uint8_t*)type, sizeof(Evoral::EventType)) != sizeof (Evoral::EventType)) {
return false;
}
@@ -112,24 +113,21 @@ EventRingBuffer<Time>::read(Time* time, EventType* type, uint32_t* size, uint8_t
return true;
}
-
template<typename Time>
inline uint32_t
-EventRingBuffer<Time>::write(Time time, EventType type, uint32_t size, const uint8_t* buf)
+EventRingBuffer<Time>::write(Time time, Evoral::EventType type, uint32_t size, const uint8_t* buf)
{
- if (!buf || write_space() < (sizeof(Time) + sizeof(EventType) + sizeof(uint32_t) + size)) {
+ if (!buf || write_space() < (sizeof(Time) + sizeof(Evoral::EventType) + sizeof(uint32_t) + size)) {
return 0;
} else {
PBD::RingBufferNPT<uint8_t>::write ((uint8_t*)&time, sizeof(Time));
- PBD::RingBufferNPT<uint8_t>::write ((uint8_t*)&type, sizeof(EventType));
+ PBD::RingBufferNPT<uint8_t>::write ((uint8_t*)&type, sizeof(Evoral::EventType));
PBD::RingBufferNPT<uint8_t>::write ((uint8_t*)&size, sizeof(uint32_t));
PBD::RingBufferNPT<uint8_t>::write (buf, size);
return size;
}
}
+} // namespace ARDOUR
-} // namespace Evoral
-
-#endif // EVORAL_EVENT_RING_BUFFER_HPP
-
+#endif // __ardour_event_ring_buffer_h__
diff --git a/libs/ardour/ardour/midi_diskstream.h b/libs/ardour/ardour/midi_diskstream.h
index 70b4454118..e8cc370289 100644
--- a/libs/ardour/ardour/midi_diskstream.h
+++ b/libs/ardour/ardour/midi_diskstream.h
@@ -36,8 +36,8 @@
#include "ardour/ardour.h"
#include "ardour/diskstream.h"
+#include "ardour/midi_buffer.h"
#include "ardour/midi_playlist.h"
-#include "ardour/midi_ring_buffer.h"
#include "ardour/utils.h"
struct tm;
@@ -48,6 +48,7 @@ class IO;
class MidiEngine;
class MidiPort;
class MidiRingbuffer;
+class MidiSource;
class SMFSource;
class Send;
class Session;
diff --git a/libs/ardour/ardour/midi_model.h b/libs/ardour/ardour/midi_model.h
index 31df5ef040..b5dc173464 100644
--- a/libs/ardour/ardour/midi_model.h
+++ b/libs/ardour/ardour/midi_model.h
@@ -30,7 +30,6 @@
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
#include "ardour/midi_buffer.h"
-#include "ardour/midi_ring_buffer.h"
#include "ardour/automatable_sequence.h"
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
diff --git a/libs/ardour/ardour/midi_ring_buffer.h b/libs/ardour/ardour/midi_ring_buffer.h
index 13588e4f04..15e4d2689b 100644
--- a/libs/ardour/ardour/midi_ring_buffer.h
+++ b/libs/ardour/ardour/midi_ring_buffer.h
@@ -22,8 +22,7 @@
#include <iostream>
#include <algorithm>
-#include "evoral/EventRingBuffer.hpp"
-
+#include "ardour/event_ring_buffer.h"
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
#include "ardour/midi_state_tracker.h"
@@ -41,12 +40,10 @@ class MidiBuffer;
* [timestamp][type][size][size bytes of raw MIDI][timestamp][type][size](etc...)
*/
template<typename T>
-class /*LIBARDOUR_API*/ MidiRingBuffer : public Evoral::EventRingBuffer<T> {
+class /*LIBARDOUR_API*/ MidiRingBuffer : public EventRingBuffer<T> {
public:
- /** @param size Size in bytes.
- */
- MidiRingBuffer(size_t size)
- : Evoral::EventRingBuffer<T>(size) {}
+ /** @param size Size in bytes. */
+ MidiRingBuffer(size_t size) : EventRingBuffer<T>(size) {}
inline bool read_prefix(T* time, Evoral::EventType* type, uint32_t* size);
inline bool read_contents(uint32_t size, uint8_t* buf);
diff --git a/libs/ardour/async_midi_port.cc b/libs/ardour/async_midi_port.cc
index ce32fe2ccc..4ce1bfefbe 100644
--- a/libs/ardour/async_midi_port.cc
+++ b/libs/ardour/async_midi_port.cc
@@ -37,10 +37,6 @@ using namespace ARDOUR;
using namespace std;
using namespace PBD;
-namespace Evoral {
- template class EventRingBuffer<MIDI::timestamp_t>;
-}
-
pthread_t AsyncMIDIPort::_process_thread;
#define port_engine AudioEngine::instance()->port_engine()
diff --git a/libs/ardour/midi_diskstream.cc b/libs/ardour/midi_diskstream.cc
index 40d333d584..648c67886d 100644
--- a/libs/ardour/midi_diskstream.cc
+++ b/libs/ardour/midi_diskstream.cc
@@ -47,6 +47,7 @@
#include "ardour/midi_playlist.h"
#include "ardour/midi_port.h"
#include "ardour/midi_region.h"
+#include "ardour/midi_ring_buffer.h"
#include "ardour/playlist_factory.h"
#include "ardour/region_factory.h"
#include "ardour/session.h"
diff --git a/libs/ardour/midi_playlist.cc b/libs/ardour/midi_playlist.cc
index 0261f06ceb..36b6fce75f 100644
--- a/libs/ardour/midi_playlist.cc
+++ b/libs/ardour/midi_playlist.cc
@@ -31,6 +31,7 @@
#include "ardour/midi_model.h"
#include "ardour/midi_playlist.h"
#include "ardour/midi_region.h"
+#include "ardour/midi_state_tracker.h"
#include "ardour/types.h"
#include "i18n.h"
diff --git a/libs/ardour/midi_source.cc b/libs/ardour/midi_source.cc
index 1c050733c2..0f3df97f9b 100644
--- a/libs/ardour/midi_source.cc
+++ b/libs/ardour/midi_source.cc
@@ -34,6 +34,8 @@
#include "pbd/pthread_utils.h"
#include "pbd/basename.h"
+#include "evoral/EventSink.hpp"
+
#include "ardour/debug.h"
#include "ardour/midi_model.h"
#include "ardour/midi_state_tracker.h"
diff --git a/libs/evoral/MSVCevoral/evoral.vcproj b/libs/evoral/MSVCevoral/evoral.vcproj
index 41ebb20390..b82f02bece 100644
--- a/libs/evoral/MSVCevoral/evoral.vcproj
+++ b/libs/evoral/MSVCevoral/evoral.vcproj
@@ -484,10 +484,6 @@
>
</File>
<File
- RelativePath="..\evoral\EventRingBuffer.hpp"
- >
- </File>
- <File
RelativePath="..\evoral\EventSink.hpp"
>
</File>
diff --git a/libs/evoral/evoral/OldSMF.hpp b/libs/evoral/evoral/OldSMF.hpp
index ef1c751d04..814f2a06c9 100644
--- a/libs/evoral/evoral/OldSMF.hpp
+++ b/libs/evoral/evoral/OldSMF.hpp
@@ -24,8 +24,6 @@
namespace Evoral {
template<typename Time> class Event;
-template<typename Time> class EventRingBuffer;
-
/** Standard Midi File (Type 0)
*/