Releases: Woyten/tune
Releases · Woyten/tune
More temperament layouts, automatic color schemas
- Change: Complete rewrite of
temperament::EqualTemperament
, moved tolayout::EqualTemperament
- New: Add
EqualTemperament::get_colors
for auto-generated color schemas - Improvement: Add
EqualTemperament::get_keyboard
to obtain an isomorphic keyboard layout
- New: Add
- Change: Merge
temperament::{TemperamentType, TemperamentPreference}
into a single typelayout::PrototypeTemperament
- Improvement: Add
PrototypeTemperament::Mavila9
andPrototypeTemperament::Porcupine8
- Improvement:
TemperamentFinder::{by_edo, by_step_size}
now returns a list of matching temperaments
- Improvement: Add
- Change: Move
key::Keyboard
tolayout::IsomorphicKeyboard
- Change:
IsomorphicKeyboard
now returns a scale degree instead of aPianoKey
- Change:
- Change: Move all types of the
comma
package totemperament
- Improvement: Add
Val::pick_alternative
to select the second-best prime representation ("wart")
More temperament layouts
- Improvement:
tune est
uses a better strategy to identify compatible temperament layouts - Improvement:
tune est
supports Mavila[9] and Porcupine[8] temperaments
Isomorphic keyboard, automatic color schemas
- New: Render a hexagonal isomorphic keyboard
- Press Alt+Y to toggle through compatible keyboard layouts
- Press Alt+K to toggle through different keyboard types
- New: Find automatic color schemas for compatible keyboard layouts
- New: Full browser support via WASM and WebGL or WebGPU
- Improvement: Support Mavila[9] and Porcupine[8] temperaments
- Change: Rewrite / flatten the profile structure
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