RtMidi.Core
1.0.53
dotnet add package RtMidi.Core --version 1.0.53
NuGet\Install-Package RtMidi.Core -Version 1.0.53
<PackageReference Include="RtMidi.Core" Version="1.0.53" />
<PackageVersion Include="RtMidi.Core" Version="1.0.53" />
<PackageReference Include="RtMidi.Core" />
paket add RtMidi.Core --version 1.0.53
#r "nuget: RtMidi.Core, 1.0.53"
#:package RtMidi.Core@1.0.53
#addin nuget:?package=RtMidi.Core&version=1.0.53
#tool nuget:?package=RtMidi.Core&version=1.0.53
RtMidi.Core
MIDI support on both Windows (64-bit or 32-bit) and Mac OS X (64-bit) for .Net Standard 2.0 with support for both input and output midi devices, and support the following midi messages:
- Channel Pressure
- Control Change
- Note On / Off
- Pitch Bend
- Polyphonic Key Pressure
- Program Change
- Non-Registered Parameter Number (NRPN) (used to send/receive 14-bit parameter and value)
- System Exclusive (SysEx)
See changelog for version history.
Example
// List all available MIDI API's
foreach (var api in MidiDeviceManager.Default.GetAvailableMidiApis())
Console.WriteLine($"Available API: {api}");
// Listen to all available midi devices
void ControlChangeHandler(IMidiInputDevice sender, in ControlChangeMessage msg)
{
Console.WriteLine($"[{sender.Name}] ControlChange: Channel:{msg.Channel} Control:{msg.Control} Value:{msg.Value}");
}
var devices = new List<IMidiInputDevice>();
try
{
foreach (var inputDeviceInfo in MidiDeviceManager.Default.InputDevices)
{
Console.WriteLine($"Opening {inputDeviceInfo.Name}");
var inputDevice = inputDeviceInfo.CreateDevice();
devices.Add(inputDevice);
inputDevice.ControlChange += ControlChangeHandler;
inputDevice.Open();
}
Console.WriteLine("Press any key to stop...");
Console.ReadKey();
}
finally
{
foreach (var device in devices)
{
device.ControlChange -= ControlChangeHandler;
device.Dispose();
}
}
RtMidi Version
We are using a fork off rtmidi master branch with a few changes (you can see a diff here between our fork and official repository) to make it possible to build on the platforms we are interested in and with changes to better support .Net P/Invoke.
You can find our fork at micdah/rtmidi.
Acknowledgements
Special thanks to the contributors (in alphabetical order):
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Serilog (>= 2.8.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on RtMidi.Core:
| Package | Downloads |
|---|---|
|
OctoPatch.Plugin.Midi
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.53 | 3,141 | 9/5/2023 |
| 1.0.53-beta-1 | 200 | 9/4/2023 |
| 1.0.52 | 219 | 9/4/2023 |
| 1.0.52-beta-3 | 195 | 9/4/2023 |
| 1.0.52-beta-1 | 196 | 9/4/2023 |
| 1.0.51 | 1,907 | 10/27/2020 |
| 1.0.50 | 1,816 | 2/11/2019 |
| 1.0.49 | 1,135 | 9/11/2018 |
| 1.0.48.1 | 1,035 | 8/31/2018 |
| 1.0.48 | 1,049 | 8/22/2018 |
| 1.0.47 | 1,192 | 8/7/2018 |
| 1.0.46 | 1,573 | 4/30/2018 |
| 1.0.45 | 1,541 | 4/30/2018 |
| 1.0.44 | 1,475 | 4/24/2018 |
| 1.0.42 | 1,598 | 1/13/2018 |
| 1.0.41 | 1,518 | 1/13/2018 |
| 1.0.40 | 1,496 | 1/13/2018 |
| 1.0.39 | 1,553 | 1/12/2018 |
| 1.0.38 | 1,503 | 1/12/2018 |
Initial release