Skip to content

Releases: DBraun/DawDreamer

v0.6.11

14 Sep 05:52
bf874f5
Compare
Choose a tag to compare
  • No breaking changes, hopefully just better VST support. Please try and report.
  • Fix possible MIDI memory issue.
  • Add the Faust Box and Signal APIs. Check out tests/test_libfaust*.py) if you're interested! There will be a tutorial eventually.

v0.6.10

30 Jun 03:51
Compare
Choose a tag to compare
  • New feature to fetch automation as audio-rate data. Use processor.record_automation = True and processor.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 whenbeats=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

09 Jun 01:58
1c2e4f8
Compare
Choose a tag to compare

Non-breaking changes:

  • Don't use KissFFT on Windows. This should have a marginal quality improvement for PlaybackWarpProcessor.

v0.6.8

08 Jun 23:15
e860553
Compare
Choose a tag to compare

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

21 May 17:27
fd68c13
Compare
Choose a tag to compare

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 kwarg beats=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

18 May 21:37
53f853c
Compare
Choose a tag to compare

Versions 0.6.7 and above dropped convert_to_sec=True in favor of beats=False.

BPM/PPQN new features:

  • load_midi and add_midi_note now take convert_to_sec as a kwarg, which is True by default. This maintains backwards compatibility. When convert_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 for clear_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

11 May 04:31
e3762e1
Compare
Choose a tag to compare

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)

v0.6.4

28 Apr 22:33
21dc472
Compare
Choose a tag to compare

PyPI now has wheels for Linux x86_64 with Python 3.7, 3.8, 3.9, 3.10

Try it in a Google Colab!

v0.6.3

19 Apr 17:22
Compare
Choose a tag to compare

Quick update to v0.6.2: Fix issue when overwriting files with Plugin Processor's save_state(filepath: str)

v0.6.2

19 Apr 04:15
5a3a605
Compare
Choose a tag to compare

New Plugin Processor features:

  • open_editor()
  • load_state(filepath: str)
  • save_state(filepath: str)
  • can_set_bus(inputs: int, outputs: int)
  • set_bus(inputs: int, outputs: int)

See tests/test_plugins.py for more examples.