Dawdreamer

Latest version: v0.8.3

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

Scan your dependencies

Page 1 of 5

0.8.3

**For macOS builds, macOS 12 (Monterey) is required.
For all platforms Python 3.10 or higher is required (to save space on PyPI).**

PluginProcessor:
* Added `get_parameter_range(index: int, search_steps: int = 1000, convert: bool = True)`
Since `convert=True`, the output will try to convert the parameter's range of text labels into floats (e.g. `"16.2 kHz"` will become `16200.0`, `"440 Hz"` will become `440`, `"50% (-32.0 dB)"` will become `-32.0`, and so on). If `convert=False`, you'll get the strings instead of the float conversions.

FaustProcessor:
* Use libfaust 2.70.3 (which is behind the latest libfaust version 2.74.6)
* Added `opt_level` property for LLVM optimization level, defaulting to -1 for backwards compatibility.
* Allow multiple paths for Faust assets paths and library paths.
* `.faust_libraries_path` (a str)
* `.faust_libraries_paths` (a list of str)
* `.faust_assets_path` (a str)
* `.faust_assets_paths` (a list of str)
* `boxFFun` and `sigFFun` have been added to the Box API and Signal API.
* Fixed a bug with `boxVGroup` accidentally using `boxHGroup`

0.8.0

**Breaking changes:**
* `boxFromDSP` now returns just a `box`, not a tuple of `(box, inputs, outputs)`
* `getBoxType` has been removed.

Improvements:
* A box object has new properties: `.valid`, `.inputs` `.outputs`. This is why `boxFromDSP` changed and `getBoxType` was removed.
* FaustProcessor's `compile_box` now looks for `.lib`/`.dsp` files in its `.faust_libraries_path` directory.
* Update libfaust to [2.69.3](https://github.com/grame-cncm/faust/releases/tag/2.69.3).
* PyPI builds for Python 3.12
* Update JUCE to 7.0.8
* Minor touchups to the `Faust to JAX`/`Faust to QDax`/`Box API notebooks`. These will have more improvements over the next two weeks.

0.7.4

**This release fixes issues introduced in 0.7.2 and 0.7.3.**
**PyPI now requires Python 3.8 for Windows/Linux. MacOS requires Python 3.9.**

Bug fixes:
* In between renders, a plugin processor is now better told to turn off all MIDI notes. This is helpful if a render ends before a Note Off event.
* `RenderEngine.cpp` has fixed an issue when the output render size was off by one sample if the block size was 2.

Other updates:
* JUCE has been updated to 7.0.7.
* pybind11 has been updated.
* Sampler Processor Plugin project has been updated.
* libfaust has been updated to 2.68.1.
* rubberband has been updated
* libsamplerate has been updated.
* libfaust (the Box and Signal API) files have been refactored into more isolated files.
* The Faust Processor can now load `soundfile` primitives directly from the filesystem. If the file hasn't been specified via `set_soundfiles` then the filesystem will be checked.
* * Similar improvement for `boxSoundfile("mySound[url:{'tango.wav'}]", 2)`: If you tell a FaustProcessor to compile the box involving `boxSoundfile`, then the files will be loaded. As a fallback, the dictionary from `set_soundfiles` will be used.
* Python floats and ints can be implicitly converted into `boxReal(val)`, `boxInt(val)`, `sigReal(val)`, and `sigInt(val)`: `boxHSlider("cutoff", 440, 20, 20000, .001)` is OK (440 is implicitly casted `boxInt(440)`

0.7.3

**PyPI now requires Python 3.8 for Windows/Linux. MacOS requires Python 3.9.**

Bug fixes:
* In between renders, a plugin processor is now better told to turn off all MIDI notes. This is helpful if a render ends before a Note Off event.
* `RenderEngine.cpp` has fixed an issue when the output render size was off by one sample if the block size was 2.

Other updates:
* JUCE has been updated to 7.0.7.
* pybind11 has been updated.
* Sampler Processor Plugin project has been updated.
* libfaust has been updated to 2.68.1.
* libfaust (the Box and Signal API) files have been refactored into more isolated files.
* The Faust Processor can now load `soundfile` primitives directly from the filesystem. If the file hasn't been specified via `set_soundfiles` then the filesystem will be checked.
* * Similar improvement for `boxSoundfile("mySound[url:{'tango.wav'}]", 2)`: If you tell a FaustProcessor to compile the box involving `boxSoundfile`, then the files will be loaded. As a fallback, the dictionary from `set_soundfiles` will be used.
* Python floats and ints can be implicitly converted into `boxReal(val)`, `boxInt(val)`, `sigReal(val)`, and `sigInt(val)`: `boxHSlider("cutoff", 440, 20, 20000, .001)` is OK (440 is implicitly casted `boxInt(440)`

0.7.1

This version adds some multiprocessing [tests](https://github.com/DBraun/DawDreamer/blob/main/tests/test_multithread.py) and [examples](https://github.com/DBraun/DawDreamer/tree/main/examples/multiprocessing_plugins).

Behind the scenes, we're using the JUCE AudioProcessorGraph in a slightly better way.
* The mutex in PluginProcessor has been removed because it was no longer necessary.
* We create the JUCE MessageManager instance *before* creating the AudioProcessorGraph.

0.7.0

Breaking changes:
* Dropped PyPI builds for macOS python 3.7/3.8. Please use Python 3.9 or higher.
* Minimum macOS version is now 11.0.

Updates:
* https://github.com/DBraun/DawDreamer/issues/152 is a high-priority bug that is not yet addressed.
* Fixed crash with `PluginProcessor.record_automation`
* Updated to Faust version 2.59.6 and the associated Faust Libraries.
* Updated the Box/Signal APIs with some new functions
* * Fixed some of the `isBox` functions in the Faust Box API.

Developer notes:
* Removed libfaust files from repository
* Build procedure now dynamically downloads libfaust
* Updated faust, faustlibraries, and pybind11 submodules
* Developer's Guide will be updated this week to reflect these changes.
* The JAX/QDax Python notebooks will also be updated very soon.

Page 1 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.