Skip to content

Commit

Permalink
Version and documentation updates in advance of 3.0.0 release.
Browse files Browse the repository at this point in the history
  • Loading branch information
garyscavone committed Aug 31, 2017
1 parent 81e31f9 commit 41f80e6
Show file tree
Hide file tree
Showing 8 changed files with 32 additions and 19 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

A set of C++ classes that provide a common API for realtime MIDI input/output across Linux (ALSA & JACK), Macintosh OS X (CoreMidi & JACK) and Windows (Multimedia).

By Gary P. Scavone, 2003-2016.
By Gary P. Scavone, 2003-2017.

This distribution of RtMidi contains the following:

Expand Down Expand Up @@ -36,7 +36,7 @@ For complete documentation on RtMidi, see the doc directory of the distribution
The RtMidi license is similar to the MIT License, with the added *feature* that modifications be sent to the developer.

RtMidi: realtime MIDI i/o C++ classes
Copyright (c) 2003-2016 Gary P. Scavone
Copyright (c) 2003-2017 Gary P. Scavone

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation files
Expand Down
2 changes: 1 addition & 1 deletion RtMidi.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
RtMidi WWW site: http://music.mcgill.ca/~gary/rtmidi/
RtMidi: realtime MIDI i/o C++ classes
Copyright (c) 2003-2016 Gary P. Scavone
Copyright (c) 2003-2017 Gary P. Scavone
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation files
Expand Down
8 changes: 4 additions & 4 deletions RtMidi.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
RtMidi WWW site: http://music.mcgill.ca/~gary/rtmidi/
RtMidi: realtime MIDI i/o C++ classes
Copyright (c) 2003-2016 Gary P. Scavone
Copyright (c) 2003-2017 Gary P. Scavone
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation files
Expand Down Expand Up @@ -43,7 +43,7 @@
#ifndef RTMIDI_H
#define RTMIDI_H

#define RTMIDI_VERSION "2.1.1"
#define RTMIDI_VERSION "3.0.0"

#include <exception>
#include <iostream>
Expand Down Expand Up @@ -189,7 +189,7 @@ class RtMidi
possible to open a virtual input port to which other MIDI software
clients can connect.
by Gary P. Scavone, 2003-2014.
by Gary P. Scavone, 2003-2017.
*/
/**********************************************************************/

Expand Down Expand Up @@ -350,7 +350,7 @@ class RtMidiIn : public RtMidi
OS-X, Linux ALSA and JACK MIDI APIs, it is also possible to open a
virtual port to which other MIDI software clients can connect.
by Gary P. Scavone, 2003-2014.
by Gary P. Scavone, 2003-2017.
*/
/**********************************************************************/

Expand Down
4 changes: 2 additions & 2 deletions configure.ac
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Process this file with autoconf to produce a configure script.
AC_INIT(RtMidi, 2.1.1, [email protected], rtmidi)
AC_INIT(RtMidi, 3.0.0, [email protected], rtmidi)
AC_CONFIG_AUX_DIR(config)
AC_CONFIG_SRCDIR(RtMidi.cpp)
AC_CONFIG_FILES([rtmidi-config rtmidi.pc Makefile tests/Makefile doc/Makefile doc/doxygen/Doxyfile])
Expand All @@ -18,7 +18,7 @@ AM_INIT_AUTOMAKE([1.14 -Wall -Werror foreign subdir-objects])
#
# If any interfaces have been removed since the last public release, then set
# age to 0.
m4_define([lt_current], 3)
m4_define([lt_current], 4)
m4_define([lt_revision], 0)
m4_define([lt_age], 0)

Expand Down
2 changes: 1 addition & 1 deletion doc/doxygen/Doxyfile.in
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ PROJECT_NAME = RtMidi
# This could be handy for archiving the generated documentation or
# if some version control system is used.

PROJECT_NUMBER = @PACKAGE_VERSION
PROJECT_NUMBER = @PACKAGE_VERSION@

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer
Expand Down
2 changes: 1 addition & 1 deletion doc/doxygen/footer.html
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<HR>

<table><tr><td><img src="../images/mcgill.gif" width=165></td>
<td>&copy;2003-2016 Gary P. Scavone, McGill University. All Rights Reserved.<br>
<td>&copy;2003-2017 Gary P. Scavone, McGill University. All Rights Reserved.<br>
Maintained by Gary P. Scavone, gary at music.mcgill.ca</td></tr>
</table>

Expand Down
20 changes: 13 additions & 7 deletions doc/doxygen/tutorial.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,19 @@ Where applicable, multiple API support can be compiled and a particular API spec

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 \c double floating point type). MIDI data is passed to the user as raw bytes using an std::vector<unsigned char>.

