Releases: DBraun/DawDreamer
Releases · DBraun/DawDreamer
v0.6.11
v0.6.10
- New feature to fetch automation as audio-rate data. Use
processor.record_automation = True
andprocessor.get_automation()
to get a dictionary. - New feature to save MIDI
processor.save_midi("path/to/my_output.mid")
. Use it after rendering. - Upgrade to JUCE 7, enabling LV2 plugins, although not tested
- Bug fix related to MIDI timing when
beats=True
. This only mattered significantly if the buffer size was large. - Bug fixes related to VST3 parameters (ignore parameters which aren't automatable or have empty "" name)
- Performance optimization for FaustProcessor and PluginProcessor parameters which aren't automated (they're constant)
- Git repository no longer includes JUCE_6/JUCE_7 because it's just included in
JuceLibraryCode
v0.6.9
v0.6.8
Breaking changes:
- PlaybackWarpProcessor now has an enum config system based on Rubber Band's docs. The code below will maintain backwards compatibility
rb_option = daw.PlaybackWarpProcessor.option
playback_warp_processor.set_options(
rb_option.OptionTransientsSmooth |
rb_option.OptionPitchHighQuality |
rb_option.OptionChannelsTogether
)
Non-breaking changes:
- Fixed a bug related to PlaybackWarpProcessor when warp is off.
- PyPI now includes Windows with Python 3.10
v0.6.7
Breaking change:
convert_to_sec=True
kwarg has been refactored into beats=False
everywhere.
New features:
- PlaybackWarp Processor can now take audio of a different sample rate if you specify the rate as kwarg
sr
. RenderEngine.render
now has a default kwargbeats=False
. When True, the duration is measured in beats.
Bug fixes:
- Fix looping-related bad code in PlaybackWarp Processor. The tempo won't fall out of sync now.
- Fix
fopen
issue in Ableton Clip Info (too many file opens caused a crash).
Demo:
- New
examples/dj_mixing/dj.py
for DJ transitions. Start with one song at tempo A and fade to another song with tempo B.
v0.6.6
Versions 0.6.7 and above dropped convert_to_sec=True
in favor of beats=False
.
BPM/PPQN new features:
load_midi
andadd_midi_note
now takeconvert_to_sec
as a kwarg, which is True by default. This maintains backwards compatibility. Whenconvert_to_sec
is False, the notes are added according to their beats, so changes to the Engine's BPM will affect the timing.load_midi
has a kwarg forclear_previous
, which defaults to True, maintaining backwards compatibility.- RenderEngine's
set_bpm
can now take a numpy array and an integer PPQN. For example, if the values in the array change every PPQN samples, then the tempo change will be "on the beat." - Any parameter's
set_automation
now works with optional second PPQN rate argument.
Other features:
- RenderEngine has
remove_processor(name: str)
. If you really want to remove a processor (and break existing Python references to it), use this.
Bug fixes:
- Fix int cast overflow bug with playback warp processor
v0.6.5
No breaking changes.
- Fix memory leaks (#1, #88). In general, engines and processors should not leak when created over and over again, but some plugins will leak. Feel free to report them to me. TAL-NoiseMaker seems to leak. Serum does not.
- Plugin Processor's
load_state()
has been improved. Under the hood, it creates a window to the plugin and doesn't show the window to the user. This makes the plugin work correctly (for example Spitfire LABs). (This might address specific plugins such as #67)