Releases: Woyten/tune
Releases · Woyten/tune
Use Bevy 0.15
The newest Bevy version is used
- This should resolve the issue with some keys not working on several platforms (e.g. web browsers)
- Change: Defining colors has become easier. Example:
root_color: red: 1.0 green: 1.0 blue: 0.5 alpha: 1.0
Make slices Automatable
- Improvement: Slices can be made
Automatableusingstruct AutomatableSlice<'a, T, O>
MOSes, better automatic layouts and color schemas
- New: Add
pergen::Mosfor MOS analysis - Change:
EqualTemperamentis nowIsomorphicLayout - Change:
PrototypeTemperamentis nowGenchain - Improvement: Add
Genchain::Tetracot7andGenchain::Hanson7 - Improvement: Better implementation of the
IsomorphicLayoutsearch 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::IsomorphicKeyboardhas been merged intopergen::Mos - Deletion:
TemperamentFinderhas been removed- Use
IsomorphicLayout::find_by_{edo, step_size}instead
- Use
- Deletion
PrototypeTemperament::Porcupine7has been removed- Use
Genchain::Tetracot7instead
- 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 findnow communicates whether the given generator is bright or dark - Improvement:
tune-cliwill now wait for your MIDI-input device to come online and is able to recover from a temporary connection outage - Deletion:
tune estno longer prints out matching temperaments. Finding temperaments is not a feature thattuneortune-cliis 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 lumasubcommand - 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+Kto enter the keyboard settings mode - Press
Alt+Kagain to change the on-screen keyboard mode - Press
Alt+Sto browse through the different MOS scales (*) - Press
Alt+Lto change the layout (step sizes) of the isomorphic keyboard while keeping the color schema of the selected MOS (*) - Press
Alt+Cto change the compression of the layout for better ergonomics (*) - Press
Alt+Tto change the tilt of the isomorphic keyboard - Press
Alt+Ito 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_paletteto the profile to customize the automatic color schemas - Improvement: Add
globalssection to the profile to allow for global oscillators - Improvement: Add "Retro Square" as a demo patch for a global oscillator
- Improvement:
microwavewill 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 totemplatesandenvelopes - Deletion: Remove
main_templatesfrom the profile. They had no good use case, useglobalsinstead.
Support contexts with lifetime bounds
Another redesign was necessary to enable the usage of references in a generic context.
Changes:
Automationis replaced byAutomatedValueAutomationContextis replaced byQueryInfoAutomatableValueis replaced byAutomatableAutomatedValueis replaced byAutomatedAutomationSpecis replaced byAutomatableParamcreator::Creatoris 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_secsvariable, injectRenderWindowSecsas anAutomatableinstead
- Example usages:
AutomatedValue(formerAutomation) andStageare now parameterized overQ: QueryInfoAutomationFactory(formerCreator) is now parameterized overC: CreationInfo
Update dependencies
- Upgrade
oxisynthto0.0.5 - Upgrade
tuneto0.35.0
More temperament layouts, automatic color schemas
- Change: Complete rewrite of
temperament::EqualTemperament, moved tolayout::EqualTemperament- New: Add
EqualTemperament::get_colorsfor auto-generated color schemas - Improvement: Add
EqualTemperament::get_keyboardto obtain an isomorphic keyboard layout
- New: Add
- Change: Merge
temperament::{TemperamentType, TemperamentPreference}into a single typelayout::PrototypeTemperament- Improvement: Add
PrototypeTemperament::Mavila9andPrototypeTemperament::Porcupine8 - Improvement:
TemperamentFinder::{by_edo, by_step_size}now returns a list of matching temperaments
- Improvement: Add
- Change: Move
key::Keyboardtolayout::IsomorphicKeyboard- Change:
IsomorphicKeyboardnow returns a scale degree instead of aPianoKey
- Change:
- Change: Move all types of the
commapackage totemperament - Improvement: Add
Val::pick_alternativeto select the second-best prime representation ("wart")
More temperament layouts
- Improvement:
tune estuses a better strategy to identify compatible temperament layouts - Improvement:
tune estsupports 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