\section whatsnew What's New (Version 2.1.1)
\section whatsnew What's New (Version 3.0.0)

There were no API changes made in the current release. The primary changes involved updates to the build system and some small bug fixes. With respect to the previous release (2.1.0), a minor API change was made. The RtError class was renamed RtMidiError and embedded directly in RtMidi.h. Thus, all references to RtError should be renamed to RtMidiError and the RtError.h file should be deleted. The Windows Kernel Streaming code was moved to a separate branch because it was uncompilable and incomplete.
The version number has been bumped to 3.0.0 because of the past API change concerning the renaming of the RtError class to RtMidiError. Changes in this release include:

- see git history for complete list of changes
- new sendMessage() function that does not use std::vector
- various std::string updates, including use of UTF8 for port names
- fixes for the MIDI queue
- various build system updates and code efficiencies

\section download Download

Latest Release (11 February 2016): <A href="http://www.music.mcgill.ca/~gary/rtmidi/release/rtmidi-2.1.1.tar.gz">Version 2.1.1</A>
Latest Release (31 August 2017): <A href="http://www.music.mcgill.ca/~gary/rtmidi/release/rtmidi-3.0.0.tar.gz">Version 3.0.0</A>

\section start Getting Started

Expand Down Expand Up @@ -124,7 +130,7 @@ int main()

\section output MIDI Output

The RtMidiOut class provides simple functionality to immediately send messages over a MIDI connection. No timing functionality is provided.
The RtMidiOut class provides simple functionality to immediately send messages over a MIDI connection. No timing functionality is provided. Note that there is an overloaded RtMidiOut::sendMessage() function that does not use std::vectors.

In the following example, we omit necessary error checking and details regarding OS-dependent sleep functions. For a complete example, see the \c midiout.cpp program in the \c tests directory.

Expand Down Expand Up @@ -310,7 +316,7 @@ int main()

\section virtual Virtual Ports

The Linux ALSA, Macintosh CoreMIDI and JACK APIs allow for the establishment of virtual input and output MIDI ports to which other software clients can connect. RtMidi incorporates this functionality with the RtMidiIn::openVirtualPort() and RtMidiOut::openVirtualPort() functions. Any messages sent with the RtMidiOut::sendMessage() function will also be transmitted through an open virtual output port. If a virtual input port is open and a user callback function is set, the callback function will be invoked when messages arrive via that port. If a callback function is not set, the user must poll the input queue to check whether messages have arrived. No notification is provided for the establishment of a client connection via a virtual port.
The Linux ALSA, Macintosh CoreMIDI and JACK APIs allow for the establishment of virtual input and output MIDI ports to which other software clients can connect. RtMidi incorporates this functionality with the RtMidiIn::openVirtualPort() and RtMidiOut::openVirtualPort() functions. Any messages sent with the RtMidiOut::sendMessage() function will also be transmitted through an open virtual output port. If a virtual input port is open and a user callback function is set, the callback function will be invoked when messages arrive via that port. If a callback function is not set, the user must poll the input queue to check whether messages have arrived. No notification is provided for the establishment of a client connection via a virtual port. The RtMidi::isPortOpen() function does not report the status of ports created with the RtMidi::openVirtualPort() function.

\section compiling Compiling

Expand Down Expand Up @@ -396,7 +402,7 @@ RtMidi is on github (https://github.com/thestk/rtmidi). Many thanks to the deve

In years past, the following people provided bug fixes and improvements:

- Stephen Sinclair (Git repo and build system)
- Stephen Sinclair (Git repo, code and build system)
- Atsushi Eno (C API)
- Sebastien Alaiwan (JACK memory leaks, Windows kernel streaming)
- Jean-Baptiste Berruchon (Windows sysex code)
Expand All @@ -419,7 +425,7 @@ In years past, the following people provided bug fixes and improvements:
\section license License

RtMidi: realtime MIDI i/o C++ classes<BR>
Copyright (c) 2003-2016 Gary P. Scavone
Copyright (c) 2003-2017 Gary P. Scavone

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation files
Expand Down
9 changes: 8 additions & 1 deletion doc/release.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
RtMidi - a set of C++ classes that provides a common API for realtime MIDI input/output across Linux (ALSA & JACK), Macintosh OS X (CoreMidi & JACK), and Windows (Multimedia Library).

By Gary P. Scavone, 2003-2016
By Gary P. Scavone, 2003-2017 (with help from many others!)

v.3.0.0: (31 August 2017)
- see git history for complete list of changes
- new sendMessage() function that does not use std::vector
- various std::string updates, including use of UTF8 for port names
- fixes for the MIDI queue
- various build system updates and code efficiencies

v2.1.1: (11 February 2016)
- updates to automake routines
Expand Down

0 comments on commit 41f80e6

Please sign in to comment.