Metadata-Version: 2.4
Name: FoxDotSupriya
Version: 0.1.0
Summary: Integration with FoxDot and Supriya to white SynthDefs/Effects.
License: CC-BY-SA-4.0
License-File: LICENSE
Author: taconi
Author-email: igor.taconi@protonmail.com
Requires-Python: ~=3.11
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: supriya (>=25.9b1,<26.0)
Description-Content-Type: text/markdown

# FoxDotSupriya - Integration with FoxDot and Supriya to white SynthDefs/Effects.

## Instalation

``` shell
pip install FoxDotSupriya
# or
pip install git+https://codeberg.org/FoxDotExtensions/FoxDotSupriya
```

## Usage

Import lib

``` python
from FoxDot.lib.Extensions.Supriya import *
```

### Effects

TODO: examples

### SynthDef

- `sine`: Simples sine oscilator.

	``` python
	p1 >> sine()
	```

### Your Own SynthDef

See [Using Your Own Synthdefs](https://foxdot.org/docs/using-your-own-synthdefs/) for more details.

Write/modifier your synths

``` python
from supriya import Envelope
from supriya.ugens import EnvGen, ReplaceOut, Pan2, In, LFTri, SinOsc, LFSaw, Pulse

@SynthDef
def mysynth(amp=1, sus=1, pan=0, freq=0, bus=0, atk=0.01):
	freq = In.kr(bus=bus, channel_count=1)  # see https://foxdot.org/docs/using-your-own-synthdefs/
	osc = LFTri.ar(frequency=freq) * amp
	env = EnvGen.ar(
		envelope=Envelope.percussive(attack_time=atk, release_time=sus),
		done_action=0  # every doneAction must be 0, see https://foxdot.org/docs/using-your-own-synthdefs/
	)
	osc = Pan2.ar(source=osc * env, position=pan)
	ReplaceOut.ar(bus=bus, source=osc)  # ReplaceOut is needed to FoxDot, see https://foxdot.org/docs/using-your-own-synthdefs/

m1 >> mysynth([0,2,4,2], dur=[[1,.5], PDur(7,8)], shape=0.15, chop=2)
```

You can modify the synth definition in runtime. Try change `LFTri` for `LFSaw` or `Pulse`.

Feel free to submit new synths to the library for others to use.

