{ "info": { "author": "Paulo Mateus Moura da Silva (SrMouraSilva)", "author_email": "mateus.moura@hotmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Multimedia :: Sound/Audio" ], "description": "PedalPi - PluginsManager\n========================\n\n.. image:: https://travis-ci.org/PedalPi/PluginsManager.svg?branch=master\n :target: https://travis-ci.org/PedalPi/PluginsManager\n :alt: Build Status\n\n.. image:: https://readthedocs.org/projects/pedalpi-pluginsmanager/badge/?version=latest\n :target: http://pedalpi-pluginsmanager.readthedocs.io/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://codecov.io/gh/PedalPi/PluginsManager/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/PedalPi/PluginsManager\n :alt: Code coverage\n\n\nPythonic management of LV2 audio plugins with `mod-host`_.\n\n.. _mod-host: https://github.com/moddevices/mod-host\n\n**Documentation:**\n http://pedalpi-pluginsmanager.readthedocs.io/\n\n**Code:**\n https://github.com/PedalPi/PluginsManager\n\n**Python Package Index:**\n https://pypi.org/project/PedalPi-PluginsManager\n\n**License:**\n `Apache License 2.0`_\n\n.. _Apache License 2.0: https://github.com/PedalPi/PluginsManager/blob/master/LICENSE\n\n\nInstall\n-------\n\nPlugin Manager has dependencies that must be installed before installing the library.\nAmong the dependencies are `lv2ls`_ to check the installed audio plugins\nand `PortAudio`_ for information on the audio interfaces through `PyAudio`_.\n\nOn Debian-based systems, run:\n\n\n.. code-block:: bash\n\n sudo apt-get install -y portaudio19-dev python-all-dev lilv-utils --no-install-recommends\n\nOf course, for PluginsManager to manage Lv2 audio plugins, it is necessary that they have installed\naudio plugins to be managed. The `Guitarix`_ and `Calf Studio`_ projects provide some audio plugins.\nTo install them:\n\n.. code-block:: bash\n\n pip install PedalPi-PluginsManager\n\n\n.. _lv2ls: http://drobilla.net/man/lv2ls.1.html\n.. _PortAudio: http://www.portaudio.com/\n.. _PyAudio: https://people.csail.mit.edu/hubert/pyaudio/\n.. _Calf Studio: http://calf-studio-gear.org/\n\nExample\n-------\n\n.. note::\n\n Other examples are in the `examples folder in the repository`_.\n\n.. _examples folder in the repository: https://github.com/PedalPi/PluginsManager/tree/master/examples\n\nThis examples uses `Calf`_ and `Guitarix`_ audio plugins.\n\nDownload and install `mod-host`_. For more information, check the `ModHost section `__.\n\nStart audio process\n\n.. code-block:: bash\n\n # In this example, is starting a Zoom g3 series audio interface\n jackd -R -P70 -t2000 -dalsa -dhw:Series -p256 -n3 -r44100 -s &\n mod-host\n\nPlay!\n\n.. code-block:: python\n\n from pluginsmanager.banks_manager import BanksManager\n from pluginsmanager.observer.mod_host.mod_host import ModHost\n\n from pluginsmanager.model.bank import Bank\n from pluginsmanager.model.pedalboard import Pedalboard\n from pluginsmanager.model.connection import Connection\n\n from pluginsmanager.model.lv2.lv2_effect_builder import Lv2EffectBuilder\n\n from pluginsmanager.model.system.system_effect import SystemEffect\n\nCreating a bank\n\n.. code-block:: python\n\n # BanksManager manager the banks\n manager = BanksManager()\n\n bank = Bank('Bank 1')\n manager.append(bank)\n\nConnecting with mod_host. Is necessary that the mod_host process already running\n\n.. code-block:: python\n\n mod_host = ModHost('localhost')\n mod_host.connect()\n manager.register(mod_host)\n\nCreating pedalboard\n\n.. code-block:: python\n\n pedalboard = Pedalboard('Rocksmith')\n bank.append(pedalboard)\n # or\n # bank.pedalboards.append(pedalboard)\n\nLoads pedalboard. All changes in pedalboard are reproduced in mod_host\n\n.. code-block:: python\n\n mod_host.pedalboard = pedalboard\n\nAdd effects in the pedalboard\n\n.. code-block:: python\n\n builder = Lv2EffectBuilder()\n\n reverb = builder.build('http://calf.sourceforge.net/plugins/Reverb')\n fuzz = builder.build('http://guitarix.sourceforge.net/plugins/gx_fuzz_#fuzz_')\n reverb2 = builder.build('http://calf.sourceforge.net/plugins/Reverb')\n\n pedalboard.append(reverb)\n pedalboard.append(fuzz)\n pedalboard.append(reverb2)\n # or\n # pedalboard.effects.append(reverb2)\n\nFor obtains automatically the sound card inputs and outputs, use `SystemEffectBuilder`.\nIt requires a `JackClient` instance, that uses `JACK-Client`_.\n\n.. _JACK-Client: https://jackclient-python.readthedocs.io/\n\n.. code-block:: python\n\n from pluginsmanager.jack.jack_client import JackClient\n client = JackClient()\n\n from pluginsmanager.model.system.system_effect_builder import SystemEffectBuilder\n sys_effect = SystemEffectBuilder(client).build()\n\nFor manual input and output sound card definition, use:\n\n.. code-block:: python\n\n sys_effect = SystemEffect('system', ['capture_1', 'capture_2'], ['playback_1', 'playback_2'])\n\n.. note::\n\n **NOT ADD sys_effect** in any Pedalboard\n\nConnecting:\n\n.. code-block:: python\n\n pedalbaord.connect(sys_effect.outputs[0], reverb.inputs[0])\n\n pedalbaord.connect(reverb.outputs[0], fuzz.inputs[0])\n pedalbaord.connect(reverb.outputs[1], fuzz.inputs[0])\n pedalbaord.connect(fuzz.outputs[0], reverb2.inputs[0])\n pedalbaord.connect(reverb.outputs[0], reverb2.inputs[0])\n\n pedalbaord.connect(reverb2.outputs[0], sys_effect.inputs[0])\n pedalbaord.connect(reverb2.outputs[0], sys_effect.inputs[1])\n\nConnecting using ``ConnectionList``:\n\n.. code-block:: python\n\n pedalboard.connections.append(Connection(sys_effect.outputs[0], reverb.inputs[0]))\n\n pedalboard.connections.append(Connection(reverb.outputs[0], fuzz.inputs[0]))\n pedalboard.connections.append(Connection(reverb.outputs[1], fuzz.inputs[0]))\n pedalboard.connections.append(Connection(fuzz.outputs[0], reverb2.inputs[0]))\n pedalboard.connections.append(Connection(reverb.outputs[0], reverb2.inputs[0]))\n\n pedalboard.connections.append(Connection(reverb2.outputs[0], sys_effect.inputs[0]))\n pedalboard.connections.append(Connection(reverb2.outputs[0], sys_effect.inputs[1]))\n\nSet effect status (enable/disable bypass) and param value\n\n.. code-block:: python\n\n fuzz.toggle()\n # or\n # fuzz.active = not fuzz.active\n\n fuzz.params[0].value = fuzz.params[0].minimum / fuzz.params[0].maximum\n\n fuzz.outputs[0].disconnect(reverb2.inputs[0])\n # or\n # pedalboard.connections.remove(Connection(fuzz.outputs[0], reverb2.inputs[0]))\n # or\n # index = pedalboard.connections.index(Connection(fuzz.outputs[0], reverb2.inputs[0]))\n # del pedalboard.connections[index]\n\n reverb.toggle()\n\n\n\nRemoving effects and connections:\n\n.. code-block:: python\n\n pedalboard.effects.remove(fuzz)\n\n for connection in list(pedalboard.connections):\n pedalboard.disconnect(connection)\n # or\n #pedalboard.connections.remove(connection)\n\n for effect in list(pedalboard.effects):\n pedalboard.effects.remove(effect)\n # or\n # for index in reversed(range(len(pedalboard.effects))):\n # del pedalboard.effects[index]\n\nObserver\n--------\n\n``ModHost`` is an **observer** (see ``UpdatesObserver``).\nIt is informed about all changes that\noccur in some model instance (``BanksManager``, ``Bank``,\n``Pedalboard``, ``Effect``, ``Param``, ...),\nallowing it to communicate with the ``mod-host`` process transparently.\n\nIt is possible to create observers! Some ideas are:\n\n * Allow the use of other hosts (such as `Carla`_);\n * Automatically persist changes;\n * Automatically update a human-machine interface (such as LEDs and\n displays that inform the state of the effects).\n\nHow to implement and the list of Observers implemented by this\nlibrary can be accessed in the `Observer section `__.\n\n.. _Carla: https://github.com/falkTX/Carla\n\n\nMaintenance\n-----------\n\nMakefile\n********\n\nExecute ``make help`` for see the options\n\nGenerate documentation\n**********************\n\nThis project uses `Sphinx`_ + `Read the Docs`_.\n\n.. _Sphinx: http://www.sphinx-doc.org/\n.. _Read the Docs: http://readthedocs.org\n.. _Calf: http://calf-studio-gear.org/\n.. _Guitarix: http://guitarix.org/\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/PedalPi/PluginsManager", "keywords": "pedal-pi mod-host lv2 audio plugins-manager carla", "license": "Apache Software License v2", "maintainer": "", "maintainer_email": "", "name": "PedalPi-PluginsManager", "package_url": "https://pypi.org/project/PedalPi-PluginsManager/", "platform": "Linux", "project_url": "https://pypi.org/project/PedalPi-PluginsManager/", "project_urls": { "Homepage": "https://github.com/PedalPi/PluginsManager" }, "release_url": "https://pypi.org/project/PedalPi-PluginsManager/0.7.1/", "requires_dist": null, "requires_python": "", "summary": "Pythonic management of LV2 audio plugins with mod-host.", "version": "0.7.1" }, "last_serial": 3673591, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "3b2651d33935aed4d853296224ef57f2", "sha256": "6e17928fc8aee493181844d19b08fe1b7be2db8db0debb269323070e9e150a91" }, "downloads": -1, "filename": "PedalPi-PluginsManager-0.2.0.tar.gz", "has_sig": false, "md5_digest": "3b2651d33935aed4d853296224ef57f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 241172, "upload_time": "2017-04-01T00:51:56", "url": "https://files.pythonhosted.org/packages/0b/2c/448f2de7e2c67fa0cf6d2facc050563662fc90bedd0189722e0a2435453d/PedalPi-PluginsManager-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "e51e1b1c61f0e9451aed59f84fa2fb45", "sha256": "8c524a9daa0258ef9a52b236c31c533871b61a443e92a128cf8ef71347c7ebf7" }, "downloads": -1, "filename": "PedalPi-PluginsManager-0.2.1.tar.gz", "has_sig": false, "md5_digest": "e51e1b1c61f0e9451aed59f84fa2fb45", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 241225, "upload_time": "2017-05-07T22:06:57", "url": "https://files.pythonhosted.org/packages/08/a8/43f457d20433020bbbc6df65462196c405dc031d4eeda9f95f394c4afa99/PedalPi-PluginsManager-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "a0da5d51d7c857219f814a1a744dd1c9", "sha256": "0d3665655c52abea6567aec9b3fa71114d7ac6c72577a7b9712c9f3339563b93" }, "downloads": -1, "filename": "PedalPi-PluginsManager-0.3.0.tar.gz", "has_sig": false, "md5_digest": "a0da5d51d7c857219f814a1a744dd1c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 253616, "upload_time": "2017-05-08T23:55:28", "url": "https://files.pythonhosted.org/packages/5f/b9/74434d70869e3ea990b2a78e9269476a049debcd431d28be1efca30b5641/PedalPi-PluginsManager-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "59e9b21a76e933aef25ce5ef26062dc0", "sha256": "e07e71eac359e40e91aa9502851c7b1cc6c430683f0d01dc79fdabf1767c11b7" }, "downloads": -1, "filename": "PedalPi-PluginsManager-0.3.1.tar.gz", "has_sig": false, "md5_digest": "59e9b21a76e933aef25ce5ef26062dc0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 253685, "upload_time": "2017-05-11T00:57:13", "url": "https://files.pythonhosted.org/packages/f1/44/b931da3ea35696f969cc1a6cbf759c7878dd9b5c2858ea143be74282a87b/PedalPi-PluginsManager-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "4bcf7b6f95e46075b2cb76e513bdbae6", "sha256": "536d39c692bba3c8c63ab7d8237f252bf7af7a756e557cfe25721d644881538d" }, "downloads": -1, "filename": "PedalPi-PluginsManager-0.3.2.tar.gz", "has_sig": false, "md5_digest": "4bcf7b6f95e46075b2cb76e513bdbae6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 254333, "upload_time": "2017-05-12T14:05:05", "url": "https://files.pythonhosted.org/packages/1d/b8/2106a8120dd752654e8e6290706e54d8ac37a6dc75c4b47071bbbf6daa0f/PedalPi-PluginsManager-0.3.2.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "25050c146f0b84e3c5652821ee4da422", "sha256": "aa07ba491ec35b382a9ebc318f1c3be39a6e4a333c5f1396811b7d49626dfefd" }, "downloads": -1, "filename": "PedalPi-PluginsManager-0.4.0.tar.gz", "has_sig": false, "md5_digest": "25050c146f0b84e3c5652821ee4da422", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 255714, "upload_time": "2017-05-17T18:01:35", "url": "https://files.pythonhosted.org/packages/06/7f/bd85838b6e8fe5d9946db4c4d6fb6493d2815182d660a75fa2dc1d7a2133/PedalPi-PluginsManager-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "59caa7363cbcf00cc5867c0ab230484f", "sha256": "584da01b45a82e75f09ecc745052031b3cb5815610aeb8f69778cd0ec4511f11" }, "downloads": -1, "filename": "PedalPi-PluginsManager-0.5.0.tar.gz", "has_sig": false, "md5_digest": "59caa7363cbcf00cc5867c0ab230484f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 262262, "upload_time": "2017-05-30T02:40:41", "url": "https://files.pythonhosted.org/packages/34/92/9a7e5f25dcc6ec32e20720a69e8bead8fa92a08bec04ba27394d8e3a7368/PedalPi-PluginsManager-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "fd031791954a03b5aa2132e6698d76a5", "sha256": "6711de2a1fa52df52610e0523aadf76b04bb2cd2498e6d56d64ecf5a9b360d7f" }, "downloads": -1, "filename": "PedalPi-PluginsManager-0.5.1.tar.gz", "has_sig": false, "md5_digest": "fd031791954a03b5aa2132e6698d76a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 262367, "upload_time": "2017-09-17T02:53:48", "url": "https://files.pythonhosted.org/packages/46/e8/7f4288beb201396fb9d74a6e445cbb73cdb146732ac78da8a217c974819e/PedalPi-PluginsManager-0.5.1.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "020c6cbe9e30493d7499ef6390302749", "sha256": "4b82a782e55afd2af0a7e7c170221ff43dab8a058ee73bce10137d763fef53a6" }, "downloads": -1, "filename": "PedalPi-PluginsManager-0.6.0.tar.gz", "has_sig": false, "md5_digest": "020c6cbe9e30493d7499ef6390302749", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 267806, "upload_time": "2017-11-30T13:22:47", "url": "https://files.pythonhosted.org/packages/a1/cf/32b5e46eb6110dbece14363b0cc10b593421ae4c7b21871e7f939b77e4da/PedalPi-PluginsManager-0.6.0.tar.gz" } ], "0.6.0a1": [ { "comment_text": "", "digests": { "md5": "1196cb78d493b3745437cb896898bdd0", "sha256": "062098249ac363a807bee5edb52feb4d5527cc1637b2d0be64419568fcd524da" }, "downloads": -1, "filename": "PedalPi-PluginsManager-0.6.0a1.tar.gz", "has_sig": false, "md5_digest": "1196cb78d493b3745437cb896898bdd0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 264930, "upload_time": "2017-10-19T13:15:11", "url": "https://files.pythonhosted.org/packages/c6/58/10075dd310f64251a95ca4797bc90b1748be5a0fbb5729f0f51c03e6566b/PedalPi-PluginsManager-0.6.0a1.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "031a65eb9ab8a903189260b99d6715cd", "sha256": "bc29c9a9c2654c9cb9f1ab003a43fa522541f425934a5e8bf7cdde90e71e2aa4" }, "downloads": -1, "filename": "PedalPi-PluginsManager-0.7.0.tar.gz", "has_sig": false, "md5_digest": "031a65eb9ab8a903189260b99d6715cd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 270125, "upload_time": "2018-02-18T02:17:42", "url": "https://files.pythonhosted.org/packages/ed/51/e3778485764449dd8a97eadce4b2602d95fd5fd5fe8f9cab549d3952de3a/PedalPi-PluginsManager-0.7.0.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "a7cd3cd3ab46b8881a680ae02647d956", "sha256": "1dbfc1bd330951a64eced150419bc52f31477ad32b02ea5877f82f1fdc4f4d4b" }, "downloads": -1, "filename": "PedalPi-PluginsManager-0.7.1.tar.gz", "has_sig": false, "md5_digest": "a7cd3cd3ab46b8881a680ae02647d956", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 270183, "upload_time": "2018-03-15T18:20:42", "url": "https://files.pythonhosted.org/packages/72/9b/17578e779010ef869640332d35c3e32f7a531a71e9bf637e01e01d78b516/PedalPi-PluginsManager-0.7.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a7cd3cd3ab46b8881a680ae02647d956", "sha256": "1dbfc1bd330951a64eced150419bc52f31477ad32b02ea5877f82f1fdc4f4d4b" }, "downloads": -1, "filename": "PedalPi-PluginsManager-0.7.1.tar.gz", "has_sig": false, "md5_digest": "a7cd3cd3ab46b8881a680ae02647d956", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 270183, "upload_time": "2018-03-15T18:20:42", "url": "https://files.pythonhosted.org/packages/72/9b/17578e779010ef869640332d35c3e32f7a531a71e9bf637e01e01d78b516/PedalPi-PluginsManager-0.7.1.tar.gz" } ] }