Browse Source

Launchpad: accept midi client's name as parameter of constructor

Fabian Peter Hammerle 9 years ago
parent
commit
8d5d4adfd3
6 changed files with 12 additions and 5 deletions
  1. 2 0
      Input.h
  2. 4 2
      Launchpad.cpp
  3. 2 1
      Launchpad.h
  4. 2 0
      Output.h
  5. 1 1
      tests/launchpad-screen.cpp
  6. 1 1
      tests/launchpad.cpp

+ 2 - 0
Input.h

@@ -8,6 +8,8 @@ namespace midi {
 
 
 class Input : public RtMidiIn
 class Input : public RtMidiIn
 {
 {
+    using RtMidiIn::RtMidiIn;
+
 public:
 public:
 	typedef void (*MessageInCallback)( double timeStamp, Message &message, void *userData );
 	typedef void (*MessageInCallback)( double timeStamp, Message &message, void *userData );
 	void setCallback( MessageInCallback callback, void *userData = 0 );
 	void setCallback( MessageInCallback callback, void *userData = 0 );

+ 4 - 2
Launchpad.cpp

@@ -3,8 +3,10 @@
 
 
 namespace midi {
 namespace midi {
 
 
-Launchpad::Launchpad()
-	: midiin(), midiout(), keyPressedCallback(0), keyReleasedCallback(0)
+Launchpad::Launchpad(const std::string clientName)
+	:   midiin(Input::Api::UNSPECIFIED, clientName),
+        midiout(Output::Api::UNSPECIFIED, clientName),
+        keyPressedCallback(0), keyReleasedCallback(0)
 {
 {
     // define callback before opening port to keep the message queue empty.
     // define callback before opening port to keep the message queue empty.
 	midiin.setCallback(midiMessageCallback, (void*) this);
 	midiin.setCallback(midiMessageCallback, (void*) this);

+ 2 - 1
Launchpad.h

@@ -2,6 +2,7 @@
 #include "Input.h"
 #include "Input.h"
 #include "Output.h"
 #include "Output.h"
 #include "LaunchpadColor.h"
 #include "LaunchpadColor.h"
+#include <string>
 #include <utility>
 #include <utility>
 #include <atomic>
 #include <atomic>
 
 
@@ -30,7 +31,7 @@ public:
 	KeyEventCallback keyReleasedCallback;
 	KeyEventCallback keyReleasedCallback;
     void* keyEventCallbackData;
     void* keyEventCallbackData;
 
 
-	Launchpad();
+	Launchpad(const std::string clientName = std::string("RtMidi Launchpad"));
 
 
 	bool issetColor(unsigned char x, unsigned char y) const;
 	bool issetColor(unsigned char x, unsigned char y) const;
 	const LaunchpadColor& getColor(unsigned char x, unsigned char y) const;
 	const LaunchpadColor& getColor(unsigned char x, unsigned char y) const;

+ 2 - 0
Output.h

@@ -9,6 +9,8 @@ namespace midi {
 
 
 class Output : public RtMidiOut
 class Output : public RtMidiOut
 {
 {
+    using RtMidiOut::RtMidiOut;
+
 private:
 private:
     std::mutex sendMessage_mutex;
     std::mutex sendMessage_mutex;
 
 

+ 1 - 1
tests/launchpad-screen.cpp

@@ -11,7 +11,7 @@ struct DrawScreen : public midi::LaunchpadScreen
     }
     }
 };
 };
 
 
-midi::Launchpad l;
+midi::Launchpad l("launchpad screen test");
 DrawScreen s[8];
 DrawScreen s[8];
     
     
 void DrawScreen::keyPressed(unsigned char x, unsigned char y)
 void DrawScreen::keyPressed(unsigned char x, unsigned char y)

+ 1 - 1
tests/launchpad.cpp

@@ -14,7 +14,7 @@ using namespace midi;
   #define SLEEP( milliseconds ) usleep( (unsigned long) (milliseconds * 1000.0) )
   #define SLEEP( milliseconds ) usleep( (unsigned long) (milliseconds * 1000.0) )
 #endif
 #endif
 
 
-Launchpad l;
+Launchpad l("launchpad test");
 
 
 void keyPressed(unsigned char x, unsigned char y, void* data)
 void keyPressed(unsigned char x, unsigned char y, void* data)
 {
 {