Browse Source

Update RtMidi to 2.0.1

tags/v0.9.0
falkTX 13 years ago
parent
commit
7f7f5f1dd7
100 changed files with 50 additions and 50 deletions
  1. +2
    -2
      c++/carla-backend/Makefile
  2. +2
    -2
      c++/carla-backend/Makefile.dbg
  3. +2
    -2
      c++/carla-backend/qtcreator/carla-backend.pro
  4. +1
    -1
      c++/carla-backend/rtmidi-2.0.1/Makefile.in
  5. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/RtError.h
  6. +32
    -32
      c++/carla-backend/rtmidi-2.0.1/RtMidi.cpp
  7. +1
    -1
      c++/carla-backend/rtmidi-2.0.1/RtMidi.h
  8. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/config/config.guess
  9. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/config/config.sub
  10. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/config/install.sh
  11. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/configure
  12. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/configure.ac
  13. +1
    -1
      c++/carla-backend/rtmidi-2.0.1/doc/doxygen/Doxyfile
  14. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/doxygen/footer.html
  15. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/doxygen/header.html
  16. +4
    -4
      c++/carla-backend/rtmidi-2.0.1/doc/doxygen/tutorial.txt
  17. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/RtError_8h-source.html
  18. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/RtError_8h_source.html
  19. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/RtMidi_8h-source.html
  20. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/RtMidi_8h.html
  21. +1
    -1
      c++/carla-backend/rtmidi-2.0.1/doc/html/RtMidi_8h_source.html
  22. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/annotated.html
  23. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInAlsa-members.html
  24. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInAlsa.html
  25. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInAlsa.png
  26. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInApi-members.html
  27. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInApi.html
  28. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInApi.png
  29. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInCore-members.html
  30. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInCore.html
  31. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInCore.png
  32. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInDummy-members.html
  33. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInDummy.html
  34. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInDummy.png
  35. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInJack-members.html
  36. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInJack.html
  37. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInJack.png
  38. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInWinKS-members.html
  39. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInWinKS.html
  40. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInWinKS.png
  41. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInWinMM-members.html
  42. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInWinMM.html
  43. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInWinMM.png
  44. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutAlsa-members.html
  45. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutAlsa.html
  46. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutAlsa.png
  47. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutApi-members.html
  48. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutApi.html
  49. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutApi.png
  50. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutCore-members.html
  51. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutCore.html
  52. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutCore.png
  53. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutDummy-members.html
  54. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutDummy.html
  55. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutDummy.png
  56. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutJack-members.html
  57. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutJack.html
  58. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutJack.png
  59. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutWinKS-members.html
  60. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutWinKS.html
  61. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutWinKS.png
  62. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutWinMM-members.html
  63. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutWinMM.html
  64. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutWinMM.png
  65. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classRtError-members.html
  66. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classRtError.html
  67. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classRtMidi-members.html
  68. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classRtMidi.gif
  69. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classRtMidi.html
  70. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classRtMidi.png
  71. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classRtMidiIn-members.html
  72. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classRtMidiIn.gif
  73. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classRtMidiIn.html
  74. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classRtMidiIn.png
  75. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classRtMidiOut-members.html
  76. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classRtMidiOut.gif
  77. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classRtMidiOut.html
  78. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classRtMidiOut.png
  79. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/classes.html
  80. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/doxygen.css
  81. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/doxygen.png
  82. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/files.html
  83. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/functions.html
  84. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/functions_enum.html
  85. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/functions_eval.html
  86. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/functions_func.html
  87. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/functions_type.html
  88. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/hierarchy.html
  89. +4
    -4
      c++/carla-backend/rtmidi-2.0.1/doc/html/index.html
  90. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/structMidiInApi_1_1MidiMessage-members.html
  91. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/structMidiInApi_1_1MidiMessage.html
  92. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/structMidiInApi_1_1MidiQueue-members.html
  93. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/structMidiInApi_1_1MidiQueue.html
  94. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/structMidiInApi_1_1RtMidiInData-members.html
  95. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/structMidiInApi_1_1RtMidiInData.html
  96. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/structRtMidiIn_1_1MidiMessage-members.html
  97. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/structRtMidiIn_1_1MidiMessage.html
  98. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/structRtMidiIn_1_1MidiQueue-members.html
  99. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/structRtMidiIn_1_1MidiQueue.html
  100. +0
    -0
      c++/carla-backend/rtmidi-2.0.1/doc/html/structRtMidiIn_1_1RtMidiInData-members.html

+ 2
- 2
c++/carla-backend/Makefile View File

@@ -80,9 +80,9 @@ OBJS += \
plugins/midi-split.o

ifeq ($(WANT_RTAUDIO),true)
CARLA_CXX_FLAGS += -Irtaudio-4.0.11 -Irtmidi-2.0.0 -DCARLA_ENGINE_RTAUDIO -DHAVE_GETTIMEOFDAY -D_FORTIFY_SOURCE=2
CARLA_CXX_FLAGS += -Irtaudio-4.0.11 -Irtmidi-2.0.1 -DCARLA_ENGINE_RTAUDIO -DHAVE_GETTIMEOFDAY -D_FORTIFY_SOURCE=2
OBJS += rtaudio-4.0.11/RtAudio.o
OBJS += rtmidi-2.0.0/RtMidi.o
OBJS += rtmidi-2.0.1/RtMidi.o
endif

