<p align="center">
<h1 align="center">PdWebCompiler</h1>
<p align="center">
<a href="https://github.com/plugdata-team/plugdata/wiki">
<img src="https://raw.githubusercontent.com/charlesneimog/PdWebCompiler/main/docs/assets/icon-light.svg" alt="Logo">
</a>
</p>
<h4 align="center">Running Pd Patches in Your Web Browser.</h4>
</p>
<p align="center">
<a href="https://github.com/charlesneimog/PdWebCompiler/releases/latest"><img src="https://img.shields.io/github/release/charlesneimog/PdWebCompiler?include_prereleases" alt="Release"></a>
<a href="https://pypistats.org/packages/pd2wasm"><img src="https://img.shields.io/pypi/dm/pd2wasm" alt="Downloads"></a>
<a href="https://pypistats.org/packages/pd2wasm"><img src="https://img.shields.io/pypi/pyversions/pd2wasm" alt="Version"></a>
</p>
<p align="center">
<a href="https://img.shields.io/pypi/pyversions/pd2wasm"><img src="https://img.shields.io/badge/platforms-macOS%20%7C%20Windows%20%7C%20Linux-green" alt="License"></a>
</p>
<p align="center">
<a href="https://github.com/charlesneimog/PdWebCompiler/actions/workflows/Test.yml"><img src="https://github.com/charlesneimog/PdWebCompiler/actions/workflows/Test.yml/badge.svg" alt="License"></a>
</p>
<p align="center">
<h2 align="center">Intro</h2>
<br>
</p>
`PdWebCompiler` allows to run PureData patches in web browsers using Web Audio technologies. This tool stands out from other approaches like [hvcc](https://github.com/Wasted-Audio/hvcc) and [WebPd](https://github.com/sebpiq/WebPd) because it compiles the [libpd](https://github.com/libpd/libpd) source, this is possible mainly because of the work of [claudeha](https://github.com/claudeha). You can compile any PureData vanilla patch and most of the externals.
#### ⚠️ Warning: Breaking Changes Ahead ⚠️
The project is very recent, so can be very hard breaking changes for sometime.
<p align="center">
<h2 align="center">Already Supported Library Externals</h2>
<hr>
</p>
| Library | Not Supported | Number of Objects |
|:---------:|:----------------------------:|:-----------------:|
| else | `sfont~`, `plaits~`, `sfz~` | 509 |
| cyclone | - | ± 197 |
| convolve~ | - | 1 |
| timbreIDLib | - | 109 |
So, for now, we have more than 800 supported externals objects.
* **Note**: Some objects, mainly due to dynamic libraries or GUI componets, are not supported yet. Feel free to submit a Pull Request to add support for them.
<p align="center">
<h2 align="center">Running Your Patch on the Internet</h2>
<br>
</p>
To make your patch available online, follow these steps:
#### 1. Install Python (first-time setup)
* **Linux**: `apt install python3.11`, `dnf install python3.11`, etc.
* **MacOS**: Download and install Python from the [Python website](https://www.python.org/downloads/release/python-3115/).
* **Windows**: `winget install -e --id Python.Python.3.11` or go to [Python website](https://www.python.org/downloads/release/python-3115/)
#### 2. Then Install pd2wasm (first-time setup)
``` bash
pip install pd2wasm
```
#### 3. Now, it is just to compile your patch
``` bash
pd2wasm --patch ./YOUR_PATCH.pd --server-port 8080
```
<p align="center">
<h2 align="center">Making a Pull Request</h2>
<br>
</p>
Join us in contributing to this repository! Explore the primary areas for your valuable contributions:
* The `pd2wasm/lib/` folder, which contains files with special steps for compiling certain `externals/libraries`.
* The `pd2wasm/src/template.c`, used to PdWebCompiler to build the `main.c` file.
* The `pd2wasm/resources/PdWebCompiler.py`, which configures the `main.c` file.
Raw data
{
"_id": null,
"home_page": "https://www.charlesneimog.com/PdWebCompiler",
"name": "pd2wasm",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10,<4.0",
"maintainer_email": "",
"keywords": "",
"author": "Charles K. Neimog",
"author_email": "charlesneimog@outlook.com",
"download_url": "https://files.pythonhosted.org/packages/2b/5c/8ac59a485a78af37b42c77d1b99fa7ea08c51f5586b3af8254770966f360/pd2wasm-1.1.0.tar.gz",
"platform": null,
"description": "<p align=\"center\">\n <h1 align=\"center\">PdWebCompiler</h1>\n <p align=\"center\">\n <a href=\"https://github.com/plugdata-team/plugdata/wiki\">\n <img src=\"https://raw.githubusercontent.com/charlesneimog/PdWebCompiler/main/docs/assets/icon-light.svg\" alt=\"Logo\">\n </a>\n </p>\n <h4 align=\"center\">Running Pd Patches in Your Web Browser.</h4>\n</p>\n\n<p align=\"center\">\n <a href=\"https://github.com/charlesneimog/PdWebCompiler/releases/latest\"><img src=\"https://img.shields.io/github/release/charlesneimog/PdWebCompiler?include_prereleases\" alt=\"Release\"></a>\n <a href=\"https://pypistats.org/packages/pd2wasm\"><img src=\"https://img.shields.io/pypi/dm/pd2wasm\" alt=\"Downloads\"></a>\n <a href=\"https://pypistats.org/packages/pd2wasm\"><img src=\"https://img.shields.io/pypi/pyversions/pd2wasm\" alt=\"Version\"></a>\n</p>\n\n<p align=\"center\">\n <a href=\"https://img.shields.io/pypi/pyversions/pd2wasm\"><img src=\"https://img.shields.io/badge/platforms-macOS%20%7C%20Windows%20%7C%20Linux-green\" alt=\"License\"></a>\n</p>\n\n<p align=\"center\">\n <a href=\"https://github.com/charlesneimog/PdWebCompiler/actions/workflows/Test.yml\"><img src=\"https://github.com/charlesneimog/PdWebCompiler/actions/workflows/Test.yml/badge.svg\" alt=\"License\"></a>\n</p>\n\n<p align=\"center\">\n <h2 align=\"center\">Intro</h2>\n <br>\n</p>\n\n`PdWebCompiler` allows to run PureData patches in web browsers using Web Audio technologies. This tool stands out from other approaches like [hvcc](https://github.com/Wasted-Audio/hvcc) and [WebPd](https://github.com/sebpiq/WebPd) because it compiles the [libpd](https://github.com/libpd/libpd) source, this is possible mainly because of the work of [claudeha](https://github.com/claudeha). You can compile any PureData vanilla patch and most of the externals.\n\n#### \u26a0\ufe0f Warning: Breaking Changes Ahead \u26a0\ufe0f\n\nThe project is very recent, so can be very hard breaking changes for sometime.\n\n<p align=\"center\">\n <h2 align=\"center\">Already Supported Library Externals</h2>\n <hr>\n</p>\n\n\n| Library | Not Supported | Number of Objects | \n|:---------:|:----------------------------:|:-----------------:|\n| else | `sfont~`, `plaits~`, `sfz~` | 509 |\n| cyclone | - | \u00b1 197 |\n| convolve~ | - | 1 |\n| timbreIDLib | - | 109 |\n\nSo, for now, we have more than 800 supported externals objects.\n\n* **Note**: Some objects, mainly due to dynamic libraries or GUI componets, are not supported yet. Feel free to submit a Pull Request to add support for them.\n\n<p align=\"center\">\n <h2 align=\"center\">Running Your Patch on the Internet</h2>\n <br>\n</p>\n\nTo make your patch available online, follow these steps:\n\n#### 1. Install Python (first-time setup)\n\n* **Linux**: `apt install python3.11`, `dnf install python3.11`, etc.\n* **MacOS**: Download and install Python from the [Python website](https://www.python.org/downloads/release/python-3115/).\n* **Windows**: `winget install -e --id Python.Python.3.11` or go to [Python website](https://www.python.org/downloads/release/python-3115/)\n\n#### 2. Then Install pd2wasm (first-time setup)\n\n``` bash\npip install pd2wasm\n```\n#### 3. Now, it is just to compile your patch\n\n``` bash\npd2wasm --patch ./YOUR_PATCH.pd --server-port 8080\n```\n\n<p align=\"center\">\n <h2 align=\"center\">Making a Pull Request</h2>\n <br>\n</p>\n\nJoin us in contributing to this repository! Explore the primary areas for your valuable contributions:\n\n* The `pd2wasm/lib/` folder, which contains files with special steps for compiling certain `externals/libraries`.\n* The `pd2wasm/src/template.c`, used to PdWebCompiler to build the `main.c` file.\n* The `pd2wasm/resources/PdWebCompiler.py`, which configures the `main.c` file.\n\n",
"bugtrack_url": null,
"license": "",
"summary": "pd2wasm convert a PureData patch to Wasm file.",
"version": "1.1.0",
"project_urls": {
"Documentation": "https://www.charlesneimog.github.io/PdWebCompiler",
"Homepage": "https://www.charlesneimog.com/PdWebCompiler",
"Repository": "https://github.com/charlesneimog/PdWebCompiler"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ea0a25a4aca89d97e51a898adeff47b16bb2d1a714ba891fdc9d3ecca4940096",
"md5": "49e36c4ae6c49e69218aeefdef3fecb6",
"sha256": "bea409a521bf562dbd416c59d6aa4f905b1ee94b7d37102aeb2fc8ebe5d226de"
},
"downloads": -1,
"filename": "pd2wasm-1.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "49e36c4ae6c49e69218aeefdef3fecb6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10,<4.0",
"size": 944402,
"upload_time": "2023-09-28T22:20:21",
"upload_time_iso_8601": "2023-09-28T22:20:21.751418Z",
"url": "https://files.pythonhosted.org/packages/ea/0a/25a4aca89d97e51a898adeff47b16bb2d1a714ba891fdc9d3ecca4940096/pd2wasm-1.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2b5c8ac59a485a78af37b42c77d1b99fa7ea08c51f5586b3af8254770966f360",
"md5": "982000e91f6910a4314f643a68d76f6c",
"sha256": "f78e0860af7cb713d28159789556b3fa96f8563dd8fb13d2b0a93d87324e99e1"
},
"downloads": -1,
"filename": "pd2wasm-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "982000e91f6910a4314f643a68d76f6c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10,<4.0",
"size": 935447,
"upload_time": "2023-09-28T22:20:23",
"upload_time_iso_8601": "2023-09-28T22:20:23.742311Z",
"url": "https://files.pythonhosted.org/packages/2b/5c/8ac59a485a78af37b42c77d1b99fa7ea08c51f5586b3af8254770966f360/pd2wasm-1.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-28 22:20:23",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "charlesneimog",
"github_project": "PdWebCompiler",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pd2wasm"
}