Foxdot

Latest version: v0.8.12

Safety actively analyzes 625566 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 7 of 11

0.3.7

- Nested pattern bug fixed so that they no longer cause patterns to loop
- Improved clock scheduling after proper "latency" implementation
- Added a new SynthDef, `loop`, to play longer samples:

python
First argument is the name of the file minus the extension

p1 >> loop("billions")

Use the dur keyword to specify when to loop the file

p1 >> loop("billions", dur=8)

The second argument is the starting point in beats such that the following 2 lines are equivalent

p1 >> loop("billions", dur=16)

p1 >> loop("billions", [0,8], dur=8)

- Added ability to use the lambda symbol in place of the word lambda. Insert it by using `Ctrl+L`.
- Put `slide`, `slidefrom`, `coarse`, `pshift` into their own effects

0.3.6

- Any delay or stutter behaviour in Players is now handed over to SuperCollider by timestamping the OSCBundle, which should make FoxDot a lot more efficient & removed `send_delay` and `func_delay` classes.
- Using a `TimeVar` in a pattern function, such as `PDur`, now creates a time-varying pattern as opposed to a pattern that uses the `TimeVar`'s current value. e.g.
python
>>> test = PDur(var([3,5], 4), 8)
>>> print test time is 0

0.3.5

- In addition to P\*, P+, P/, and P\** have been added. P+ refers uses the sustain values in a player to derive its delay. P/ delays the events every other time it is accessed, and P\** shuffles the order the values are delayed.
- Added `PWalk` generator pattern.
- TimeVars are easier to update once created.
python
Creates a named instance called foo
var.foo = var([0,1],4)

Reassigning a var to a named var updates the values instead of creating a new var
var.foo = var([2,3,4,5],2)

- Removed `sleep` from scheduling clock loop to increase performance. If you want to decrease the amount of CPU FoxDot uses, change the sleep duration to a small number around 0.001 like so
python

0.3.3

- Added a new `Pattern` type data structure called a P-Star or `P*`. It is a subclass of `PGroup` but it has a "behaviour" that effects the current event of Player object, which, in this instance, adds a delay to each value based on the current Player's duration. e.g.

python
Plays the first note, 0, for 4 beats then the pitches 2, 4, and 6 at 4/3 beats each.
p1 >> pluck([0, P*(2,4,6)], dur=4)

The can be nested
p1 >> pluck([0, P*(2,4,P*(6,7)], dur=4)

Work in the same way that a SamplePlayer uses square brackets
p2 >> play("x[--]o[-o]")

- Frequency and buffer number calculation is done per OSCmessage which means these values can be modified in any delayed message i.e. when using the Player `stutter` method like so:
python
p1 >> pluck([0,1,2,3], dur=1).every(4, 'stutter', 4, degree=[10,12], pan=[-1,1] )

d1 >> play("x-o-").every(5, 'stutter', 2, cycle=8, degree="S")

- Using as `linvar` as the Clock tempo will no longer crash the Clock.
- New effects have been added; `shape` which is a value between 0 and 1 (can be higher) that relates to a level of distortion, and `formant` which is a value between 0 and 8 and applies different formant filters to the audio.
- `hpf` and `lpf` have resonance values now: `hpr` and `lpr`
- You can open the config file directly from FoxDot by using the "Help & Settings" menu. Likewise you can open the directory that holds where your samples are kept. This can be changed in the config file.

0.3.2

- `PlayerKey` data type can handle `PGroup` transformations without crashing, which improves performance when using `follow`
- `PlayerKey` data type greater than and less than functions fixed and now works with amplitudes.
- Better handling of scheduled functions that are "late"
- Experimental: `play` SynthDef can have a rate of -1 to be played in reverse and also uses a keyword `coarse` similar in function to `chop`
- Added `Pattern` method, palindrome that appends a mirrored version of the pattern to itself.
- Removed visual feedback for shuffling, rotating, etc patterns in Players as it did not work correctly with nested patterns.

0.3.1

- `TempoClock` uses a `start_time` value that, when used on multiple instances of FoxDot, should synchronise the timings. This is a work in progress
- Added a "use SC3 Plugins" tick-box on the "Code" drop down menu to allow for easier configuration
- `piano` SynthDef added using th SC3 Plugin "MdaPiano"

Page 7 of 11

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.