pipewire_python
@@ -113,89 +113,90 @@Tutorial
-View Source
-""" -## Description + + + + +-[PIPEWIRE](https://pipewire.org/) provides a low-latency, graph based processing engine -on top of audio and video devices that can be used to -support the use cases currently handled by both pulseaudio -and JACK. PipeWire was designed with a powerful security model -that makes interacting with audio and video devices from -containerized applications easy, with supporting Flatpak -applications being the primary goal. Alongside Wayland and -Flatpak we expect PipeWire to provide a core building block -for the future of Linux application development. - -[pipewire_python](https://pypi.org/project/pipewire_python/) -controlls `pipewire` via terminal, creating shell commands and executing them as required. - -🎹 There are two ways to manage the python package: - -1. NO_ASYNC: this way works as expected with delay time between -`pipewire_python` and the rest of your code. - -2. ASYNC: [⚠️Not yet implemented] this way works delegating the task to record or to play -a song file in background. Works with threads. - -3. MULTIPROCESS: [⚠️Not yet implemented] Works with processes. - - -📄 More information about `pipewire` and it's API's: - -- 🎵 Asyncio https://docs.python.org/3/library/asyncio-subprocess.html -- 🎵 Pipewire APIs https://www.linuxfromscratch.org/blfs/view/cvs/multimedia/pipewire.html -- 🎵 APIs example https://fedoraproject.org/wiki/QA:Testcase_PipeWire_PipeWire_CLI - -Developed with ❤️ by Pablo Diaz & Anna Absi - - -## Install via -```bash - -pip3 install pipewire_python # or pip -``` - -## Tutorial - - -```python -from pipewire_python.controller import Controller - -# PLAYBACK: normal way -audio_controller = Controller() -audio_controller.set_config(rate=384000, - channels=2, - _format='f64', - volume=0.98, - quality=4, - # Debug - verbose=True) -audio_controller.playback(audio_filename='docs/beers.wav') - -# RECORD: normal way -audio_controller = Controller(verbose=True) -audio_controller.record(audio_filename='docs/5sec_record.wav', - timeout_seconds=5, - # Debug - verbose=True) - -``` -""" - -__version__ = "0.1.1" - -import sys - -if sys.platform == "linux": - # from pipewire_python.controller import * - pass -else: - raise NotImplementedError("By now, Pipewire only runs on linux.") -1""" + 2## Description + 3 + 4[PIPEWIRE](https://pipewire.org/) provides a low-latency, graph based processing engine + 5on top of audio and video devices that can be used to + 6support the use cases currently handled by both pulseaudio + 7and JACK. PipeWire was designed with a powerful security model + 8that makes interacting with audio and video devices from + 9containerized applications easy, with supporting Flatpak +10applications being the primary goal. Alongside Wayland and +11Flatpak we expect PipeWire to provide a core building block +12for the future of Linux application development. +13 +14[pipewire_python](https://pypi.org/project/pipewire_python/) +15controlls `pipewire` via terminal, creating shell commands and executing them as required. +16 +17🎹 There are two ways to manage the python package: +18 +191. NO_ASYNC: this way works as expected with delay time between +20`pipewire_python` and the rest of your code. +21 +222. ASYNC: [⚠️Not yet implemented] this way works delegating the task to record or to play +23a song file in background. Works with threads. +24 +253. MULTIPROCESS: [⚠️Not yet implemented] Works with processes. +26 +27 +28📄 More information about `pipewire` and it's API's: +29 +30- 🎵 Asyncio https://docs.python.org/3/library/asyncio-subprocess.html +31- 🎵 Pipewire APIs https://www.linuxfromscratch.org/blfs/view/cvs/multimedia/pipewire.html +32- 🎵 APIs example https://fedoraproject.org/wiki/QA:Testcase_PipeWire_PipeWire_CLI +33 +34Developed with ❤️ by Pablo Diaz & Anna Absi +35 +36 +37## Install via +38```bash +39 +40pip3 install pipewire_python # or pip +41``` +42 +43## Tutorial +44 +45 +46```python +47from pipewire_python.controller import Controller +48 +49# PLAYBACK: normal way +50audio_controller = Controller() +51audio_controller.set_config(rate=384000, +52 channels=2, +53 _format='f64', +54 volume=0.98, +55 quality=4, +56 # Debug +57 verbose=True) +58audio_controller.playback(audio_filename='docs/beers.wav') +59 +60# RECORD: normal way +61audio_controller = Controller(verbose=True) +62audio_controller.record(audio_filename='docs/5sec_record.wav', +63 timeout_seconds=5, +64 # Debug +65 verbose=True) +66 +67``` +68""" +69 +70__version__ = "0.1.1" +71 +72import sys +73 +74if sys.platform == "linux": +75 # from pipewire_python.controller import * +76 pass +77else: +78 raise NotImplementedError("By now, Pipewire only runs on linux.") +