Releases: Woyten/tune
Releases · Woyten/tune
MOSes, better automatic layouts and color schemas
- New: Add
pergen::Mos
for MOS analysis - Change:
EqualTemperament
is nowIsomorphicLayout
- Change:
PrototypeTemperament
is nowGenchain
- Improvement: Add
Genchain::Tetracot7
andGenchain::Hanson7
- Improvement: Better implementation of the
IsomorphicLayout
search s.t. more and better matching layouts are returned - Improvement: Better color schema API with support for multi-cyclic MOSes using
IsomorphicLayout::get_layers
- Improvement: Retrieve MOS scale name via
IsomorphicLayout::get_scale_name
- Change:
layout::IsomorphicKeyboard
has been merged intopergen::Mos
- Deletion:
TemperamentFinder
has been removed- Use
IsomorphicLayout::find_by_{edo, step_size}
instead
- Use
- Deletion
PrototypeTemperament::Porcupine7
has been removed- Use
Genchain::Tetracot7
instead
- Use
More genchain layouts, MIDI autoconnect
- Improvement: The layout search has been improved s.t. more and better matching layouts are returned
- Improvement: Add Tetracot[7] and Hanson[7] layout
- Improvement:
tune mos find
now communicates whether the given generator is bright or dark - Improvement:
tune-cli
will now wait for your MIDI-input device to come online and is able to recover from a temporary connection outage - Deletion:
tune est
no longer prints out matching temperaments. Finding temperaments is not a feature thattune
ortune-cli
is planned to support in the future as it is heavily data-driven and there are plenty of alternatives out there.
Lumatone plug'n'play, better isomorphic layouts, MIDI autoconnect
- New: Lumatone plug'n'play
- Sync the currently active layout to the Lumatone using the
microwave luma
subcommand - This will reconfigure all keys of the Lumatone to use the correct color and to emit the correct MIDI event
- Sync the currently active layout to the Lumatone using the
- New: Add keyboard settings mode
- Press
Alt+K
to enter the keyboard settings mode - Press
Alt+K
again to change the on-screen keyboard mode - Press
Alt+S
to browse through the different MOS scales (*) - Press
Alt+L
to change the layout (step sizes) of the isomorphic keyboard while keeping the color schema of the selected MOS (*) - Press
Alt+C
to change the compression of the layout for better ergonomics (*) - Press
Alt+T
to change the tilt of the isomorphic keyboard - Press
Alt+I
to change the inclination of the isomorphic keyboard - (*) This will be synced to the Lumatone
- Press
- Improvement: The layout search has been improved s.t. more and better matching layouts are returned
- Improvement: Add Tetracot[7] and Hanson[7] layout
- Improvement: Better coloring of multi-cyclic EDOs
- Improvement: Add
color_palette
to the profile to customize the automatic color schemas - Improvement: Add
globals
section to the profile to allow for global oscillators - Improvement: Add "Retro Square" as a demo patch for a global oscillator
- Improvement:
microwave
will now wait for your MIDI-input device to come online and is able to recover from a temporary connection outage - Change: Rename
waveform_{templates, envelopes}
of the profile totemplates
andenvelopes
- Deletion: Remove
main_templates
from the profile. They had no good use case, useglobals
instead.
Support contexts with lifetime bounds
Another redesign was necessary to enable the usage of references in a generic context.
Changes:
Automation
is replaced byAutomatedValue
AutomationContext
is replaced byQueryInfo
AutomatableValue
is replaced byAutomatable
AutomatedValue
is replaced byAutomated
AutomationSpec
is replaced byAutomatableParam
creator::Creator
is replaced byautomation::AutomationFactory
- Example usages:
factory.automate(automatable).into_automation(automation_fn)
factory.automate(automatable).into_stage(stage_fn)
- To access the former
render_window_secs
variable, injectRenderWindowSecs
as anAutomatable
instead
- Example usages:
AutomatedValue
(formerAutomation
) andStage
are now parameterized overQ: QueryInfo
AutomationFactory
(formerCreator
) is now parameterized overC: CreationInfo
Update dependencies
- Upgrade
oxisynth
to0.0.5
- Upgrade
tune
to0.35.0
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