{"id":23142979,"url":"https://github.com/tiagolr/mididash","last_synced_at":"2025-04-04T12:13:26.181Z","repository":{"id":268474202,"uuid":"903490894","full_name":"tiagolr/mididash","owner":"tiagolr","description":"Midi router with Lua scripting and a node based interface","archived":false,"fork":false,"pushed_at":"2025-01-03T01:02:52.000Z","size":1455,"stargazers_count":15,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-09T21:45:16.722Z","etag":null,"topics":["audio","audio-midi","linux","macos","midi","midi-events","midi-router","midi-router-linux","midi-router-win","router","tauri","windows"],"latest_commit_sha":null,"homepage":"https://mididash.com","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tiagolr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-14T18:26:11.000Z","updated_at":"2025-02-04T15:21:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"d56c2e6e-ac3a-4e09-9396-540789fdad82","html_url":"https://github.com/tiagolr/mididash","commit_stats":null,"previous_names":["tiagolr/mididash"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiagolr%2Fmididash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiagolr%2Fmididash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiagolr%2Fmididash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiagolr%2Fmididash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tiagolr","download_url":"https://codeload.github.com/tiagolr/mididash/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247174468,"owners_count":20896078,"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":["audio","audio-midi","linux","macos","midi","midi-events","midi-router","midi-router-linux","midi-router-win","router","tauri","windows"],"created_at":"2024-12-17T15:06:11.913Z","updated_at":"2025-04-04T12:13:26.130Z","avatar_url":"https://github.com/tiagolr.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003cimg src=\"src-tauri/icons/logo.svg\" width=\"128\" style=\"padding: 5px; background: #363636; border-radius: 8px\" /\u003e\n  \u003cbr\u003e\n  Mididash\n  \u003cbr\u003e\n\u003c/h1\u003e\n\u003cdiv align=\"center\"\u003e\n\n[![Windows Support](https://img.shields.io/badge/Windows-0078D6?style=for-the-badge\u0026logo=windows\u0026logoColor=white)](https://github.com/tiagolr/mididash/releases)\n[![Ubuntu Support](https://img.shields.io/badge/Linux-E95420?style=for-the-badge\u0026logo=linux\u0026logoColor=white)](https://github.com/tiagolr/mididash/releases)\n[![Mac Support](https://img.shields.io/badge/MACOS-adb8c5?style=for-the-badge\u0026logo=macos\u0026logoColor=white)](https://github.com/tiagolr/mididash/releases)\n\n\u003c/div\u003e\n\u003cdiv align=\"center\"\u003e\n\n[![GitHub package.json version](https://img.shields.io/github/v/release/tiagolr/mididash?color=%40\u0026label=latest)](https://github.com/tiagolr/mididash/releases/latest)\n![GitHub issues](https://img.shields.io/github/issues-raw/tiagolr/mididash)\n![GitHub all releases](https://img.shields.io/github/downloads/tiagolr/mididash/total)\n![Github license](https://img.shields.io/github/license/tiagolr/mididash)\n\n\u003c/div\u003e\n\nMididash is an open source MIDI routing software with a node-based interface and Lua scripting. A modern take on programs like [MIDI-OX](http://www.midiox.com).\n\n\u003cdiv align=\"center\"\u003e\n\n![Screenshot](./src-assets/ss-dark.png)\n\u003c!-- ![Screenshot](./src-assets/ss-light.png) --\u003e\n\n\u003c/div\u003e\n\n### Features\n\n  * **Cross-platform** available on Windows, Linux and macOS\n  * **Node-based MIDI routing** allows for versatile configurations\n  * **Hot-plugging** reconnect or replace MIDI devices\n  * **MIDI monitoring** for inputs, outputs or individual nodes\n  * **Pre-configured nodes** for MIDI splitting, mapping and more\n  * **Script nodes** using Lua 5.4\n  * **Lightweight** installer under 10MB\n  * **High performance** built with Tauri and Rust\n\n### Download\n\nThe latest version and others can be found on [Github releases](https://github.com/tiagolr/mididash/releases)\n\n### How does it compare with MIDI-OX?\n\nMIDI-OX is the main reference for this program, this one offers more routing capabilities and practical scripting via Lua nodes, it does not contain the same amount of MIDI tools like bank selectors or NPRN calculators but those can be added over time.\n\nIn terms of performance, it's about the same CPU usage (e.g. 5% CPU on high midi throughput), the bundle size is small but cannot compete with 1MB of MIDI-OX, the memory footprint of the program is also similar but the webview can consume a few  dozen MBs.\n\n### Limitations\n\n#### Beta software\n\nThis software is under active development, the core features are ready but there may be changes in appearance, stability patches and other changes until version 1.0.\n\n#### Unsigned software\n\n Signing licenses have associated costs and required setup, for now this software is unsigned which means that additional steps are required for installation: \n\n- **Windows**: Skip the installation protection screen when prompted.\n- **macOS**: Navigate to System Preferences → Privacy \u0026 Security → Unblock the app after attempting to open it.\n\n#### macOS Testing\n\nMacOs builds are tested on a slow, unstable virtual machine using Ventura 13.7, other versions of the OS have not been tested and it's the least tested target, please open a ticket for new issues found.\n\n### Hot plugging\n\nNew devices or disconnected devices are detected every few seconds. To add a new device to the project simply drag and drop it from the sidebar into the viewport. To replace a missing device or a device with changed ID click its node (if it exists) and then `Replace device` from the sidebar - it will assign the device to that node and re-establish all previous connections.\n\n### Scripts and templates\n\nUsing Lua 5.4 it's possible to program nodes for any kind MIDI processing. A few examples have been included to demonstrate how to modify and forward bytes. To test a script press `Ctrl+Enter` or `Cmd+Enter` from the code editor. Once a script is loaded into a node, it will run every time a signal is received on its input port.\n\nScripts can be saved as global templates to be reused in projects, to do so\nclick the settings icon near the code editor and then `Save as template`.\n\n### Development\n\nMake sure [tauri 2 requirements](https://v2.tauri.app/start/prerequisites/) are met for the target platform, hit `npm install` and then `npm start` should start the application in development mode.\n\n### License\n\n[GPL 3](https://www.gnu.org/licenses/gpl-3.0.en.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftiagolr%2Fmididash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftiagolr%2Fmididash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftiagolr%2Fmididash/lists"}