# --------------------------------------------------------------


+ 2
- 2
c++/carla-backend/Makefile.dbg View File

@@ -80,9 +80,9 @@ OBJS += \
plugins/midi-split.o

ifeq ($(WANT_RTAUDIO),true)
CARLA_CXX_FLAGS += -Irtaudio-4.0.11 -Irtmidi-2.0.0 -DCARLA_ENGINE_RTAUDIO -DHAVE_GETTIMEOFDAY -D__RTAUDIO_DEBUG__ -D__RTMIDI_DEBUG__
CARLA_CXX_FLAGS += -Irtaudio-4.0.11 -Irtmidi-2.0.1 -DCARLA_ENGINE_RTAUDIO -DHAVE_GETTIMEOFDAY -D__RTAUDIO_DEBUG__ -D__RTMIDI_DEBUG__
OBJS += rtaudio-4.0.11/RtAudio.o
OBJS += rtmidi-2.0.0/RtMidi.o
OBJS += rtmidi-2.0.1/RtMidi.o
endif

# --------------------------------------------------------------


+ 2
- 2
c++/carla-backend/qtcreator/carla-backend.pro View File

@@ -80,9 +80,9 @@ DEFINES += WANT_FLUIDSYNTH WANT_LINUXSAMPLER
#LIBS += -L../../carla-jackbridge -lcarla-jackbridge-native

INCLUDEPATH += ../rtaudio-4.0.11
INCLUDEPATH += ../rtmidi-2.0.0
INCLUDEPATH += ../rtmidi-2.0.1
SOURCES += ../rtaudio-4.0.11/RtAudio.cpp
SOURCES += ../rtmidi-2.0.0/RtMidi.cpp
SOURCES += ../rtmidi-2.0.1/RtMidi.cpp

QMAKE_CFLAGS *= -fPIC -std=c99
QMAKE_CXXFLAGS *= -fPIC -std=c++0x

c++/carla-backend/rtmidi-2.0.0/Makefile.in → c++/carla-backend/rtmidi-2.0.1/Makefile.in View File

@@ -28,7 +28,7 @@ $(LIBRARIES): $(OBJECTS)
$(AR) ruv $(STATIC) $(OBJECTS)
ranlib $(STATIC)
$(CC) -fPIC @libflags@ $(OBJECTS) @LIBS@
$(LN) -s @sharedname@ $(SHARED)
$(LN) -sf @sharedname@ $(SHARED)

# $(CC) -shared $(OBJECTS) -o $(SHARED) @LIBS@


c++/carla-backend/rtmidi-2.0.0/RtError.h → c++/carla-backend/rtmidi-2.0.1/RtError.h View File


c++/carla-backend/rtmidi-2.0.0/RtMidi.cpp → c++/carla-backend/rtmidi-2.0.1/RtMidi.cpp View File

@@ -36,7 +36,7 @@
*/
/**********************************************************************/

// RtMidi: Version 2.0.0
// RtMidi: Version 2.0.1

