summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-07-22 19:40:48 +0000
committerDavid Robillard <d@drobilla.net>2007-07-22 19:40:48 +0000
commitd5499ab3d093225a7090042790f39ecf6a732f52 (patch)
treeebde2ad6b482dda74b79cea9af43a27b47ebf930
parent1225ea7c0c4c451a5b47eeecef8a945d2c4a8388 (diff)
downloadraul-d5499ab3d093225a7090042790f39ecf6a732f52.tar.gz
raul-d5499ab3d093225a7090042790f39ecf6a732f52.tar.bz2
raul-d5499ab3d093225a7090042790f39ecf6a732f52.zip
Renamed MIDIRingBuffer StampedChunkRingBuffer (what it really is), which coincidentally will work for OSC messages too.
Coincidentally. git-svn-id: http://svn.drobilla.net/lad/raul@597 a436a847-0d15-0410-975c-d299462d15a1
-rw-r--r--raul/Makefile.am2
-rw-r--r--raul/StampedChunkRingBuffer.h (renamed from raul/MIDIRingBuffer.h)19
-rw-r--r--raul/midi_names.h4
-rw-r--r--tests/midi_ringbuffer_test.cpp6
4 files changed, 16 insertions, 15 deletions
diff --git a/raul/Makefile.am b/raul/Makefile.am
index 68fc40d..82c69de 100644
--- a/raul/Makefile.am
+++ b/raul/Makefile.am
@@ -9,7 +9,7 @@ raulinclude_HEADERS = \
DoubleBuffer.h \
JackDriver.h \
List.h \
- MIDIRingBuffer.h \
+ StampedChunkRingBuffer.h \
MIDISink.h \
Maid.h \
Namespaces.h \
diff --git a/raul/MIDIRingBuffer.h b/raul/StampedChunkRingBuffer.h
index 3e216e1..838ea0f 100644
--- a/raul/MIDIRingBuffer.h
+++ b/raul/StampedChunkRingBuffer.h
@@ -15,8 +15,8 @@
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#ifndef RAUL_MIDI_RING_BUFFER_H
-#define RAUL_MIDI_RING_BUFFER_H
+#ifndef RAUL_STAMPED_CHUNK_RING_BUFFER_H
+#define RAUL_STAMPED_CHUNK_RING_BUFFER_H
#include <cassert>
#include <algorithm>
@@ -27,14 +27,17 @@
namespace Raul {
-/** A MIDI RingBuffer
+/** A RingBuffer of timestamped binary "chunks".
+ *
+ * This packs a timestamp, size, and size bytes of data flat into the buffer.
+ * Useful for MIDI events, OSC messages, etc.
*/
-class MIDIRingBuffer : private Raul::RingBuffer<Byte> {
+class StampedChunkRingBuffer : private Raul::RingBuffer<Byte> {
public:
/** @param size Size in bytes.
*/
- MIDIRingBuffer(size_t size)
+ StampedChunkRingBuffer(size_t size)
: RingBuffer<Byte>(size)
{}
@@ -46,7 +49,7 @@ public:
inline bool
-MIDIRingBuffer::read(TickTime* time, size_t* size, Byte* buf)
+StampedChunkRingBuffer::read(TickTime* time, size_t* size, Byte* buf)
{
bool success = RingBuffer<Byte>::full_read(sizeof(TickTime), (Byte*)time);
if (success)
@@ -59,7 +62,7 @@ MIDIRingBuffer::read(TickTime* time, size_t* size, Byte* buf)
inline size_t
-MIDIRingBuffer::write(TickTime time, size_t size, const Byte* buf)
+StampedChunkRingBuffer::write(TickTime time, size_t size, const Byte* buf)
{
assert(size > 0);
@@ -76,5 +79,5 @@ MIDIRingBuffer::write(TickTime time, size_t size, const Byte* buf)
} // namespace Raul
-#endif // RAUL_MIDI_RING_BUFFER_H
+#endif // RAUL_STAMPED_CHUNK_RING_BUFFER_H
diff --git a/raul/midi_names.h b/raul/midi_names.h
index 9b5eff6..45b61ef 100644
--- a/raul/midi_names.h
+++ b/raul/midi_names.h
@@ -27,12 +27,10 @@ namespace Raul {
/** \group midi
*/
-static const uint8_t X_MIDI_CMD_NOTE_OFF = 0x80;
-
/** Pass this a symbol defined in midi_events.h (e.g. MIDI_CTL_PAN) to get the
* short name of a MIDI event/controller according to General MIDI.
*/
-static const char* midi_name(uint8_t status)
+inline static const char* midi_name(uint8_t status)
{
switch (status) {
diff --git a/tests/midi_ringbuffer_test.cpp b/tests/midi_ringbuffer_test.cpp
index bb9f079..5f903d1 100644
--- a/tests/midi_ringbuffer_test.cpp
+++ b/tests/midi_ringbuffer_test.cpp
@@ -1,12 +1,12 @@
#include <iostream>
-#include "raul/MIDIRingBuffer.h"
+#include "raul/StampedChunkRingBuffer.h"
#include "raul/midi_names.h"
using namespace std;
using namespace Raul;
void
-read_write_test(MIDIRingBuffer& rb, unsigned offset)
+read_write_test(StampedChunkRingBuffer& rb, unsigned offset)
{
TickTime t;
size_t size;
@@ -31,7 +31,7 @@ read_write_test(MIDIRingBuffer& rb, unsigned offset)
int
main()
{
- MIDIRingBuffer rb(32);
+ StampedChunkRingBuffer rb(32);
for (size_t i=0; i < 9999; ++i)
read_write_test(rb, i);