Skip to content

Commit

Permalink
Documentation and version numbering in preparation for release 4.0.0.
Browse files Browse the repository at this point in the history
  • Loading branch information
garyscavone committed Apr 18, 2019
1 parent 6322abb commit cc88719
Show file tree
Hide file tree
Showing 7 changed files with 57 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-2017.
By Gary P. Scavone, 2003-2019.

This distribution of RtMidi contains the following:

Expand Down Expand Up @@ -39,7 +39,7 @@ For complete documentation on RtMidi, see the `doc` directory of the distributio
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-2017 Gary P. Scavone
Copyright (c) 2003-2019 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
5 changes: 3 additions & 2 deletions RtMidi.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,11 @@
This class implements some common functionality for the realtime
MIDI input/output subclasses RtMidiIn and RtMidiOut.
RtMidi WWW site: http://music.mcgill.ca/~gary/rtmidi/
RtMidi GitHub site: https://github.com/thestk/rtmidi
RtMidi WWW site: http://www.music.mcgill.ca/~gary/rtmidi/
RtMidi: realtime MIDI i/o C++ classes
Copyright (c) 2003-2017 Gary P. Scavone
Copyright (c) 2003-2019 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
7 changes: 4 additions & 3 deletions RtMidi.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,11 @@
This class implements some common functionality for the realtime
MIDI input/output subclasses RtMidiIn and RtMidiOut.
RtMidi WWW site: http://music.mcgill.ca/~gary/rtmidi/
RtMidi GitHub site: https://github.com/thestk/rtmidi
RtMidi WWW site: http://www.music.mcgill.ca/~gary/rtmidi/
RtMidi: realtime MIDI i/o C++ classes
Copyright (c) 2003-2017 Gary P. Scavone
Copyright (c) 2003-2019 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 @@ -57,7 +58,7 @@
#endif
#endif

#define RTMIDI_VERSION "3.0.0"
#define RTMIDI_VERSION "4.0.0"

#include <exception>
#include <iostream>
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, 3.0.0, [email protected], rtmidi)
AC_INIT(RtMidi, 4.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], 4)
m4_define([lt_current], 5)
m4_define([lt_revision], 0)
m4_define([lt_age], 0)

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-2017 Gary P. Scavone, McGill University. All Rights Reserved.<br>
<td>&copy;2003-2019 Gary P. Scavone, McGill University. All Rights Reserved.<br>
Maintained by Gary P. Scavone, gary at music.mcgill.ca</td></tr>
</table>

Expand Down
42 changes: 34 additions & 8 deletions doc/doxygen/tutorial.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,22 @@ 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 3.0.0)
\section whatsnew What's New (Version 4.0.0)

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:
The version number has been bumped to 4.0.0 because of some new functions added to the API and because some private class definitions were moved out of the header file. 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
- updates to test programs to clarify port numbering
- new C API wrapper
- new functions to get API names
- miscellaneous sysex fixes in Jack and ALSA
- new setPortName() method (for Jack and ALSA)
- new setClientName() method (for ALSA)
- various build system updates and code efficiencies

\section download Download

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>
Latest Release (17 April 2019): <A href="http://www.music.mcgill.ca/~gary/rtmidi/release/rtmidi-4.0.0.tar.gz">Version 4.0.0</A>

\section start Getting Started

Expand Down Expand Up @@ -128,7 +131,7 @@ int main()
}
\endcode

Note that the port enumeration is system specific and will change if any devices are unplugged or plugged (or a new virtual port opened or closed) by the user. Thus, the port numbers should be verified immediately before opening a stream. As well, if a user unplugs a device (or closes a virtual port) while a port connection exists to that device/port, a MIDI system error will be generated.
Note that the port enumeration is system specific and will change if any devices are unplugged or plugged (or a new virtual port opened or closed) by the user. Thus, the port numbers should be verified immediately before opening a port. As well, if a user unplugs a device (or closes a virtual port) while a port connection exists to that device/port, a MIDI system error will be generated.

\section output MIDI Output

Expand Down Expand Up @@ -405,29 +408,52 @@ 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, code and build system)
- amosonn
- Christopher Arndt
- Atsushi Eno (C API)
- Sebastien Alaiwan (JACK memory leaks, Windows kernel streaming)
- Jean-Baptiste Berruchon (Windows sysex code)
- Pedro Lopez-Cabanillas (ALSA sequencer API, client naming)
- Jason Champion (MSW project file for library build)
- Chris Chronopoulos
- JP Cimalando
- Eduardo Coutinho (Windows device names)
- Mattes D
- Michael Dahl
- Paul Dean (increment optimization)
- Francisco Demartino
- Luc Deschenaux (sysex issues)
- John Dey (OS-X timestamps)
- Christoph Eckert (ALSA sysex fixes)
- Thiago Goulart
- Ashley Hedges
- Sam Hocevar
- Rorey Jaffe
- jgvictores
- Martin Koegler (various fixes)
- Immanuel Litzroth (OS-X sysex fix)
- Bartek Lukawski
- Andi McClure
- Jon McCormack (Snow Leopard updates)
- Phildo
- Lane Spangler
- Axel Schmidt (client naming)
- Ryan Schmidt
- Saga Musix
- Bart Spaans
- Alexander Svetalkin (JACK MIDI)
- Ben Swift
- Casey Tucker (OS-X driver information, sysex sending)
- Bastiaan Verreijt (Windows sysex multi-buffer code)
- Dan Wilcox
- Yuri
- Serge Zaitsev
- Iohannes Zm&ouml;lnig

\section license License

RtMidi: realtime MIDI i/o C++ classes<BR>
Copyright (c) 2003-2017 Gary P. Scavone
Copyright (c) 2003-2019 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
12 changes: 11 additions & 1 deletion doc/release.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
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-2017 (with help from many others!)
By Gary P. Scavone, 2003-2019 (with help from many others!)

v.4.0.0: (17 April 2019)
- see git history for complete list of changes
- updates to test programs to clarify port numbering
- new C API wrapper
- new functions to get API names
- miscellaneous sysex fixes in Jack and ALSA
- new setPortName() method (for Jack and ALSA)
- new setClientName() method (for ALSA)
- various build system updates and code efficiencies

v.3.0.0: (31 August 2017)
- see git history for complete list of changes
Expand Down

0 comments on commit cc88719

Please sign in to comment.