{"id":13431127,"url":"https://github.com/ddiakopoulos/modern-midi","last_synced_at":"2025-03-16T19:31:05.890Z","repository":{"id":54798644,"uuid":"39929379","full_name":"ddiakopoulos/modern-midi","owner":"ddiakopoulos","description":":musical_score: C++11 MIDI file \u0026 realtime io library","archived":false,"fork":false,"pushed_at":"2018-07-28T17:01:47.000Z","size":216,"stargazers_count":92,"open_issues_count":12,"forks_count":14,"subscribers_count":15,"default_branch":"master","last_synced_at":"2024-10-12T16:58:09.543Z","etag":null,"topics":["midi","midi-controller","midi-device","midi-events","midi-files","midi-messages","midi-parser","midi-player"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ddiakopoulos.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-07-30T03:29:47.000Z","updated_at":"2024-10-06T18:04:38.000Z","dependencies_parsed_at":"2022-08-14T03:10:46.474Z","dependency_job_id":null,"html_url":"https://github.com/ddiakopoulos/modern-midi","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddiakopoulos%2Fmodern-midi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddiakopoulos%2Fmodern-midi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddiakopoulos%2Fmodern-midi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddiakopoulos%2Fmodern-midi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ddiakopoulos","download_url":"https://codeload.github.com/ddiakopoulos/modern-midi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221667206,"owners_count":16860570,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["midi","midi-controller","midi-device","midi-events","midi-files","midi-messages","midi-parser","midi-player"],"created_at":"2024-07-31T02:01:00.719Z","updated_at":"2024-10-27T11:09:08.972Z","avatar_url":"https://github.com/ddiakopoulos.png","language":"C++","funding_links":[],"categories":["C++"],"sub_categories":[],"readme":"# ModernMIDI\n\nModernMIDI brings together a number of support classes to read, manipulate, and generate MIDI data. For realtime input/output, the library gently wraps RtMidi for cross-platform hardware IO. Furthermore, ModernMIDI includes a comprehensive file io module for reading and writing format-0 files. Other features include common music theory concepts expessed in MIDI, along with a decently performing real-time file player. It's currently thin on the example/documentation front, but more samples will be forthcoming.\n\nIn various forms, it has been used in performances with the [Seattle Symphony](http://www.geekwire.com/2015/conducting-with-kinect-seattle-symphony-to-use-microsofts-3d-sensor-in-world-premiere-performance/), installations at the [Jewish Contemporary Museum in SF](http://www.thecjm.org/about/press/press-releases/956-pour-crever-by-trimpin), and in many smaller Arduino prototypes in conjunction with [HIDUINO](https://github.com/ddiakopoulos/hiduino).\n\nThis code is functional but rarely maintained. For a newer take on midi library support in C++, see [RtMidi17](https://github.com/jcelerier/RtMidi17).\n\n## Building / Usage\nTo run the included exampes, use the included VS2013 or XCode 6 projects. ModernMIDI will build on any platform with a recent C++11 compiler. At present, ModernMIDI is not packaged into a static or dynamic library -- instead, the usage model is that developers will compile the small number of files directly into a new project.\n\nModernMIDI inherits from the linkage requirements of RtMidi. RtMidi needs a preprocessor macro defined in the project configuration to select the correct backend (e.g. `__MACOSX_CORE__`). On OSX the following frameworks must be included in a project: `CoreAudio.framework`, `CoreMIDI.framework`, and `CoreFoundation.framework`. On Windows, `winmm.lib` must be included although this is automatically handled in `modernmidi.h`.\n\n## Acknowledgements\nModernMIDI is a continuation of the functionality developed in [LabMIDI](https://github.com/meshula/LabMidi) by [@meshula](https://twitter.com/meshula). \n\n## License\nModernMIDI is released under the simplified BSD 2-clause license. See the COPYING file for more information on the (license-compatible) third party code included within ModernMIDI. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fddiakopoulos%2Fmodern-midi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fddiakopoulos%2Fmodern-midi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fddiakopoulos%2Fmodern-midi/lists"}