{"id":13730268,"url":"https://github.com/plugdata-team/plugdata","last_synced_at":"2025-05-14T09:13:20.074Z","repository":{"id":37243493,"uuid":"432598139","full_name":"plugdata-team/plugdata","owner":"plugdata-team","description":"Pure Data as a plugin, with a new GUI","archived":false,"fork":false,"pushed_at":"2025-05-04T11:59:06.000Z","size":132479,"stargazers_count":1807,"open_issues_count":197,"forks_count":71,"subscribers_count":40,"default_branch":"develop","last_synced_at":"2025-05-10T04:38:06.157Z","etag":null,"topics":["juce-framework","libpd","pure-data"],"latest_commit_sha":null,"homepage":"https://plugdata.org","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/plugdata-team.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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},"funding":{"github":"timothyschoen"}},"created_at":"2021-11-28T02:07:12.000Z","updated_at":"2025-05-08T09:39:44.000Z","dependencies_parsed_at":"2023-09-23T13:42:13.483Z","dependency_job_id":"274e6613-0b69-494c-8111-d76d30267e49","html_url":"https://github.com/plugdata-team/plugdata","commit_stats":{"total_commits":7923,"total_committers":26,"mean_commits":304.7307692307692,"dds":"0.17733181875552195","last_synced_commit":"30f1345434d42ced8a1dcd8d44866471766237b1"},"previous_names":["timothyschoen/plugdata"],"tags_count":32,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plugdata-team%2Fplugdata","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plugdata-team%2Fplugdata/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plugdata-team%2Fplugdata/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plugdata-team%2Fplugdata/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/plugdata-team","download_url":"https://codeload.github.com/plugdata-team/plugdata/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254110377,"owners_count":22016391,"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":["juce-framework","libpd","pure-data"],"created_at":"2024-08-03T02:01:12.507Z","updated_at":"2025-05-14T09:13:20.052Z","avatar_url":"https://github.com/plugdata-team.png","language":"C","funding_links":["https://github.com/sponsors/timothyschoen"],"categories":["C","Frameworks","Software"],"sub_categories":["Signal processing/electronics"],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/plugdata-team/plugdata/wiki\"\u003e\n    \u003cimg src=\"https://github.com/plugdata-team/plugdata/assets/44585538/17062f59-bb1b-442e-a0ba-a96a74327460\" alt=\"Logo\" width=130 height=130\u003e\n  \u003c/a\u003e\n  \u003ch1 align=\"center\"\u003eplugdata\u003c/h1\u003e\n  \u003cp align=\"center\"\u003e\n    Plugin wrapper around Pure Data to allow patching in a wide selection of DAWs.\n  \u003c/p\u003e\n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/plugdata-team/plugdata/actions/workflows/cmake.yml\"\u003e\u003cimg src=\"https://github.com/plugdata-team/plugdata/actions/workflows/cmake.yml/badge.svg\" alt=\"Workflows\"\u003e\u003c/a\u003e\n  \u003c/p\u003e\n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/plugdata-team/plugdata/releases/latest\"\u003e\u003cimg src=\"https://img.shields.io/github/downloads/plugdata-team/plugdata/total.svg?colorB=007ec6\" alt=\"Downloads\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/plugdata-team/plugdata/releases/latest\"\u003e\u003cimg src=\"https://img.shields.io/github/release/plugdata-team/plugdata.svg?include_prereleases\" alt=\"Release\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/plugdata-team/plugdata/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-GPL--v3-blue.svg\" alt=\"License\"\u003e\u003c/a\u003e\n  \u003c/p\u003e\n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://discord.gg/eT2RxdF9Nq\"\u003e\u003cimg src=\"https://img.shields.io/discord/993531159956955256?label=discord\u0026logo=discord\" alt=\"Discord\"\u003e\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n\u003cp align=\"middle\"\u003e\n\u003cimg width=\"1093\" alt=\"app\" src=\"https://github.com/user-attachments/assets/19f948b1-cd17-4f84-ae70-baf89707f749\"\u003e\n\u003cimg width=\"1093\" alt=\"darkmode\" src=\"https://github.com/user-attachments/assets/605a74fc-34bb-48f5-a48e-153ffc287141\"\u003e\n\u003c/p\u003e\n\nplugdata is a plugin wrapper for Pure Data, featuring a new GUI made with JUCE. This is still a WIP, and there are probably still some bugs. By default, it ships with the ELSE collection of externals and abstractions. The aim is to provide a more comfortable patching experience for a large selection of DAWs. It can also be used as a standalone replacement for pure-data.\n\nJoin the Discord here, for sharing patches, reporting issues or requesting features: https://discord.gg/eT2RxdF9Nq\n\n\u003cp align=\"middle\"\u003e\n\u003cimg width=\"431\" alt=\"LIRA-8\" src=\"https://github.com/plugdata-team/plugdata/assets/44585538/1eb2e36f-6552-4caa-8e7b-2cd6adf03917\"\u003e\n\u003c/p\u003e\n\n## Installation\n\n**-Windows:**\n- Get the installer from the latest [official release](https://github.com/plugdata-team/plugdata/tags)\n\n**-MacOS:**\n- Option 1: Get the installer from the latest [official release](https://github.com/plugdata-team/plugdata/tags)\n- Option 2: Install the [homebrew cask](https://formulae.brew.sh/cask/plugdata). I do not maintain this so it may be outdated. \n\n**-Linux:**\n- Option 1: [OBS repository/packages](https://software.opensuse.org//download.html?project=home%3Aplugdata\u0026package=plugdata)\n  The repository contains the packages plugdata, plugdata-vst3 and plugdata-lv2 (lv2-plugdata and vst3-plugdata on some distros). If you get a package without the repo, it will only contain the standalone version.\n    - Plugin versions can be found here:\n      - Deb/Ubuntu: https://software.opensuse.org/package/plugdata-vst3 and https://software.opensuse.org/package/plugdata-lv2\n      - RPM based distros: https://software.opensuse.org/package/vst3-plugdata and https://software.opensuse.org/package/lv2-plugdata\n- Option 2: Arch User Repository (Arch only).\n  Has the [plugdata-bin](https://aur.archlinux.org/packages/plugdata-bin) package for the latest stable version, or the [plugdata-git](https://aur.archlinux.org/packages/plugdata-git) package for the latest experimental build.\n\n- Option 3: Get the binaries from the latest [official release](https://github.com/plugdata-team/plugdata/tags)\n\nYou can also download a recent experimental build from our [website](https://plugdata.org/download.html)\n\n## Build\n\n```\ngit clone --recursive https://github.com/plugdata-team/plugdata.git\ncd plugdata\nmkdir build \u0026\u0026 cd build\ncmake .. (the generator can be specified using -G\"Unix Makefiles\", -G\"XCode\" or -G\"Visual Studio 16 2019\" -A x64)\ncmake --build .\n```\n\n**Important:**\n- plugdata requires cmake 3.21 or later to build CLAP plugins. If you use an older version of cmake, CLAP plugin builds will be disabled.\n- Ensure that the git submodules are initialized and updated! You can use the `--recursive` option while cloning or `git submodule update --init --recursive` in the plugdata repository .\n- On Linux, Juce framework requires to install dependencies, please refer to [Linux Dependencies.md](https://github.com/juce-framework/JUCE/blob/master/docs/Linux%20Dependencies.md) and use the full command.\n- The CMake build system has been tested with *Unix Makefiles*, *XCode*, *Visual Studio 17 2022* and *Visual Studio 16 2019*\n- Extra build options:\n  - -DQUICK_BUILD=1 will skip objects that take a long time to compile (All Gem objects, sfz~ and ffmpeg based audio players)\n  - Gem, sfz~ and ffmpeg can also be disabled separately by passing \"-DENABLE_GEM=0\", \"-DENABLE_SFIZZ=0\", \"-DENABLE_FFMPEG=0\"\n  - You can enable Google [Perfetto](https://perfetto.dev/) performance tracing library by passing -DENABLE_PERFETTO=1. This [blog post](https://melatonin.dev/blog/using-perfetto-with-juce-for-dsp-and-ui-performance-tuning/) gives more insight on how to use it.\n    - To trace function calls and get performance information, add `TRACE_COMPONENT()` to function bodies you want.\n    - A faster way is a Python 3 script `Resources/Scripts/add_perfetto_tracepoints.py` that will add `TRACE_COMPONENT()` calls to matched function bodies in provided `.cpp` files. This means you don't have to add `TRACE_COMPONENT()` everywhere by hand. To use the script you must have a recent `llvm` (\u003e= 19.1.3) and compatible [`libclang`](https://pypi.org/project/libclang/) package installed.\n    - Recommended compiling with `Release` mode on for most accurate profiling information.\n\n## Adding your own externals\nYou can use externals inside plugdata's plugin version by recompiling the externals along with plugdata. This can be achieved by making the following modification to plugdata:\n\n-  Add your sources to the \"externals\" target inside Libraries/CMakeLists.txt. Alternatively the source files can be placed inside the Libraries/ELSE/Source folder, as all .c files in that folder will be compiled automatically.\n-  In Source/Pd/Setup.cpp, add the setup function for your external. The best place to call your setup function is inside libpd_init_pdlua. initialiseELSE and initialiseCyclone will also work, but it has the side-effect that the externals will also be available under the else/* and cyclone/* prefix.\n\n## Corporate sponsors\n\u003cp align=\"center\" style=\"display: flex; flex-direction: column; align-items: center; justify-content: center;\"\u003e\n  \u003ca href=\"https://gigperformer.com/\"\u003e\n    \u003cimg src=\"https://github.com/plugdata-team/plugdata/assets/44585538/e0c37c87-05cc-4766-9dc4-a42ddbb8784f\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://jb.gg/OpenSourceSupport\"\u003e\n    \u003cimg src=\"https://github.com/plugdata-team/plugdata/assets/44585538/fd9ae433-4913-411f-8ae0-c1a7c5f28c72\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## Credits\n- Logo designed by [Joshua A.C. Newman](https://glyphpress.com/talk/), executed by [Bas de Bruin](https://www.bdebruin.nl/)\n- [Camomile](https://github.com/pierreguillot/Camomile) by Pierre Guillot\n- [ELSE](https://github.com/porres/pd-else) by Alexandre Torres Porres\n- [cyclone](https://github.com/porres/pd-cyclone) by Krzysztof Czaja, Hans-Christoph Steiner, Fred Jan Kraan, Alexandre Torres Porres, Derek Kwan, Matt Barber and others (note: Cyclone is included to offer an easy entry point for Max users but ELSE contains several alternatives to objects in Cyclone and Pure Data Vanilla itself also has some alternatives. Not only that, but objects that weren't cloned into Cyclone also have alternatives in ELSE, see: [this](https://github.com/porres/pd-else/wiki/Cyclone-alternatives))\n- [pd-lua](https://github.com/agraef/pd-lua) by Claude Heiland-Allen, Albert Graef, and others\n- [Pure Data](https://puredata.info) by Miller Puckette and others\n- [libpd](https://github.com/libpd/libpd) by the Peter Brinkmann, Dan Wilcox and others\n- [Heavy/hvcc](https://github.com/Wasted-Audio/hvcc) originally by Enzien Audio, maintained and modernised by Wasted Audio\n- [Juce](https://github.com/WeAreROLI/JUCE) by ROLI Ltd.\n- [MoodyCamel](https://github.com/cameron314/concurrentqueue) by Cameron Desrochers\n- [Inter](https://rsms.me/inter/) font by Rasmus Andersson\n- [Kiwi](https://github.com/Musicoll/Kiwi) by Eliott Paris, Pierre Guillot and Jean Millot\n- [FluidLite](https://github.com/divideconcept/FluidLite) by divideconcept, based on [Fluidsynth](https://github.com/FluidSynth/fluidsynth)\n\n## Status\nWhat works:\n- Nearly complete support for pd\n- Most ELSE and cyclone library objects work\n- VST3, LV2, CLAP and AU format available, tested on Windows (x86/x64), Mac (arm64/x64) and Linux (arm64/armhf/x64)\n- Receive 512 DAW parameters using the [param] abstraction\n- Receive DAW playhead position, tempo and more using the [playhead] abstraction\n\nKnown issues:\n- Broken ELSE objects: See [#174](https://github.com/plugdata-team/plugdata/issues/174)\n- There may still be some more bugs\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplugdata-team%2Fplugdata","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fplugdata-team%2Fplugdata","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplugdata-team%2Fplugdata/lists"}