Comparing version 0.7.1 to 0.8.0
# node-midi Changelog | ||
## Version 0.8.0 | ||
* Update RtMidi to latest upstream. (Andrew Morton) | ||
* Added missing MIDI Clock event case. (Hugo Hromic) | ||
* Upgraded RtMidi library to version 2.0.1. (Hugo Hromic) | ||
## Version 0.7.1 | ||
@@ -4,0 +10,0 @@ |
{ | ||
"name": "midi", | ||
"version": "v0.7.1", | ||
"version": "v0.8.0", | ||
"scripts": { | ||
@@ -27,2 +27,4 @@ "test": "node test/virtual-loopback-test-automated.js" | ||
"email": "malyn@strangegizmo.com" | ||
}, { | ||
"name": "Hugo Hromic" | ||
} | ||
@@ -29,0 +31,0 @@ ], |
@@ -176,2 +176,3 @@ ♪ ♫ ♩ ♬ | ||
* Michael Alyn Miller - [@malyn](https://github.com/malyn) | ||
* Hugo Hromic - [@hhromic](https://github.com/hhromic) | ||
@@ -178,0 +179,0 @@ ## License |
/*! \mainpage The RtMidi Tutorial | ||
<CENTER>\ref intro \ref download \ref start \ref error \ref probing \ref output \ref input \ref virtual \ref compiling \ref debug \ref apinotes \ref acknowledge \ref license</CENTER> | ||
<CENTER>\ref intro \ref download \ref start \ref error \ref probing \ref output \ref input \ref virtual \ref compiling \ref debug \ref multi \ref apinotes \ref acknowledge \ref license</CENTER> | ||
\section intro 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 & Jack), Macintosh OS X, Windows (Multimedia Library), and SGI operating systems. RtMidi significantly simplifies the process of interacting with computer MIDI hardware and software. It was designed with the following goals: | ||
RtMidi is a set of C++ classes (RtMidiIn, RtMidiOut and API-specific classes) that provides a common API (Application Programming Interface) for realtime MIDI input/output across Linux (ALSA & Jack), Macintosh OS X (CoreMidi & Jack), and Windows (Multimedia Library & Kernel Streaming) operating systems. RtMidi significantly simplifies the process of interacting with computer MIDI hardware and software. It was designed with the following goals: | ||
@@ -16,7 +16,13 @@ <UL> | ||
Where applicable, multiple API support can be compiled and a particular API specified when creating an RtAudio instance. | ||
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.0) | ||
No incompatable API changes were made in version 2.0, however, support for multiple compiled APIs (where available) was added (see \ref multi). 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. | ||
\section download Download | ||
Latest Release (11 August 2011): <A href="http://www.music.mcgill.ca/~gary/rtmidi/release/rtmidi-1.0.15.tar.gz">Version 1.0.15</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> | ||
@@ -348,12 +354,12 @@ \section start Getting Started | ||
<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</TD> | ||
<TD>Linux or Mac</TD> | ||
<TD>Jack MIDI</TD> | ||
<TD>__LINUX_JACK__</TD> | ||
<TD>__UNIX_JACK__</TD> | ||
<TD><TT>jack</TT></TD> | ||
<TD><TT>g++ -Wall -D__LINUX_JACK__ -o midiprobe midiprobe.cpp RtMidi.cpp -ljack</TT></TD> | ||
<TD><TT>g++ -Wall -D__UNIX_JACK__ -o midiprobe midiprobe.cpp RtMidi.cpp -ljack</TT></TD> | ||
</TR> | ||
@@ -365,12 +371,5 @@ <TR> | ||
<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>Irix</TD> | ||
<TD>MD</TD> | ||
<TD>__IRIX_MD__</TD> | ||
<TD><TT>md, pthread</TT></TD> | ||
<TD><TT>CC -Wall -D__IRIX_MD__ -o midiprobe midiprobe.cpp RtMidi.cpp -laudio -lpthread</TT></TD> | ||
</TR> | ||
<TR> | ||
<TD>Windows</TD> | ||
@@ -382,2 +381,9 @@ <TD>Multimedia Library</TD> | ||
</TR> | ||
<TR> | ||
<TD>Windows</TD> | ||
<TD>Kernel Streaming</TD> | ||
<TD>__WINDOWS_KS__</TD> | ||
<TD><TT>ks.h, ksmedia.h, setupapi.lib, ksuser.lib, multithreaded</TT></TD> | ||
<TD><I>compiler specific</I></TD> | ||
</TR> | ||
</TABLE> | ||
@@ -392,2 +398,8 @@ <P> | ||
\section multi Using Simultaneous Multiple APIs | ||
Support for each MIDI API is encapsulated in specific MidiInApi or MidiOutApi subclasses, making it possible to compile and instantiate multiple API-specific subclasses on a given operating system. For example, one can compile both the CoreMIDI and Jack support on the OS-X operating system by providing the appropriate preprocessor definitions for each. In a run-time situation, one might first attempt to determine whether any Jack ports are available. This can be done by specifying the api argument RtMidi::UNIX_JACK when attempting to create an instance of RtMidiIn or RtMidiOut. If no available ports are found, then an instance of RtMidi with the api argument RtMidi::MACOSX_CORE can be created. Alternately, if no api argument is specified, RtMidi will first look for CoreMIDI ports and if none are found, then Jack ports (in linux, the search order is ALSA and then Jack; in windows, the search order is WinMM and then WinKS). In theory, it should also be possible to have separate instances of RtMidi open at the same time with different underlying API support, though this has not been tested. | ||
The static function RtMidi::getCompiledApi() is provided to determine the available compiled API support. The function RtMidi::getCurrentApi() indicates the API selected for a given RtMidi instance. | ||
\section apinotes API Notes | ||
@@ -399,3 +411,3 @@ | ||
RtMidi for Linux was developed using the Fedora distribution. A decision was made to not include support for the OSS API because the OSS API provides such limited functionality and because <A href="http://www.alsa-project.org/">ALSA</A> support is now incorporated in the Linux kernel. RtMidi uses the ALSA sequencer API, which allows for virtual software input and output ports. | ||
RtMidi for Linux was developed using the Fedora distribution. Two different MIDI APIs are supported on Linux platforms: <A href="http://www.alsa-project.org/">ALSA</A> and <A href="http://jackit.sourceforge.net/">Jack</A>. A decision was made to not include support for the OSS API because the OSS API provides such limited functionality and because <A href="http://www.alsa-project.org/">ALSA</A> support is now incorporated in the Linux kernel. The ALSA sequencer and Jack APIs allows for virtual software input and output ports. | ||
@@ -406,6 +418,4 @@ \subsection macosx Macintosh OS X (CoreAudio): | ||
\subsection irix Irix (SGI): | ||
The RtMidi Jack support can be compiled on Macintosh OS-X systems, as well as in Linux. | ||
The Irix version of RtMidi was written and tested on an SGI Indy running Irix version 6.5.4 and the MD audio library. | ||
\subsection windowsds Windows (Multimedia Library): | ||
@@ -425,2 +435,3 @@ | ||
<UL> | ||
<LI>Sebastien Alaiwan (Jack memory leaks, Windows kernel streaming)</LI> | ||
<LI>Jean-Baptiste Berruchon (Windows sysex code)</LI> | ||
@@ -431,4 +442,6 @@ <LI>Pedro Lopez-Cabanillas (ALSA sequencer API, client naming)</LI> | ||
<LI>Paul Dean (increment optimization)</LI> | ||
<LI>Luc Deschenaux (sysex issues)</LI> | ||
<LI>John Dey (OS-X timestamps)</LI> | ||
<LI>Christoph Eckert (ALSA sysex fixes)</LI> | ||
<LI>Martin Koegler (various fixes)</LI> | ||
<LI>Immanuel Litzroth (OS-X sysex fix)</LI> | ||
@@ -440,2 +453,3 @@ <LI>Jon McCormack (Snow Leopard updates)</LI> | ||
<LI>Bastiaan Verreijt (Windows sysex multi-buffer code)</LI> | ||
<LI>Dan Wilcox</LI> | ||
</UL> | ||
@@ -446,3 +460,3 @@ | ||
RtMidi: realtime MIDI i/o C++ classes<BR> | ||
Copyright (c) 2003-2011 Gary P. Scavone | ||
Copyright (c) 2003-2012 Gary P. Scavone | ||
@@ -461,4 +475,5 @@ Permission is hereby granted, free of charge, to any person | ||
Any person wishing to distribute modifications to the Software is | ||
requested to send the modifications to the original developer so that | ||
they can be incorporated into the canonical version. | ||
asked to send the modifications to the original developer so that | ||
they can be incorporated into the canonical version. This is, | ||
however, not a binding provision of this license. | ||
@@ -465,0 +480,0 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
@@ -1,5 +0,21 @@ | ||
RtMidi - a set of C++ classes that provides a common API for realtime MIDI input/output across Linux (ALSA & Jack), Macintosh OS X (CoreMidi), Windows (Multimedia), and SGI operating systems. | ||
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). | ||
By Gary P. Scavone, 2003-2011. | ||
By Gary P. Scavone, 2003-2012 | ||
v2.0.2: (?? 2014) | ||
- fix to CoreMidi implementation to support dynamic port changes | ||
v2.0.1: (26 July 2012) | ||
- small fixes for problems reported by Chris Arndt (scoping, preprocessor, and include) | ||
v2.0.0: (18 June 2012) | ||
- revised structure to support multiple simultaneous compiled APIs | ||
- revised ALSA client hierarchy so subsequent instances share same client (thanks to Dan Wilcox) | ||
- added beta Windows kernel streaming support (thanks to Sebastien Alaiwan) | ||
- updates to compile as a shared library or dll | ||
- updated license | ||
- various memory-leak fixes (thanks to Sebastien Alaiwan and Martin Koegler | ||
- fix for continue sysex problem (thanks to Luc Deschenaux) | ||
- removed SGI (IRIX) support | ||
v1.0.15: (11 August 2011) | ||
@@ -6,0 +22,0 @@ - updates for wide character support in Windows |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
1203958
141
203