Releases: Woyten/tune
Releases · Woyten/tune
Improved stage nesting
- Improvement: Add
BufferWriter::{process, read}
- Improvement / Change:
Magnetron::{process, process_nested}
is now a combinationMagnetron::{prepare, prepare_nested}
andBufferWriter::process
- Improvement / Change: Homogenize
BufferWriter::read_x_write_y
- Add
out_level
/out_levels
argument in every function out_level
/out_levels
receives anOption<f64>
defaulting to an amplitude of 1.0 if absent
- Add
- Improvement: Add
StageActivity::Observer
Update dependencies
- Upgrade
tune
to 0.34.0
Stereo buffers, unified audio pipeline, sympathetic resonance
- Improvement / Change: Treat effects and waveform stages the same. You can now apply filters in the main audio pipeline as effects or you can include effects in your waveform stages.
- Improvement: Apply buffer concept to main audio pipeline. This offers new possibilities:
- Declare multiple instances of output targets (Magnetron synth, Fluid synth, MIDI-out)
- Route different waveforms to different effect processors
- Simulate a key-based sympathetic resonance effect
- Improvement: Enhance envelope routing. You can use any waveform buffer as an envelope source and output the enveloped signal to any main pipeline buffer
- New: Add some example profiles
- New: Handle balance events (CCN 8, configurable) and pan events (CCN 10, configurable)
- New: Add
LfSource::Fader
. This enables you to gradually fade a control parameter between two values. - Change: The configuration method changed a lot and it is difficult to document every change here. Please refer to the current documentation to fix your old config.
Magnetron overhaul
- Deletion:
InBuffer
andOutBuffer
no longer exist. Use theBufferIndex
enum instead. - Change:
BufferWriter::read_<n>_and_write
is nowBufferWriter::read_<n>_write_1
- New: Add
BufferWriter::read_<n>_write_2
for stereo signal processing - Change:
spec::Spec
is nowautomation::AutomatableValue
- Change:
spec::Creator
is nowcreator::Creator
- Change:
Creator::create
is nowCreator::create_value
- Change:
Stage
is nowstage::Stage
- Change:
StageState
is nowstage::StageActivity
- Deletion: The
waveform
module has been removed in order to de-specialize waveforms, further changes include:- Change:
Creator::new
no longer accepts theenvelopes
argument - Deletion:
Creator::create_envelope
has been removed
- Change:
- Improvement:
Magnetron
has been overhauled:- Change:
Magnetron::clear
andMagnetron::write
have been merged toMagnetron::process
- Improvement:
Magnetron::process
evaluates and returns theStageActivity
- New: Use
Magnetron::process_nested
to call aMagnetron
instance within aStage
- Change:
Magnetron::mix
is nowMagnetron::read_buffer
- Deletion:
Magnetron::set_audio_in
has been removed- This functionality was too specific and it can be easily achieved now by creating a
Stage
that writes toBufferIndex::External
.
- This functionality was too specific and it can be easily achieved now by creating a
- Change:
Remove obsolete error codes
- Deletion:
SclBuildError::ScaleIsTrivial
andSclBuildError::ItemOutOfRange
are no longer part of the API- They weren't returned since
tune-0.32.1
but remained a part of the API to ensure compatibility
- They weren't returned since
No functional changes, prepare microwave release
tune-cli-0.26.0 Prepare next tune-cli version
Minor improvement, update dependencies
- Improvement: Add
Xenth::read
to retrieve a continuous stream of rendered audio samples
Use Bevy graphics engine
- Improvement:
microwave
uses Bevy as graphics engine including 3D graphics
Support exotic scales
- Improvement: Scales with exotic properties (negative period, no period, with overshooting items) are supported
Feature-completeness of Scala tuning files support
- Improvement: Support for Scala tuning files is now feature-complete
- New: Support wonky scales / scales with items that were previously considered out-of-range
- New: Support non-periodic scales / scales with a period of 0 cents
- New: Support scales with negative-cents period