{"id":13729347,"url":"https://github.com/izzyreal/vmpc-juce","last_synced_at":"2026-05-19T19:05:45.095Z","repository":{"id":41445562,"uuid":"117138739","full_name":"izzyreal/vmpc-juce","owner":"izzyreal","description":"JUCE implementation of VMPC2000XL","archived":false,"fork":false,"pushed_at":"2026-03-03T08:53:37.000Z","size":45381,"stargazers_count":230,"open_issues_count":30,"forks_count":18,"subscribers_count":15,"default_branch":"master","last_synced_at":"2026-03-03T12:20:38.084Z","etag":null,"topics":["audio","drum","juce","machine","mpc","mpc2000xl","sampler","sequencer","virtual"],"latest_commit_sha":null,"homepage":"","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/izzyreal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-01-11T18:42:31.000Z","updated_at":"2026-02-27T23:32:45.000Z","dependencies_parsed_at":"2023-11-21T17:49:38.626Z","dependency_job_id":"66b272e4-e6ab-4172-92f7-e897a96f2b54","html_url":"https://github.com/izzyreal/vmpc-juce","commit_stats":null,"previous_names":[],"tags_count":62,"template":false,"template_full_name":null,"purl":"pkg:github/izzyreal/vmpc-juce","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/izzyreal%2Fvmpc-juce","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/izzyreal%2Fvmpc-juce/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/izzyreal%2Fvmpc-juce/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/izzyreal%2Fvmpc-juce/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/izzyreal","download_url":"https://codeload.github.com/izzyreal/vmpc-juce/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/izzyreal%2Fvmpc-juce/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30233432,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T19:01:10.287Z","status":"ssl_error","status_checked_at":"2026-03-07T18:59:58.103Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["audio","drum","juce","machine","mpc","mpc2000xl","sampler","sequencer","virtual"],"created_at":"2024-08-03T02:00:58.886Z","updated_at":"2026-03-07T22:10:08.173Z","avatar_url":"https://github.com/izzyreal.png","language":"C","funding_links":[],"categories":["Samplers","C"],"sub_categories":[],"readme":"# vmpc-juce, a JUCE implementation of VMPC2000XL, the Akai MPC2000XL emulator\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://izmar.nl/images/vmpc2000xl-full-gui-screenshot.jpg\" width=500 /\u003e\n\u003c/p\u003e\n\n## Building from source just to run, try or use VMPC2000XL or its tests\n\nVMPC2000XL supports a typical CMake workflow, for example on Windows:\n```\ngit clone https://github.com/izzyreal/vmpc-juce\ncd vmpc-juce \u0026\u0026 mkdir build\ncmake -B build -G \"Visual Studio 17 2022\"\ncmake --build build --config Release --target vmpc2000xl_Standalone vmpc2000xl_VST3 vmpc2000xl_LV2\n```\nand on macOS:\n```\ngit clone https://github.com/izzyreal/vmpc-juce\ncd vmpc-juce \u0026\u0026 mkdir build\ncmake -B build -G \"Xcode\"\ncmake --build build --config Release --target vmpc2000xl_Standalone vmpc2000xl_VST3 vmpc2000xl_LV2 vmpc2000xl_AU\n```\nand on macOS to build for iOS:\n```\ngit clone https://github.com/izzyreal/vmpc-juce\ncd vmpc-juce \u0026\u0026 mkdir build\ncmake -B build -G \"Xcode\" -DCMAKE_SYSTEM_NAME=\"iOS\"\ncmake --build build --config Release --target vmpc2000xl_Standalone\n```\nor Linux:\n```\ngit clone https://github.com/izzyreal/vmpc-juce\ncd vmpc-juce \u0026\u0026 mkdir build\ncmake -B build -G \"CodeBlocks - Ninja\"\ncmake --build build --config Release --target vmpc2000xl_Standalone vmpc2000xl_VST3 vmpc2000xl_LV2\n```\n\nNote that on Linux you need some system dependencies. I don't have an exhaustive list that will work for all distributions and installations. What I can provide is how the binaries that are published on izmar.nl are built, which is in an official Ubuntu 20.04 Docker container, using the below Dockerfile:\n```dockerfile\nFROM ubuntu:20.04\n\nARG DEBIAN_FRONTEND=noninteractive\nRUN apt-get update \\\n  \u0026\u0026 apt-get -y install build-essential \\\n  \u0026\u0026 apt-get install -y wget \\\n  \u0026\u0026 rm -rf /var/lib/apt/lists/* \\\n  \u0026\u0026 wget https://github.com/Kitware/CMake/releases/download/v3.24.1/cmake-3.24.1-Linux-x86_64.sh \\\n      -q -O /tmp/cmake-install.sh \\\n      \u0026\u0026 chmod u+x /tmp/cmake-install.sh \\\n      \u0026\u0026 mkdir /opt/cmake-3.24.1 \\\n      \u0026\u0026 /tmp/cmake-install.sh --skip-license --prefix=/opt/cmake-3.24.1 \\\n      \u0026\u0026 rm /tmp/cmake-install.sh \\\n      \u0026\u0026 ln -s /opt/cmake-3.24.1/bin/* /usr/local/bin\nRUN rm -vf /var/lib/apt/lists/* \u0026\u0026 apt-get update\nRUN apt-get -y install git\nRUN apt-get -y install libasound2-dev libjack-jackd2-dev libfreetype6-dev libx11-dev libxcomposite-dev libxcursor-dev libxext-dev libxinerama-dev libxrender-dev\nRUN apt-get -y install ninja-build\nRUN apt -y install libxrandr-dev libudisks2-dev libglib2.0-dev\n```\n\nOn Debian you should be able to build after installing these packages:\n```sh\nsudo apt-get install \\\n  build-essential \\\n  wget \\\n  cmake \\\n  git \\\n  ninja-build \\\n  libasound2-dev \\\n  libjack-jackd2-dev \\\n  libfreetype6-dev \\\n  libx11-dev \\\n  libxcomposite-dev \\\n  libxcursor-dev \\\n  libxext-dev \\\n  libxinerama-dev \\\n  libxrender-dev \\\n  libxrandr-dev \\\n  libudisks2-dev \\\n  libglib2.0-dev\n```\n\nThe targets described above are also the currently supported targets for each platform. Note that the standalone builds for macOS and iOS contain the AUv3 as well. Also note that AUv3 is only built if you're using the Xcode generator. AUv2 works fine with other generators.\n\nThe above generators are just some examples. If you experience issues with generators other than the ones mentioned here, [file an issue here](https://github.com/izzyreal/vmpc-juce/issues).\n\nIf you're actively developing and you've already run the CMake generation command, and you've added new source files, and you don't have internet available, use the following to regenerate the build files:\n```\ncmake -B build -DFETCHCONTENT_FULLY_DISCONNECTED=ON\n```\n\n## Modifying and contributing to VMPC2000XL and its dependencies\nJust skip the second `cmake -B ...` statement in the above examples and you have the IDE project that you can use for this flow.\nThe code that is meant to be edited as part of VMPC2000XL will be located in `vmpc-juce/editables` after a successful `cmake -G` run.\nThese editables are part of the IDE project that a `cmake -G` run produces in `vmpc-juce/build`.\nYou may notice the editables being in a \"detached HEAD\" state (a Git thing where you're not currently on any branch), so it's required to do some `git checkout master` (or `git checkout main` if there is no `master`) and `git checkout -b \u003cyour_feature_branch_name\u003e` before you can commit your changes.\n\n## Creating a source package for offline building\n\nTo create a source package that can be used for building VMPC2000XL offline, run (from the root of this repo):\n```bash\nmkdir build \u0026\u0026 cd build\ncmake ..\nmake package_source\n```\n\nIt creates a `vmpc2000xl-0.4.4-Source.tar.gz` which, unpacked, will yield a directory called `vmpc2000xl-0.4.4-Source`.\n\nFinally, to build all available VMPC2000XL binaries run:\n```bash\ncd vmpc2000xl-0.4.4-Source\nmkdir build \u0026\u0026 cd build\ncmake ..\nmake vmpc2000xl_All -j 4\n```\nIn this example the Makefile generator is used, but here too you can use any generator you like.\n\n## License\nThis project is licensed under the GNU General Public License (GPL) version 3 or later.  \nIt uses the JUCE framework, which is licensed under the GNU Affero General Public License (AGPL).  \nSee the [LICENSE.txt](LICENSE.txt) file for details.\n\n## Using This Software\nIf you use or distribute this software, you must comply with the GPL and AGPL terms.\n\n--------------------\nMPC® and Akai Professional® are a registered trademarks of inMusic Brands. Inc. This emulator is not affiliated with inMusic and use of the MPC® and Akai Professional® names has not been authorized, sponsored or otherwise approved by inMusic.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fizzyreal%2Fvmpc-juce","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fizzyreal%2Fvmpc-juce","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fizzyreal%2Fvmpc-juce/lists"}