{"id":23491686,"url":"https://github.com/halfbyte/portmidi","last_synced_at":"2025-04-15T06:52:11.381Z","repository":{"id":717480,"uuid":"364552","full_name":"halfbyte/portmidi","owner":"halfbyte","description":"A simple wrapper using ffi around the portmidi library. This is hopefully easier to build than the c extension I did earlier","archived":false,"fork":false,"pushed_at":"2018-01-31T08:41:10.000Z","size":76,"stargazers_count":13,"open_issues_count":1,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-15T06:52:06.333Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/halfbyte.png","metadata":{"files":{"readme":"README.rdoc","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"license.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2009-11-07T18:21:26.000Z","updated_at":"2020-12-22T15:48:13.000Z","dependencies_parsed_at":"2022-07-07T15:08:24.164Z","dependency_job_id":null,"html_url":"https://github.com/halfbyte/portmidi","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/halfbyte%2Fportmidi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/halfbyte%2Fportmidi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/halfbyte%2Fportmidi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/halfbyte%2Fportmidi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/halfbyte","download_url":"https://codeload.github.com/halfbyte/portmidi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249023710,"owners_count":21199958,"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":[],"created_at":"2024-12-25T01:29:14.759Z","updated_at":"2025-04-15T06:52:11.365Z","avatar_url":"https://github.com/halfbyte.png","language":"Ruby","readme":"= Portmidi-Mapper\n\nThis is a small, incomplete wrapper around the portmidi c library.\n\nIt is the successor of my portmidi-ruby project which used ordinary ruby extensions which are a pain to write.\n\n== Requirements\n\n* portmidi (who woulda thought) built as a dynamic library. See below for special notes for Mac OS X Snow Leopard\n* ffi (which in turn needs a sane build env to be installed)\n\n== What's missing?\n\nThe most important: Tests. I'm still pondering on how to test a library that\nhas hardware requirements and dependencies (= MIDI hardware). So I guess it\nmeans I will mock away the portmidi layer to test my abstractions and add some optional integration test that will require a MIDI loopback configuration.\n\nImplementation wise, there's a few things missing:\n\n* Setting Channel- and Message filters\n* More different exceptions, plus support for Host Errors\n* A lot of safety nets like testing for open devices before reading and writing and such.\n\n== Credits\n\nThe portmidi wrapper was thrown together by Jan Krutisch \u003cjan@krutisch.de\u003e\n\n* Portmidi C-Library: Roger B. Dannenberg / Portmedia Framework Group\n* Jan 'half/byte' Krutisch (http://github.com/halfbyte)\n* Patches by\n  * Thomas Jachmann (http://github.com/thomasjachmann)\n\n== Installing Portmidi\n\n* On MacOSX, there's a homebrew recipe, so $ brew install portmidi should do the trick\n* On most Linuxes, portmidi should be simply a package to install by your packagemanager\n* On Windows: \"try this\":http://sourceforge.net/apps/trac/portmedia/wiki/Installing%20portmidi%20on%20Windows\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhalfbyte%2Fportmidi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhalfbyte%2Fportmidi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhalfbyte%2Fportmidi/lists"}