{"id":20125091,"url":"https://github.com/jpcima/a2jmidid","last_synced_at":"2025-08-09T14:10:57.190Z","repository":{"id":106384048,"uuid":"128847558","full_name":"jpcima/a2jmidid","owner":"jpcima","description":"ALSA sequencer \u003c-\u003e JACK MIDI bridge","archived":false,"fork":false,"pushed_at":"2018-04-09T23:59:12.000Z","size":688,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-02T20:44:18.521Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jpcima.png","metadata":{"files":{"readme":"README","changelog":"NEWS","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-09T23:58:26.000Z","updated_at":"2018-04-09T23:59:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"1ac60f8e-550d-42a0-b92d-9f449f69e8b8","html_url":"https://github.com/jpcima/a2jmidid","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jpcima/a2jmidid","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpcima%2Fa2jmidid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpcima%2Fa2jmidid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpcima%2Fa2jmidid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpcima%2Fa2jmidid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jpcima","download_url":"https://codeload.github.com/jpcima/a2jmidid/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpcima%2Fa2jmidid/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267117554,"owners_count":24038682,"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","status":"online","status_checked_at":"2025-07-26T02:00:08.937Z","response_time":62,"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":[],"created_at":"2024-11-13T19:54:29.144Z","updated_at":"2025-07-26T04:35:26.472Z","avatar_url":"https://github.com/jpcima.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"= Overview =\nMain goal of this project main is to ease usage of legacy, not\nJACK-ified apps, in a JACK MIDI enabled system.\n\nThere are two ways to use legacy ALSA sequencer applications in JACK\nMIDI system.\n\nThe first approach is to use automatic bridging. For every ALSA\nsequencer port you get one JACK MIDI port. If ALSA sequencer port is\nboth input and output one, you get two JACK MIDI ports, one input and\noutput.\n\nThe second approach is to static bridges. You start application that\ncreates one ALSA sequencer port and one JACK MIDI port. Such bridge is\nunidirectional.\n\nFirst approach works almost always except when legacy ALSA sequencer\napplication does not create ports and/or wants existing port to exist\nso it can capture from or playback to it. Such programs are using the\nfeature of ALSA sequencer framework that allows sending and receiving\nMIDI events to/from port, without creating connection to it.\n\n= a2jmidid =\na2jmidid is daemon that implements automatic bridging. For every ALSA\nsequencer port you get one jack midi port. If ALSA sequencer port is\nboth input and output one, you get two JACK MIDI ports, one input and\noutput.\n\na2jmidid has two modes of operation, running bridge manually and\nbackground D-Bus service.\n\nTo start a2jmidid in manual mode, just run it (and don't supply the\nspecial \"undocumented\" dbus parameter). a2jmidid will start bridging,\nand you will get output on stdout and stderr. You can stop the bridge\nusing ctrl-c.\n\nUsually you want to bridge software ports and not bridge hardware\nports (they are handled by JACK itself). In case you want to force\na2jmidid to bridge hardware ports, you can use the export-hw option:\n\na2jmidid -e\n\nor\n\na2jmidid --export-hw\n\nIn D-Bus service mode, a2jmidid works in background. When service\naccess is requested by some application (like a2j_control), dbus\nsession bus daemon activates the object by executing the service\nexecutable. The object has methods for starting and stopping the\nbridging. You can use a2j_control to do this:\n\na2j_control start\na2j_control stop\n\nYou can deactivate (that may cause later reactivation) the service\nlike this:\n\na2j_control exit\n\nYou can query the bridge status using this command:\n\na2j_control status\n\nThere also methods (and corresponding a2j_control commands) that can\nbe used to query mapping information.\n\na2jmidid implementation is based on jack-alsamidi-0.5 that is [almost]\nsame as jackd ALSA \"seq\" MIDI backend), both created by Dmitry\nBaikov.\n\n= a2jmidi_bridge =\na2jmidi_bridge is static bridge that creates one ALSA sequencer\nplayback port and one JACK MIDI capture port. MIDI events sent to ALSA\nsequencer playback port can be read from the JACK MIDI capture port.\n\na2jmidi_bridge has optional argument that allows overriding name used\nfor JACK and ALSA client:\n\na2jmidi_bridge \"my precious bridge\"\n\na2jmidi_bridge implementation is based on alsaseq2jackmidi by Sean\nBolton.\n\n= j2amidi_bridge =\nj2amidi_bridge is static bridge that creates one JACK MIDI playback\nport and one ALSA sequencer capture port. MIDI events sent to JACK\nMIDI playback port can be read from the ALSA sequencer capture port.\n\nj2amidi_bridge has optional argument that allows overriding name used\nfor JACK and ALSA client:\n\nj2amidi_bridge \"my precious bridge\"\n\nj2amidi_bridge implementation is based on jackmidi2alsaseq by Lars\nLuthman.\n\n= Contact info =\nIf someone wants to contribute please, contact me (Nedko Arnaudov), or\nsend patches, or request inclusion (Gna! a2jmidid project).\n\nPackagers are more than welcome too.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjpcima%2Fa2jmidid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjpcima%2Fa2jmidid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjpcima%2Fa2jmidid/lists"}