Foxdot

Latest version: v0.8.12

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

Scan your dependencies

Page 8 of 11

0.3

- `var` type can be used with Player `delay` and nested groups in the `oct` attribute.
- Increased `TempoClock` latency to 0.2 seconds for improved performance.
- Better handling for auto-completed quotation marks

0.2.11

- Caught `ImportError` if the user does not have `rtmidi` installed.
- Improved `Player.stutter

0.2.10

- New SynthDefs added. Use `print SynthDefs` to view.
- Improved timing in the `TempoClock` class through use of threading and a latency value. Thanks to Yaxu and Charlie Roberts for the help.
- Dubstep samples added to the 'K' character.
- Sample banks re-arranged. Use `print Samples` for more information.
- Sample Player argument, `scrub` removed. You can now use `slide`/`slidefrom` and `vib` as you would do with a normal Player object to manipulate playback rate.
- `Pattern` class now has a `layer` method that takes a name of a `Pattern` method as its first argument and then arguments and keyword arguments for that method and creates a pattern of `PGroups` with their values zipped together.

python
>>> print P[1,2,3,4].layer("reverse")
P[P(1, 4), P(2, 3), P(3, 2), P(4, 1)]

>>> print P[1,2,3,4].layer("rotate", 2)
P[P(1, 3), P(2, 4), P(3, 1), P(4, 2)]


- New nested `PGroup` behaviour added for players. Each value in each `PGroup` in an event relates to the values in any other `PGroup` in the same index, even if that value is also a `PGroup`. This concept is better described through an example:

python
p1 >> pluck((0,2), pan=(0,(-1,1)), vib=(0,(0,12)), dur=4, chop=(0,4))


The first note, 0, is played with a pan of 0, chop of 0, and with no vibrator added. The second note, 2, is played with a chop of 4 and with no vibrato with a pan of -1 (left) but with a vibrato value of 12 with a pan of 1 (right).

- Experimental: Players can "follow" other Players' attributes over time by referencing their attributes.

python
p1 >> pads([4,5,6,7], dur=2, chop=4)

p2 >> pluck(p1.degree + 2, vib=p1.chop*3)

0.2.9

- Improved automatic bracket handling and formatting
- Colour scheme update
- "Upper-case" samples now read properly
- `cycle` argument added to the `.every()` player method to denote the cycle length of which to execute the specified method, e.g.


Shuffles the samples on the 5th beat of each 8 beat cycle
bd >> play("x-o-").every(5, 'shuffle', cycle=8)

0.2.8

- Minor bug fixes
- Improved automatic bracket handling and formatting
- Console is now resizable
- Scale and root can be assigned using the equals operator e.g. `Scale.default = "minor"` and `Root.default = var([0,4])`

0.2.7

- Rest class added
- Undo and Redo functions fixed
- Infinite loop caused by empty brackets in PlayStrings fixed
- Menu bar added with several short-cuts
- Player follow method improved
- Improved documentation
- "style" keyword argument changed to "sample"

Page 8 of 11

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.