From ad56d8e1364bc3d4707a574ad736239f5308cedd Mon Sep 17 00:00:00 2001 From: Gary Scavone Date: Fri, 11 Oct 2013 15:33:47 +0200 Subject: Release 1.0.9 tarball --- doc/html/RtMidi_8h-source.html | 2 +- doc/html/index.html | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/doc/html/RtMidi_8h-source.html b/doc/html/RtMidi_8h-source.html index e1b5485..b013a4e 100644 --- a/doc/html/RtMidi_8h-source.html +++ b/doc/html/RtMidi_8h-source.html @@ -11,7 +11,7 @@

RtMidi.h

00001 /**********************************************************************/
 00036 /**********************************************************************/
 00037 
-00038 // RtMidi: Version 1.0.8
+00038 // RtMidi: Version 1.0.9
 00039 
 00040 #ifndef RTMIDI_H
 00041 #define RTMIDI_H
diff --git a/doc/html/index.html b/doc/html/index.html
index 8dd1545..6079cf4 100644
--- a/doc/html/index.html
+++ b/doc/html/index.html
@@ -11,7 +11,7 @@
 

The RtMidi Tutorial

-

1.0.8

Introduction    Download    Getting Started    Error Handling    Probing Ports    MIDI Output    MIDI Input    Virtual Ports    Compiling    Debugging    API Notes    Acknowledgements    License

+

1.0.9

Introduction    Download    Getting Started    Error Handling    Probing Ports    MIDI Output    MIDI Input    Virtual Ports    Compiling    Debugging    API Notes    Acknowledgements    License

Introduction

RtMidi is a set of C++ classes (RtMidiIn and RtMidiOut) that provides a common API (Application Programming Interface) for realtime MIDI input/output across Linux (ALSA), Macintosh OS X, SGI, and Windows (Multimedia Library) operating systems. RtMidi significantly simplifies the process of interacting with computer MIDI hardware and software. It was designed with the following goals:

    @@ -27,7 +27,7 @@ MIDI device enumeration

    MIDI input and output functionality are separated into two classes, RtMidiIn and RtMidiOut. Each class instance supports only a single MIDI connection. RtMidi does not provide timing functionality (i.e., output messages are sent immediately). Input messages are timestamped with delta times in seconds (via a double floating point type). MIDI data is passed to the user as raw bytes using an std::vector<unsigned char>.

    Download

    -Latest Release (29 January 2009): Version 1.0.8

    +Latest Release (30 April 2009): Version 1.0.9

    Getting Started

    The first thing that must be done when using RtMidi is to create an instance of the RtMidiIn or RtMidiOut subclasses. RtMidi is an abstract base class, which itself cannot be instantiated. Each default constructor attempts to establish any necessary "connections" with the underlying MIDI system. RtMidi uses C++ exceptions to report errors, necessitating try/catch blocks around many member functions. An RtError can be thrown during instantiation in some circumstances. A warning message may also be reported if no MIDI devices are found during instantiation. The RtMidi 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:

    #include "RtMidi.h"
    @@ -51,7 +51,7 @@ The first thing that must be done when using RtMidi. However, all uses of RtMidi must begin with construction and must end with class destruction. Further, it is necessary that all class methods that can throw a C++ exception be called within a try/catch block.

    Error Handling

    -RtMidi uses a C++ exception handler called RtError, which is declared and defined in RtError.h. The RtError class is quite simple but it does allow errors to be "caught" by RtError::Type. Many RtMidi methods can "throw" an RtError, most typically if a driver error occurs or an invalid function argument is specified. There are a number of cases within RtMidi where warning messages may be displayed but an exception is not thrown. There is a protected RtMidi method, error(), that can be modified to globally control how these messages are handled and reported. By default, error messages are not automatically displayed in RtMidi unless the preprocessor definition __RTMIDI_DEBUG__ is defined. Messages associated with caught exceptions can be displayed with, for example, the RtError::printMessage() function.

    +RtMidi uses a C++ exception handler called RtError, which is declared and defined in RtError.h. The RtError class is quite simple but it does allow errors to be "caught" by RtError::Type. Many RtMidi methods can "throw" an RtError, most typically if a driver error occurs or an invalid function argument is specified. There are a number of cases within RtMidi where warning messages may be displayed but an exception is not thrown. There is a protected RtMidi method, error(), that can be modified to globally control how these messages are handled and reported. By default, error messages are not automatically displayed in RtMidi unless the preprocessor definition __RTMIDI_DEBUG__ is defined during compilation. Messages associated with caught exceptions can be displayed with, for example, the RtError::printMessage() function.

    Probing Ports

    A programmer may wish to query the available MIDI ports before deciding which to use. The following example outlines how this can be done.

    // midiprobe.cpp
    @@ -307,7 +307,7 @@ In order to compile RtMidi.h, RtError.h, and RtMidi.cpp all exist in the same directory.

    Debugging

    -If you are having problems getting RtMidi to run on your system, try passing the preprocessor definition __RTMIDI_DEBUG__ to the compiler (or uncomment the definition at the bottom of RtMidi.h). A variety of warning messages will be displayed that may help in determining the problem. Also try using the programs included in the test directory. The program midiprobe displays the queried capabilities of all MIDI ports found.

    +If you are having problems getting RtMidi to run on your system, try passing the preprocessor definition __RTMIDI_DEBUG__ to the compiler (or define it in RtMidi.h). A variety of warning messages will be displayed that may help in determining the problem. Also try using the programs included in the test directory. The program midiprobe displays the queried capabilities of all MIDI ports found.

    API Notes

    RtMidi is designed to provide a common API across the various supported operating systems and audio libraries. Despite that, some issues should be mentioned with regard to each.

    Linux:

    @@ -326,6 +326,8 @@ Many thanks to the following people for providing bug fixes and improvements: Pedro Lopez-Cabanillas (ALSA sequencer API, client naming)
  • +Casey Tucker (OS-X driver information)
  • +
  • Eduardo Coutinho (Windows device names)
  • Jean-Baptiste Berruchon (Windows sysex code)
  • -- cgit v1.2.3