diff options
-rw-r--r-- | libs/ardour/MSVClibardour/ardour.vcproj | 4 | ||||
-rw-r--r-- | libs/ardour/ardour/async_midi_port.h | 4 | ||||
-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.h | 3 | ||||
-rw-r--r-- | libs/ardour/ardour/midi_model.h | 1 | ||||
-rw-r--r-- | libs/ardour/ardour/midi_ring_buffer.h | 11 | ||||
-rw-r--r-- | libs/ardour/async_midi_port.cc | 4 | ||||
-rw-r--r-- | libs/ardour/midi_diskstream.cc | 1 | ||||
-rw-r--r-- | libs/ardour/midi_playlist.cc | 1 | ||||
-rw-r--r-- | libs/ardour/midi_source.cc | 2 | ||||
-rw-r--r-- | libs/evoral/MSVCevoral/evoral.vcproj | 4 | ||||
-rw-r--r-- | libs/evoral/evoral/OldSMF.hpp | 2 |
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) */ |