pd2wasm


Namepd2wasm JSON
Version 1.1.0 PyPI version JSON
download
home_pagehttps://www.charlesneimog.com/PdWebCompiler
Summarypd2wasm convert a PureData patch to Wasm file.
upload_time2023-09-28 22:20:23
maintainer
docs_urlNone
authorCharles K. Neimog
requires_python>=3.10,<4.0
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <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"
}
        
Elapsed time: 0.63742s