#include "RtMidi.h"
#include <sstream>
@@ -571,7 +571,7 @@ void MidiInCore :: openPort( unsigned int portNumber, const std::string portName

MIDIPortRef port;
CoreMidiData *data = static_cast<CoreMidiData *> (apiData_);
OSStatus result = MIDIInputPortCreate( data->client,
OSStatus result = MIDIInputPortCreate( data->client,
CFStringCreateWithCString( NULL, portName.c_str(), kCFStringEncodingASCII ),
midiInputCallback, (void *)&inputData_, &port );
if ( result != noErr ) {
@@ -756,7 +756,7 @@ static CFStringRef ConnectedEndpointName( MIDIEndpointRef endpoint )
if ( anyStrings )
return result;

// Here, either the endpoint had no connections, or we failed to obtain names
// Here, either the endpoint had no connections, or we failed to obtain names
return EndpointName( endpoint, false );
}

@@ -848,7 +848,7 @@ std::string MidiOutCore :: getPortName( unsigned int portNumber )
nameRef = ConnectedEndpointName(portRef);
CFStringGetCString( nameRef, name, sizeof(name), 0);
CFRelease( nameRef );
return stringName = name;
}

@@ -875,7 +875,7 @@ void MidiOutCore :: openPort( unsigned int portNumber, const std::string portNam

MIDIPortRef port;
CoreMidiData *data = static_cast<CoreMidiData *> (apiData_);
OSStatus result = MIDIOutputPortCreate( data->client,
OSStatus result = MIDIOutputPortCreate( data->client,
CFStringCreateWithCString( NULL, portName.c_str(), kCFStringEncodingASCII ),
&port );
if ( result != noErr ) {
@@ -947,7 +947,7 @@ void MidiOutCore :: sendMessage( std::vector<unsigned char> *message )
// messages. Otherwise, we use a single CoreMidi MIDIPacket.
unsigned int nBytes = message->size();
if ( nBytes == 0 ) {
errorString_ = "MidiOutCore::sendMessage: no data in message argument!";
errorString_ = "MidiOutCore::sendMessage: no data in message argument!";
RtMidi::error( RtError::WARNING, errorString_ );
return;
}
@@ -995,7 +995,7 @@ void MidiOutCore :: sendMessage( std::vector<unsigned char> *message )
MIDIPacket *packet = MIDIPacketListInit( &packetList );
packet = MIDIPacketListAdd( &packetList, sizeof(packetList), packet, timeStamp, nBytes, (const Byte *) &message->at( 0 ) );
if ( !packet ) {
errorString_ = "MidiOutCore::sendMessage: could not allocate packet list";
errorString_ = "MidiOutCore::sendMessage: could not allocate packet list";
RtMidi::error( RtError::DRIVER_ERROR, errorString_ );
}

@@ -1185,13 +1185,13 @@ extern "C" void *alsaMidiHandler( void *ptr )
doDecode = false;
switch ( ev->type ) {

case SND_SEQ_EVENT_PORT_SUBSCRIBED:
case SND_SEQ_EVENT_PORT_SUBSCRIBED:
#if defined(__RTMIDI_DEBUG__)
std::cout << "MidiInAlsa::alsaMidiHandler: port connection made!\n";
#endif
break;

case SND_SEQ_EVENT_PORT_UNSUBSCRIBED:
case SND_SEQ_EVENT_PORT_UNSUBSCRIBED:
#if defined(__RTMIDI_DEBUG__)
std::cerr << "MidiInAlsa::alsaMidiHandler: port connection has closed!\n";
std::cout << "sender = " << (int) ev->data.connect.sender.client << ":"
@@ -1214,7 +1214,7 @@ extern "C" void *alsaMidiHandler( void *ptr )
if ( !( data->ignoreFlags & 0x04 ) ) doDecode = true;
break;

case SND_SEQ_EVENT_SYSEX:
case SND_SEQ_EVENT_SYSEX:
if ( (data->ignoreFlags & 0x01) ) break;
if ( ev->data.ext.len > apiData->bufferSize ) {
apiData->bufferSize = ev->data.ext.len;
@@ -1481,12 +1481,12 @@ void MidiInAlsa :: openPort( unsigned int portNumber, const std::string portName
snd_seq_port_info_set_midi_channels(pinfo, 16);
#ifndef AVOID_TIMESTAMPING
snd_seq_port_info_set_timestamping(pinfo, 1);
snd_seq_port_info_set_timestamp_real(pinfo, 1);
snd_seq_port_info_set_timestamp_real(pinfo, 1);
snd_seq_port_info_set_timestamp_queue(pinfo, data->queue_id);
#endif
snd_seq_port_info_set_name(pinfo, portName.c_str() );
data->vport = snd_seq_create_port(data->seq, pinfo);
if ( data->vport < 0 ) {
errorString_ = "MidiInAlsa::openPort: ALSA error creating input port.";
RtMidi::error( RtError::DRIVER_ERROR, errorString_ );
@@ -1546,15 +1546,15 @@ void MidiInAlsa :: openVirtualPort( std::string portName )
snd_seq_port_info_t *pinfo;
snd_seq_port_info_alloca( &pinfo );
snd_seq_port_info_set_capability( pinfo,
SND_SEQ_PORT_CAP_WRITE |
SND_SEQ_PORT_CAP_SUBS_WRITE );
SND_SEQ_PORT_CAP_WRITE |
SND_SEQ_PORT_CAP_SUBS_WRITE );
snd_seq_port_info_set_type( pinfo,
SND_SEQ_PORT_TYPE_MIDI_GENERIC |
SND_SEQ_PORT_TYPE_APPLICATION );
SND_SEQ_PORT_TYPE_MIDI_GENERIC |
SND_SEQ_PORT_TYPE_APPLICATION );
snd_seq_port_info_set_midi_channels(pinfo, 16);
#ifndef AVOID_TIMESTAMPING
snd_seq_port_info_set_timestamping(pinfo, 1);
snd_seq_port_info_set_timestamp_real(pinfo, 1);
snd_seq_port_info_set_timestamp_real(pinfo, 1);
snd_seq_port_info_set_timestamp_queue(pinfo, data->queue_id);
#endif
snd_seq_port_info_set_name(pinfo, portName.c_str());
@@ -1657,7 +1657,7 @@ void MidiOutAlsa :: initialize( const std::string& clientName )
s_seq = NULL;
errorString_ = "MidiOutAlsa::initialize: error creating ALSA sequencer client object.";
RtMidi::error( RtError::DRIVER_ERROR, errorString_ );
}
}

// Save our api-specific connection information.
AlsaMidiData *data = (AlsaMidiData *) new AlsaMidiData;
@@ -1685,8 +1685,8 @@ void MidiOutAlsa :: initialize( const std::string& clientName )

unsigned int MidiOutAlsa :: getPortCount()
{
snd_seq_port_info_t *pinfo;
snd_seq_port_info_alloca( &pinfo );
snd_seq_port_info_t *pinfo;
snd_seq_port_info_alloca( &pinfo );

AlsaMidiData *data = static_cast<AlsaMidiData *> (apiData_);
return portInfo( data->seq, pinfo, SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE, -1 );
@@ -1733,8 +1733,8 @@ void MidiOutAlsa :: openPort( unsigned int portNumber, const std::string portNam
RtMidi::error( RtError::NO_DEVICES_FOUND, errorString_ );
}

snd_seq_port_info_t *pinfo;
snd_seq_port_info_alloca( &pinfo );
snd_seq_port_info_t *pinfo;
snd_seq_port_info_alloca( &pinfo );
std::ostringstream ost;
AlsaMidiData *data = static_cast<AlsaMidiData *> (apiData_);
if ( portInfo( data->seq, pinfo, SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE, (int) portNumber ) == 0 ) {
@@ -1887,7 +1887,7 @@ struct WinMidiData {
//*********************************************************************//

static void CALLBACK midiInputCallback( HMIDIIN hmin,
UINT inputStatus,
UINT inputStatus,
DWORD_PTR instancePtr,
DWORD_PTR midiMessage,
DWORD timestamp )
@@ -1937,8 +1937,8 @@ static void CALLBACK midiInputCallback( HMIDIIN hmin,
for ( int i=0; i<nBytes; ++i ) apiData->message.bytes.push_back( *ptr++ );
}
else { // Sysex message ( MIM_LONGDATA or MIM_LONGERROR )
MIDIHDR *sysex = ( MIDIHDR *) midiMessage;
if ( !( data->ignoreFlags & 0x01 ) && inputStatus != MIM_LONGERROR ) {
MIDIHDR *sysex = ( MIDIHDR *) midiMessage;
if ( !( data->ignoreFlags & 0x01 ) && inputStatus != MIM_LONGERROR ) {
// Sysex message and we're not ignoring it
for ( int i=0; i<(int)sysex->dwBytesRecorded; ++i )
apiData->message.bytes.push_back( sysex->lpData[i] );
@@ -1952,7 +1952,7 @@ static void CALLBACK midiInputCallback( HMIDIIN hmin,
// buffer when an application closes and in this case, we should
// avoid requeueing it, else the computer suddenly reboots after
// one or two minutes.
if ( apiData->sysexBuffer[sysex->dwUser]->dwBytesRecorded > 0 ) {
if ( apiData->sysexBuffer[sysex->dwUser]->dwBytesRecorded > 0 ) {
//if ( sysex->dwBytesRecorded > 0 ) {
MMRESULT result = midiInAddBuffer( apiData->inHandle, apiData->sysexBuffer[sysex->dwUser], sizeof(MIDIHDR) );
if ( result != MMSYSERR_NOERROR )
@@ -2140,7 +2140,7 @@ std::string MidiInWinMM :: getPortName( unsigned int portNumber )
stringName = std::string( deviceCaps.szPname );
#endif

// Next lines added to add the portNumber to the name so that
// Next lines added to add the portNumber to the name so that
// the device's names are sure to be listed with individual names
// even when they have the same brand name
std::ostringstream os;
@@ -2298,7 +2298,7 @@ void MidiOutWinMM :: sendMessage( std::vector<unsigned char> *message )
sysex.lpData = (LPSTR) buffer;
sysex.dwBufferLength = nBytes;
sysex.dwFlags = 0;
result = midiOutPrepareHeader( data->outHandle, &sysex, sizeof(MIDIHDR) );
result = midiOutPrepareHeader( data->outHandle, &sysex, sizeof(MIDIHDR) );
if ( result != MMSYSERR_NOERROR ) {
free( buffer );
errorString_ = "MidiOutWinMM::sendMessage: error preparing sysex header.";
@@ -2366,8 +2366,8 @@ void MidiOutWinMM :: sendMessage( std::vector<unsigned char> *message )
#include <setupapi.h>
#include <mmsystem.h>

#include "include/ks.h"
#include "include/ksmedia.h"
#include "ks.h"
#include "ksmedia.h"

#define INSTANTIATE_GUID(a) GUID const a = { STATIC_ ## a }

@@ -3614,6 +3614,8 @@ void MidiOutJack :: initialize( const std::string& clientName )
{
JackMidiData *data = new JackMidiData;

data->port = NULL;

// Initialize JACK client
if (( data->client = jack_client_open( clientName.c_str(), JackNullOption, NULL )) == 0) {
errorString_ = "MidiOutJack::initialize: JACK server not running?";
@@ -3626,8 +3628,6 @@ void MidiOutJack :: initialize( const std::string& clientName )
data->buffMessage = jack_ringbuffer_create( JACK_RINGBUFFER_SIZE );
jack_activate( data->client );

data->port = NULL;

apiData_ = (void *) data;
}


c++/carla-backend/rtmidi-2.0.0/RtMidi.h → c++/carla-backend/rtmidi-2.0.1/RtMidi.h View File

@@ -40,7 +40,7 @@
\file RtMidi.h
*/

// RtMidi: Version 2.0.0
// RtMidi: Version 2.0.1

#ifndef RTMIDI_H
#define RTMIDI_H

c++/carla-backend/rtmidi-2.0.0/config/config.guess → c++/carla-backend/rtmidi-2.0.1/config/config.guess View File


c++/carla-backend/rtmidi-2.0.0/config/config.sub → c++/carla-backend/rtmidi-2.0.1/config/config.sub View File


c++/carla-backend/rtmidi-2.0.0/config/install.sh → c++/carla-backend/rtmidi-2.0.1/config/install.sh View File


c++/carla-backend/rtmidi-2.0.0/configure → c++/carla-backend/rtmidi-2.0.1/configure View File


c++/carla-backend/rtmidi-2.0.0/configure.ac → c++/carla-backend/rtmidi-2.0.1/configure.ac View File


c++/carla-backend/rtmidi-2.0.0/doc/doxygen/Doxyfile → c++/carla-backend/rtmidi-2.0.1/doc/doxygen/Doxyfile View File

@@ -31,7 +31,7 @@ PROJECT_NAME = RtMidi
# This could be handy for archiving the generated documentation or
# if some version control system is used.

PROJECT_NUMBER = 2.0.0
PROJECT_NUMBER = 2.0.1

# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.

c++/carla-backend/rtmidi-2.0.0/doc/doxygen/footer.html → c++/carla-backend/rtmidi-2.0.1/doc/doxygen/footer.html View File


c++/carla-backend/rtmidi-2.0.0/doc/doxygen/header.html → c++/carla-backend/rtmidi-2.0.1/doc/doxygen/header.html View File


c++/carla-backend/rtmidi-2.0.0/doc/doxygen/tutorial.txt → c++/carla-backend/rtmidi-2.0.1/doc/doxygen/tutorial.txt View File

@@ -23,7 +23,7 @@ No incompatable API changes were made in version 2.0, however, support for multi
\section download Download
Latest Release (18 June 2012): <A href="http://www.music.mcgill.ca/~gary/rtmidi/release/rtmidi-2.0.0.tar.gz">Version 2.0.0</A>
Latest Release (26 July 2012): <A href="http://www.music.mcgill.ca/~gary/rtmidi/release/rtmidi-2.0.1.tar.gz">Version 2.0.1</A>
\section start Getting Started
@@ -350,9 +350,9 @@ In order to compile RtMidi for a specific OS and API, it is necessary to supply
<TR>
<TD>Linux</TD>
<TD>ALSA Sequencer</TD>
<TD>__LINUX_ALSASEQ__</TD>
<TD>__LINUX_ALSA__</TD>
<TD><TT>asound, pthread</TT></TD>
<TD><TT>g++ -Wall -D__LINUX_ALSASEQ__ -o midiprobe midiprobe.cpp RtMidi.cpp -lasound -lpthread</TT></TD>
<TD><TT>g++ -Wall -D__LINUX_ALSA__ -o midiprobe midiprobe.cpp RtMidi.cpp -lasound -lpthread</TT></TD>
</TR>
<TR>
<TD>Linux or Mac</TD>
@@ -366,7 +366,7 @@ In order to compile RtMidi for a specific OS and API, it is necessary to supply
<TD>CoreMidi</TD>
<TD>__MACOSX_CORE__</TD>
<TD><TT>CoreMidi, CoreAudio, CoreFoundation</TT></TD>
<TD><TT>g++ -Wall -D__MACOSX_CORE__ -o midiprobe midiprobe.cpp RtMidi.cpp -framework CoreMidi -framework CoreAudio -framework CoreFoundation</TT></TD>
<TD><TT>g++ -Wall -D__MACOSX_CORE__ -o midiprobe midiprobe.cpp RtMidi.cpp -framework CoreMIDI -framework CoreAudio -framework CoreFoundation</TT></TD>
</TR>
<TR>
<TD>Windows</TD>

c++/carla-backend/rtmidi-2.0.0/doc/html/RtError_8h-source.html → c++/carla-backend/rtmidi-2.0.1/doc/html/RtError_8h-source.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/RtError_8h_source.html → c++/carla-backend/rtmidi-2.0.1/doc/html/RtError_8h_source.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/RtMidi_8h-source.html → c++/carla-backend/rtmidi-2.0.1/doc/html/RtMidi_8h-source.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/RtMidi_8h.html → c++/carla-backend/rtmidi-2.0.1/doc/html/RtMidi_8h.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/RtMidi_8h_source.html → c++/carla-backend/rtmidi-2.0.1/doc/html/RtMidi_8h_source.html View File

@@ -11,7 +11,7 @@
<h1>RtMidi.h</h1><a href="RtMidi_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/**********************************************************************/</span>
<a name="l00037"></a>00037 <span class="comment">/**********************************************************************/</span>
<a name="l00038"></a>00038
<a name="l00043"></a>00043 <span class="comment">// RtMidi: Version 2.0.0</span>
<a name="l00043"></a>00043 <span class="comment">// RtMidi: Version 2.0.1</span>
<a name="l00044"></a>00044
<a name="l00045"></a>00045 <span class="preprocessor">#ifndef RTMIDI_H</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#define RTMIDI_H</span>

c++/carla-backend/rtmidi-2.0.0/doc/html/annotated.html → c++/carla-backend/rtmidi-2.0.1/doc/html/annotated.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiInAlsa-members.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInAlsa-members.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiInAlsa.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInAlsa.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiInAlsa.png → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInAlsa.png View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiInApi-members.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInApi-members.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiInApi.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInApi.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiInApi.png → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInApi.png View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiInCore-members.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInCore-members.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiInCore.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInCore.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiInCore.png → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInCore.png View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiInDummy-members.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInDummy-members.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiInDummy.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInDummy.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiInDummy.png → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInDummy.png View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiInJack-members.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInJack-members.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiInJack.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInJack.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiInJack.png → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInJack.png View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiInWinKS-members.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInWinKS-members.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiInWinKS.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInWinKS.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiInWinKS.png → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInWinKS.png View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiInWinMM-members.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInWinMM-members.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiInWinMM.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInWinMM.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiInWinMM.png → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiInWinMM.png View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiOutAlsa-members.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutAlsa-members.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiOutAlsa.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutAlsa.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiOutAlsa.png → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutAlsa.png View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiOutApi-members.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutApi-members.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiOutApi.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutApi.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiOutApi.png → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutApi.png View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiOutCore-members.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutCore-members.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiOutCore.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutCore.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiOutCore.png → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutCore.png View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiOutDummy-members.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutDummy-members.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiOutDummy.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutDummy.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiOutDummy.png → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutDummy.png View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiOutJack-members.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutJack-members.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiOutJack.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutJack.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiOutJack.png → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutJack.png View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiOutWinKS-members.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutWinKS-members.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiOutWinKS.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutWinKS.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiOutWinKS.png → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutWinKS.png View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiOutWinMM-members.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutWinMM-members.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiOutWinMM.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutWinMM.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classMidiOutWinMM.png → c++/carla-backend/rtmidi-2.0.1/doc/html/classMidiOutWinMM.png View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classRtError-members.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classRtError-members.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classRtError.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classRtError.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classRtMidi-members.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classRtMidi-members.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classRtMidi.gif → c++/carla-backend/rtmidi-2.0.1/doc/html/classRtMidi.gif View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classRtMidi.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classRtMidi.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classRtMidi.png → c++/carla-backend/rtmidi-2.0.1/doc/html/classRtMidi.png View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classRtMidiIn-members.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classRtMidiIn-members.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classRtMidiIn.gif → c++/carla-backend/rtmidi-2.0.1/doc/html/classRtMidiIn.gif View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classRtMidiIn.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classRtMidiIn.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classRtMidiIn.png → c++/carla-backend/rtmidi-2.0.1/doc/html/classRtMidiIn.png View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classRtMidiOut-members.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classRtMidiOut-members.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classRtMidiOut.gif → c++/carla-backend/rtmidi-2.0.1/doc/html/classRtMidiOut.gif View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classRtMidiOut.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classRtMidiOut.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classRtMidiOut.png → c++/carla-backend/rtmidi-2.0.1/doc/html/classRtMidiOut.png View File


c++/carla-backend/rtmidi-2.0.0/doc/html/classes.html → c++/carla-backend/rtmidi-2.0.1/doc/html/classes.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/doxygen.css → c++/carla-backend/rtmidi-2.0.1/doc/html/doxygen.css View File


c++/carla-backend/rtmidi-2.0.0/doc/html/doxygen.png → c++/carla-backend/rtmidi-2.0.1/doc/html/doxygen.png View File


c++/carla-backend/rtmidi-2.0.0/doc/html/files.html → c++/carla-backend/rtmidi-2.0.1/doc/html/files.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/functions.html → c++/carla-backend/rtmidi-2.0.1/doc/html/functions.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/functions_enum.html → c++/carla-backend/rtmidi-2.0.1/doc/html/functions_enum.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/functions_eval.html → c++/carla-backend/rtmidi-2.0.1/doc/html/functions_eval.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/functions_func.html → c++/carla-backend/rtmidi-2.0.1/doc/html/functions_func.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/functions_type.html → c++/carla-backend/rtmidi-2.0.1/doc/html/functions_type.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/hierarchy.html → c++/carla-backend/rtmidi-2.0.1/doc/html/hierarchy.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/index.html → c++/carla-backend/rtmidi-2.0.1/doc/html/index.html View File

@@ -9,7 +9,7 @@
<HR>
<!-- Generated by Doxygen 1.6.2 -->
<div class="contents">
<h1>The <a class="el" href="classRtMidi.html" title="An abstract base class for realtime MIDI input/output.">RtMidi</a> Tutorial </h1><h3 class="version">2.0.0 </h3><center><a class="el" href="index.html#intro">Introduction</a> &nbsp;&nbsp; <a class="el" href="index.html#download">Download</a> &nbsp;&nbsp; <a class="el" href="index.html#start">Getting Started</a> &nbsp;&nbsp; <a class="el" href="index.html#error">Error Handling</a> &nbsp;&nbsp; <a class="el" href="index.html#probing">Probing Ports</a> &nbsp;&nbsp; <a class="el" href="index.html#output">MIDI Output</a> &nbsp;&nbsp; <a class="el" href="index.html#input">MIDI Input</a> &nbsp;&nbsp; <a class="el" href="index.html#virtual">Virtual Ports</a> &nbsp;&nbsp; <a class="el" href="index.html#compiling">Compiling</a> &nbsp;&nbsp; <a class="el" href="index.html#debug">Debugging</a> &nbsp;&nbsp; <a class="el" href="index.html#multi">Using Simultaneous Multiple APIs</a> &nbsp;&nbsp; <a class="el" href="index.html#apinotes">API Notes</a> &nbsp;&nbsp; <a class="el" href="index.html#acknowledge">Acknowledgements</a> &nbsp;&nbsp; <a class="el" href="index.html#license">License</a></center><h2><a class="anchor" id="intro">
<h1>The <a class="el" href="classRtMidi.html" title="An abstract base class for realtime MIDI input/output.">RtMidi</a> Tutorial </h1><h3 class="version">2.0.1 </h3><center><a class="el" href="index.html#intro">Introduction</a> &nbsp;&nbsp; <a class="el" href="index.html#download">Download</a> &nbsp;&nbsp; <a class="el" href="index.html#start">Getting Started</a> &nbsp;&nbsp; <a class="el" href="index.html#error">Error Handling</a> &nbsp;&nbsp; <a class="el" href="index.html#probing">Probing Ports</a> &nbsp;&nbsp; <a class="el" href="index.html#output">MIDI Output</a> &nbsp;&nbsp; <a class="el" href="index.html#input">MIDI Input</a> &nbsp;&nbsp; <a class="el" href="index.html#virtual">Virtual Ports</a> &nbsp;&nbsp; <a class="el" href="index.html#compiling">Compiling</a> &nbsp;&nbsp; <a class="el" href="index.html#debug">Debugging</a> &nbsp;&nbsp; <a class="el" href="index.html#multi">Using Simultaneous Multiple APIs</a> &nbsp;&nbsp; <a class="el" href="index.html#apinotes">API Notes</a> &nbsp;&nbsp; <a class="el" href="index.html#acknowledge">Acknowledgements</a> &nbsp;&nbsp; <a class="el" href="index.html#license">License</a></center><h2><a class="anchor" id="intro">
Introduction</a></h2>
<p><a class="el" href="classRtMidi.html" title="An abstract base class for realtime MIDI input/output.">RtMidi</a> is a set of C++ classes (<a class="el" href="classRtMidiIn.html" title="A realtime MIDI input class.">RtMidiIn</a>, <a class="el" href="classRtMidiOut.html" title="A realtime MIDI output class.">RtMidiOut</a> and API-specific classes) that provides a common API (Application Programming Interface) for realtime MIDI input/output across Linux (ALSA &amp; Jack), Macintosh OS X (CoreMidi &amp; Jack), and Windows (Multimedia Library &amp; Kernel Streaming) operating systems. <a class="el" href="classRtMidi.html" title="An abstract base class for realtime MIDI input/output.">RtMidi</a> significantly simplifies the process of interacting with computer MIDI hardware and software. It was designed with the following goals:</p>
<ul>
@@ -29,7 +29,7 @@ What's New (Version 2.0)</a></h2>
<p>No incompatable API changes were made in version 2.0, however, support for multiple compiled APIs (where available) was added (see <a class="el" href="index.html#multi">Using Simultaneous Multiple APIs</a>). Other changes include: 1. Added Windows Kernel Streaming support (thanks to Sebastien Alaiwan), though not tested in Visual Studio (and timestamping is not implemented); and 2. Support for the IRIX (SGI) operating system was discontinued.</p>
<h2><a class="anchor" id="download">
Download</a></h2>
<p>Latest Release (18 June 2012): <a href="http://www.music.mcgill.ca/~gary/rtmidi/release/rtmidi-2.0.0.tar.gz">Version 2.0.0</a></p>
<p>Latest Release (26 July 2012): <a href="http://www.music.mcgill.ca/~gary/rtmidi/release/rtmidi-2.0.1.tar.gz">Version 2.0.1</a></p>
<h2><a class="anchor" id="start">
Getting Started</a></h2>
<p>The first thing that must be done when using <a class="el" href="classRtMidi.html" title="An abstract base class for realtime MIDI input/output.">RtMidi</a> is to create an instance of the <a class="el" href="classRtMidiIn.html" title="A realtime MIDI input class.">RtMidiIn</a> or <a class="el" href="classRtMidiOut.html" title="A realtime MIDI output class.">RtMidiOut</a> subclasses. <a class="el" href="classRtMidi.html" title="An abstract base class for realtime MIDI input/output.">RtMidi</a> is an abstract base class, which itself cannot be instantiated. Each default constructor attempts to establish any necessary "connections" with the underlying MIDI system. <a class="el" href="classRtMidi.html" title="An abstract base class for realtime MIDI input/output.">RtMidi</a> uses C++ exceptions to report errors, necessitating try/catch blocks around many member functions. An <a class="el" href="classRtError.html" title="Exception handling class for RtAudio &amp; RtMidi.">RtError</a> can be thrown during instantiation in some circumstances. A warning message may also be reported if no MIDI devices are found during instantiation. The <a class="el" href="classRtMidi.html" title="An abstract base class for realtime MIDI input/output.">RtMidi</a> classes have been designed to work with "hot pluggable" or virtual (software) MIDI devices, making it possible to connect to MIDI devices that may not have been present when the classes were instantiated. The following code example demonstrates default object construction and destruction:</p>
@@ -302,11 +302,11 @@ Compiling</a></h2>
<tr bgcolor="beige">
<td width="5%"><b>OS:</b> </td><td width="5%"><b>MIDI API:</b> </td><td width="5%"><b>Preprocessor Definition:</b> </td><td width="5%"><b>Library or Framework:</b> </td><td><b>Example Compiler Statement:</b> </td></tr>
<tr>
<td>Linux </td><td>ALSA Sequencer </td><td>__LINUX_ALSASEQ__ </td><td><code>asound, pthread</code> </td><td><code>g++ -Wall -D__LINUX_ALSASEQ__ -o midiprobe midiprobe.cpp RtMidi.cpp -lasound -lpthread</code> </td></tr>
<td>Linux </td><td>ALSA Sequencer </td><td>__LINUX_ALSA__ </td><td><code>asound, pthread</code> </td><td><code>g++ -Wall -D__LINUX_ALSA__ -o midiprobe midiprobe.cpp RtMidi.cpp -lasound -lpthread</code> </td></tr>
<tr>
<td>Linux or Mac </td><td>Jack MIDI </td><td>__UNIX_JACK__ </td><td><code>jack</code> </td><td><code>g++ -Wall -D__UNIX_JACK__ -o midiprobe midiprobe.cpp RtMidi.cpp -ljack</code> </td></tr>
<tr>
<td>Macintosh OS X </td><td>CoreMidi </td><td>__MACOSX_CORE__ </td><td><code>CoreMidi, CoreAudio, CoreFoundation</code> </td><td><code>g++ -Wall -D__MACOSX_CORE__ -o midiprobe midiprobe.cpp RtMidi.cpp -framework CoreMidi -framework CoreAudio -framework CoreFoundation</code> </td></tr>
<td>Macintosh OS X </td><td>CoreMidi </td><td>__MACOSX_CORE__ </td><td><code>CoreMidi, CoreAudio, CoreFoundation</code> </td><td><code>g++ -Wall -D__MACOSX_CORE__ -o midiprobe midiprobe.cpp RtMidi.cpp -framework CoreMIDI -framework CoreAudio -framework CoreFoundation</code> </td></tr>
<tr>
<td>Windows </td><td>Multimedia Library </td><td>__WINDOWS_MM__ </td><td><code>winmm.lib, multithreaded</code> </td><td><em>compiler specific</em> </td></tr>
<tr>

c++/carla-backend/rtmidi-2.0.0/doc/html/structMidiInApi_1_1MidiMessage-members.html → c++/carla-backend/rtmidi-2.0.1/doc/html/structMidiInApi_1_1MidiMessage-members.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/structMidiInApi_1_1MidiMessage.html → c++/carla-backend/rtmidi-2.0.1/doc/html/structMidiInApi_1_1MidiMessage.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/structMidiInApi_1_1MidiQueue-members.html → c++/carla-backend/rtmidi-2.0.1/doc/html/structMidiInApi_1_1MidiQueue-members.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/structMidiInApi_1_1MidiQueue.html → c++/carla-backend/rtmidi-2.0.1/doc/html/structMidiInApi_1_1MidiQueue.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/structMidiInApi_1_1RtMidiInData-members.html → c++/carla-backend/rtmidi-2.0.1/doc/html/structMidiInApi_1_1RtMidiInData-members.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/structMidiInApi_1_1RtMidiInData.html → c++/carla-backend/rtmidi-2.0.1/doc/html/structMidiInApi_1_1RtMidiInData.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/structRtMidiIn_1_1MidiMessage-members.html → c++/carla-backend/rtmidi-2.0.1/doc/html/structRtMidiIn_1_1MidiMessage-members.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/structRtMidiIn_1_1MidiMessage.html → c++/carla-backend/rtmidi-2.0.1/doc/html/structRtMidiIn_1_1MidiMessage.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/structRtMidiIn_1_1MidiQueue-members.html → c++/carla-backend/rtmidi-2.0.1/doc/html/structRtMidiIn_1_1MidiQueue-members.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/structRtMidiIn_1_1MidiQueue.html → c++/carla-backend/rtmidi-2.0.1/doc/html/structRtMidiIn_1_1MidiQueue.html View File


c++/carla-backend/rtmidi-2.0.0/doc/html/structRtMidiIn_1_1RtMidiInData-members.html → c++/carla-backend/rtmidi-2.0.1/doc/html/structRtMidiIn_1_1RtMidiInData-members.html View File


Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save