{"id":37031913,"url":"https://github.com/obiwanjacobi/midi.net","last_synced_at":"2026-01-14T03:54:15.289Z","repository":{"id":41967451,"uuid":"102938320","full_name":"obiwanjacobi/midi.net","owner":"obiwanjacobi","description":"MIDI for .NET on Windows.","archived":false,"fork":false,"pushed_at":"2023-02-08T11:06:51.000Z","size":2049,"stargazers_count":96,"open_issues_count":0,"forks_count":16,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-12-25T00:26:08.319Z","etag":null,"topics":["dotnet","midi","windows"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/obiwanjacobi.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-09-09T08:12:27.000Z","updated_at":"2025-09-05T09:22:51.000Z","dependencies_parsed_at":"2022-09-21T10:33:52.572Z","dependency_job_id":null,"html_url":"https://github.com/obiwanjacobi/midi.net","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/obiwanjacobi/midi.net","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obiwanjacobi%2Fmidi.net","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obiwanjacobi%2Fmidi.net/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obiwanjacobi%2Fmidi.net/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obiwanjacobi%2Fmidi.net/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/obiwanjacobi","download_url":"https://codeload.github.com/obiwanjacobi/midi.net/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obiwanjacobi%2Fmidi.net/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28408904,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T01:52:23.358Z","status":"online","status_checked_at":"2026-01-14T02:00:06.678Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dotnet","midi","windows"],"created_at":"2026-01-14T03:54:14.639Z","updated_at":"2026-01-14T03:54:15.277Z","avatar_url":"https://github.com/obiwanjacobi.png","language":"C#","funding_links":["https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=HTE6LFLSC8RPL\u0026lc=US\u0026item_name=Canned%20Bytes\u0026item_number=MIDI%2eNET\u0026currency_code=EUR\u0026bn=PP%2dDonationsBF%3abtn_donate_LG%2egif%3aNonHosted"],"categories":[],"sub_categories":[],"readme":"# `MIDI.NET`\r\n\r\n![Release-CI](https://github.com/obiwanjacobi/midi.net/workflows/Release-CI/badge.svg)\r\n\r\n`MIDI.NET` allows any .NET developer to access the power of MIDI without (the developer) having to do P/Invokes.\r\n\r\n`MIDI.NET` provide .NET developers with an easy an robust way to employ MIDI in their applications.\r\nIt handles all unmanaged code for you and interfaces with the Windows Multimedia API. \r\nIt consists of two major parts: the MidiPorts and the Midi Messages.\r\n\r\nIt is very much appriciated if you...[![Donate](https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=HTE6LFLSC8RPL\u0026lc=US\u0026item_name=Canned%20Bytes\u0026item_number=MIDI%2eNET\u0026currency_code=EUR\u0026bn=PP%2dDonationsBF%3abtn_donate_LG%2egif%3aNonHosted)\r\n\r\n**Or join the Discord Server** https://discord.gg/A8xe9YC\r\n\r\n**Come visit `MIDI.NET` on Facebook.**\r\n[https://www.facebook.com/midi4net](https://www.facebook.com/midi4net)\r\n\r\n**NOTE**: For Windows 8 WinRT (StoreApps) you can use: [https://www.nuget.org/packages/Microsoft.WindowsPreview.MidiRT/](https://www.nuget.org/packages/Microsoft.WindowsPreview.MidiRT/)\r\n\r\n----\r\n\r\n## Midi Ports\r\nThe \"Chain of Responsibilities\" pattern is used to move MIDI data to and from the MidiPorts. ChainManager classes allow you to easily buildup these chains of processing and provide an excellent extension point for you to customize Midi data handling.\r\nBuffers to handle Midi Streams (out) and System Exclusive Midi messages (in/out) are also handled by the library. These buffers are implemented as Streams and allow easy access of the Midi data contained within.\r\n\r\n## Midi Messages\r\nThe wide range of Midi messages are broken down into a group of Midi Message classes that each represent a specific type of Midi message. Also the Meta messages found in Midi Files are present.\r\nThe \"Factory\" pattern is used to allow you to easily create these instances and even pool them for more efficient use of memory (this is also known as the \"flyweight\" pattern).\r\n\r\n`MIDI.NET` runs on any Windows version except WinRT (it will run on the Windows 8 desktop) that has .NET 4.0 (or higher) .NET Core 3.1 installed. It is built using Visual Studio 2019.\r\n\r\n## MIDI Resources\r\n* MMA [http://www.midi.org/techspecs/index.php](http://www.midi.org/techspecs/index.php)\r\n* MIDI Spec [http://web.archive.org/web/20070820161159/http://www.borg.com/~jglatt/tech/midispec.htm](http://web.archive.org/web/20070820161159/http://www.borg.com/~jglatt/tech/midispec.htm) \r\n\r\n**Canned Bytes**\r\nThe namespace of the MIDI.NET assemblies starts with CannedBytes. \r\nThis is the name of the company I have started a couple of years ago. \r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobiwanjacobi%2Fmidi.net","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fobiwanjacobi%2Fmidi.net","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobiwanjacobi%2Fmidi.net/lists"}