diff --git a/README.md b/README.md index 8289812b..8793a2c3 100644 --- a/README.md +++ b/README.md @@ -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: @@ -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 diff --git a/RtMidi.cpp b/RtMidi.cpp index eb7955f5..fb16ac4a 100644 --- a/RtMidi.cpp +++ b/RtMidi.cpp @@ -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 diff --git a/RtMidi.h b/RtMidi.h index 6f5bc966..495e0881 100644 --- a/RtMidi.h +++ b/RtMidi.h @@ -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 @@ -57,7 +58,7 @@ #endif #endif -#define RTMIDI_VERSION "3.0.0" +#define RTMIDI_VERSION "4.0.0" #include #include diff --git a/configure.ac b/configure.ac index 99f73aec..6e7f1d80 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ # Process this file with autoconf to produce a configure script. -AC_INIT(RtMidi, 3.0.0, gary@music.mcgill.ca, rtmidi) +AC_INIT(RtMidi, 4.0.0, gary@music.mcgill.ca, 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]) @@ -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) diff --git a/doc/doxygen/footer.html b/doc/doxygen/footer.html index 684f5cf5..e27e853b 100644 --- a/doc/doxygen/footer.html +++ b/doc/doxygen/footer.html @@ -1,7 +1,7 @@
-
©2003-2017 Gary P. Scavone, McGill University. All Rights Reserved.
+
©2003-2019 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone, gary at music.mcgill.ca
diff --git a/doc/doxygen/tutorial.txt b/doc/doxygen/tutorial.txt index 93e8bdb2..275141c3 100644 --- a/doc/doxygen/tutorial.txt +++ b/doc/doxygen/tutorial.txt @@ -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. -\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): Version 3.0.0 +Latest Release (17 April 2019): Version 4.0.0 \section start Getting Started @@ -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 @@ -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ölnig \section license License 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 diff --git a/doc/release.txt b/doc/release.txt index c1a2c4ea..921b8531 100644 --- a/doc/release.txt +++ b/doc/release.txt @@ -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