{"id":13729939,"url":"https://github.com/gbevin/ShowMIDI","last_synced_at":"2025-05-08T02:30:55.224Z","repository":{"id":205642784,"uuid":"714714286","full_name":"gbevin/ShowMIDI","owner":"gbevin","description":"Multi-platform GUI application to effortlessly visualize MIDI activity","archived":false,"fork":false,"pushed_at":"2025-03-02T16:28:55.000Z","size":16409,"stargazers_count":688,"open_issues_count":14,"forks_count":23,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-03-02T17:30:24.458Z","etag":null,"topics":["midi","midi-messages","midi-monitor","mpe"],"latest_commit_sha":null,"homepage":"https://uwyn.com","language":"C++","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/gbevin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING.md","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":"2023-11-05T17:00:37.000Z","updated_at":"2025-03-02T17:15:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"6e5c0b4d-a70b-4ac2-8af7-ba2a866fc670","html_url":"https://github.com/gbevin/ShowMIDI","commit_stats":null,"previous_names":["gbevin/showmidi"],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gbevin%2FShowMIDI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gbevin%2FShowMIDI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gbevin%2FShowMIDI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gbevin%2FShowMIDI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gbevin","download_url":"https://codeload.github.com/gbevin/ShowMIDI/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252986638,"owners_count":21836199,"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-messages","midi-monitor","mpe"],"created_at":"2024-08-03T02:01:07.835Z","updated_at":"2025-05-08T02:30:54.150Z","avatar_url":"https://github.com/gbevin.png","language":"C++","funding_links":[],"categories":["Midi"],"sub_categories":[],"readme":"# ShowMIDI\n\n\u003cp\u003e\u003cimg align=\"right\" src=\"https://github.com/user-attachments/assets/ad3e7647-c768-4817-a8bf-6fa65707389f\" width=\"160px\" /\u003e\u003cbr /\u003e\u003c/p\u003e\n\nShowMIDI is a multi-platform GUI application to effortlessly visualize MIDI activity.\n\nAll the heavy lifting is done by the wonderful JUCE library.\n\nThe project website is https://github.com/gbevin/ShowMIDI\n\n\u003cp style=\"clear: both;\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/gbevin/ShowMIDI/main/Design/showmidi-1.0.0-line.png\" style=\"width: 640px\" /\u003e\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://raw.githubusercontent.com/gbevin/ShowMIDI/main/Design/showmidi-1.0.0-graph.png\" style=\"width: 640px\" /\u003e\u003c/p\u003e\n\n## Community\n\nJoin the Forums: https://forum.uwyn.com\n\nChat on Discord: https://discord.gg/TgsCnwqWTf\n\n## Purpose\n\nThis application fills a void in the available MIDI monitoring solutions.\n\nInstead of wading through logs of MIDI messages to correlate relevant ones and identify what is happening, ShowMIDI visualizes the current activity and hides what you don't care about anymore. It provides you with a real-time glanceable view of all MIDI activity on your computer.\n\nThis animation shows the difference between a traditional MIDI monitor on the left and ShowMIDI on the right:\n\n\u003cp\u003e\u003cimg src=\"https://uwyn.com/images/showmidi-animation-small.gif\" width=\"640\" /\u003e\u003c/p\u003e\n\nShowMIDI displays:\n\n* MIDI Devices\n* MIDI Channels (CH)\n* Note On with Velocity (ON)\n* Note Off with Velocity (OFF)\n* Control Change (CC)\n* Hi-Res 14-bit Control Change (HRCC)\n* Pitch Bend Change (PB)\n* Program Change (PRGM)\n* Channel Pressure (CP)\n* Polyphonic Key Pressure (PP)\n* Registered Parameter Number (RPN)\n* Non-Registered Parameter Number (NRPN)\n* MPE Configuration (MPE MGR, MPE LZ, MPE UZ)\n* Timing Clock as BPM (CLOCK BPM)\n* Clock Start (START)\n* Clock Continue (CONT)\n* Clock Stop (STOP)\n* System Exclusive (SYSEX)\n\n## Video introduction\n\nHere's a tutorial video that shows you a quick overview of why I created ShowMIDI:\n\n\u003ca href=\"https://uwyn.com/showmidi-tutorial\" target=\"_blank\"\u003e\u003cimg src=\"https://uwyn.com/showmidi-tutorial.jpg\" alt=\"Tutorial Video\" width=\"640\" border=\"0\" /\u003e\u003c/a\u003e\n\n## Download\n\nYou can download pre-built binaries from the release section: \nhttps://github.com/gbevin/ShowMIDI/releases\n\nSince ShowMIDI is free and open-source, you can also easily build it yourself. Just take a look into the Builds directory when you download the sources.\n\nIf you're using the macOS Homebrew package manager, you can install ShowMIDI with:\n```\nbrew install gbevin/tools/showmidi\n```\n\n## Usage\n\nTo use it, simply double-click the application to launch it.\n\nAll connected MIDI devices will automatically be shown in columns. By expanding the left side panel, individual devices can be shown or hidden. Holding the `alt` or `option` key while clicking on a device to change its visibility, will change the visibility of all the devices. \n\nWhen an incoming message first appears on a MIDI channel, that channel will appear at the top of the MIDI device column. For as long as a channel is displayed, it will keep its order in the device column. When a channel is auto-hidden through inactivity, the next time activity happens, the channel will be displayed at the top of the MIDI device column again.\n\nTo pause the MIDI data stream, press the `spacebar`, to un-pause, press it again.\n\nThe data can either be visualized as horizontal lines or as scrolling graphs. Toggling the visualization icon allows you to switch this is realtime, pressing the `v` key allows you to do that from the keyboard.\n\nTo quickly clear the displayed data, press the reset button or the `delete`/`backspace` key on your keyboard. \n\nThe plugin versions can be used in any DAW that supports MIDI effect plugins. Some plugin formats, like VST3, might filter out certain MIDI messages and not present a fully accurate view.\n\n## Themes\n\nShowMIDI ships with a handful of themes, more will be added in the future.\n\nYou can edit, create and save them yourself in the application. Feel free to submit your themes to me.\n\nYou can find the included themes [in the repository](https://github.com/gbevin/ShowMIDI/tree/main/Themes), please make sure to download the raw SVG files, otherwise the download might not contain the right information. Here are direct links to some of the included themes:\n\n![](https://raw.githubusercontent.com/gbevin/ShowMIDI/main/Themes/bstation.svg)\n![](https://raw.githubusercontent.com/gbevin/ShowMIDI/main/Themes/classic%20light.svg)\n![](https://raw.githubusercontent.com/gbevin/ShowMIDI/main/Themes/darcula.svg)\n![](https://raw.githubusercontent.com/gbevin/ShowMIDI/main/Themes/dark.svg)\n![](https://raw.githubusercontent.com/gbevin/ShowMIDI/main/Themes/disco.svg)\n![](https://raw.githubusercontent.com/gbevin/ShowMIDI/main/Themes/light.svg)\n![](https://raw.githubusercontent.com/gbevin/ShowMIDI/main/Themes/mouha.svg)\n\n## Credits\n\nShowMIDI was created by Geert Bevin: https://uwyn.com\n\nThe UI design was done by Stephen Petoniak: https://spetoniak.com\n\n## Building from Source on Linux\n\nShowMIDI relies on Git submodules for compilation of external dependencies.\n\nAfter cloning the repository, make sure to update and initialize all the Git submodules:\n\n```\ngit submodule update --init --recursive\n```\n\nTo build ShowMIDI on Linux you need a minimal set of packages installed beforehand, on Ubuntu this can be done with:\n\n```\nsudo apt install build-essential pkg-config libasound2-dev \\\n  libfreetype6-dev libx11-dev libxrandr-dev \\\n  libxinerama-dev libxcursor-dev\n```\n\nYou'll also need to find a version of the VST2 SDK and put it in a location that the compiler can find.\nSearching online for `vst2.x/aeffect.h` should give you some options for download.\nSadly it's not allowed to distribute this SDK, so it has not been included.\nThe folder of the VST2 SDK should be placed at `libs/vst2` in the source repository.\n\nAfter that, go to the `LinuxMakefile` directory\n\n```\ncd Builds/LinuxMakefile\n```\n\nand build the binary by typing `make`\n\n```\nmake CONFIG=Release\n```\n\nThe resulting binary will be in the `Build/LinuxMakefile/build` directory and can be moved anywhere appropriate on your system, for instance into `/usr/local/bin`:\n\n```\nsudo mv build/ShowMIDI /usr/local/bin\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgbevin%2FShowMIDI","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgbevin%2FShowMIDI","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgbevin%2FShowMIDI/lists"}