@@ -0,0 +1,6 @@
+#include "MessageList.h"
+#include <iostream>
+
+namespace midi {
+}; // namespace
@@ -0,0 +1,14 @@
+#pragma once
+#include <list>
+#include <memory>
+#include "Message.h"
+class MessageList : public std::list<std::shared_ptr<Message>>
+{
+ typedef std::list<std::shared_ptr<Message>> parent;
+};
+} // namespace
@@ -9,4 +9,11 @@ void Output::sendMessage(const Message& message)
RtMidiOut::sendMessage(&bytes);
}
+void Output::sendMessages(const MessageList& messageList)
+ for(auto it = messageList.begin(); it != messageList.end(); it++) {
+ sendMessage(**it);
+ }
+}
} // namespace
@@ -2,6 +2,7 @@
#include "RtMidi.h"
#include "Message.h"
namespace midi {
@@ -9,6 +10,7 @@ class Output : public RtMidiOut
{
public:
void sendMessage(const Message& message);
+ void sendMessages(const MessageList& messageList);
};
} // namespace midi
@@ -0,0 +1,17 @@
+#!/bin/bash
+cd "$( dirname "$0" )"
+mkdir -p lib
+cd lib
+cmake ..
+make
+cd ..
+cd tests
+mkdir -p bin
+cd bin
+cd ../..
@@ -5,6 +5,7 @@ include_directories("${CMAKE_SOURCE_DIR}/..")
link_directories("${CMAKE_SOURCE_DIR}/../lib")
# add_definitions(-pthread)
+add_definitions(-std=c++11)
add_executable(midiout midiout.cpp)
target_link_libraries(midiout midi)
@@ -14,5 +14,15 @@ int main()
out.sendMessage(NoteOnMessage(3, 45, 127));
+ cout << "press button to send... " << flush;
+ cin.ignore();
+ MessageList l;
+ for(int i=10; i<120; i+=10) {
+ std::shared_ptr<Message> msg = std::make_shared<NoteOnMessage>(1, i, 100);
+ l.push_back(msg);
+ out.sendMessages(l);
return 0;