-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This is a new release of 'mutwo.core' with breaking changes (therefore we have a new major version). It's simpler, faster, smaller and easier to comprehend than previous versions of 'mutwo.core'. Due to the amount of breaking changes, it's not compatible with pre v.2.0.0 versions. The v.1.X.Y mutwo.core version family existed for ~1.5 year. The v.2.X.Y version family should be much longer maintained, at least 3 years, but ideally even longer. ------- CHANGES ------- Added ===== - new method `Envelope.curve_shape_at`, see ff3c0d5 - new method `Envelope.point_at`, see 8ae9f40 - new method `Envelope.time_range_to_point_tuple`, see f42c5fa - conciste `__str__` for mutwo events, see 178f0e0 - `MutwoObject` as base class for all mutwo objects, see 64e33e0 and 8343f8e - general `core_parameters.abc.Parameter` class, see c711348 - `core_utilities.str_to_number_parser`, see 9840711 Changed ======= - names of basic event classes: `SequentialEvent` is now `Consecution`, `SimultaneousEvent` is now `Concurrence`, `SimpleEvent` is now `Chronon` and `ComplexEvent` is now `Compound`, see 8c54bb1 and e7567d4 and ed95225 - improved performance of `Envelope.integrate_interval` by a factor of 8, see ae8343c - type of `Duration` value from `fractions.Fraction` to `float`, see 90b0a3f - dropped specific tagged events: instead all events have optional tags from now, see 4e469ad - structure of `Envelope` class (simplifying it), see d85a2a3 - syntactic sugar parser from `???_events.configurations.UNKNOWN_OBJECT_TO_???` to `???_parameters.abc.???.from_any`, see 35e05cd - `DirectTempo` and added dedicated `WesternTempo`, see f8bc9f7 - `Parameter.$PROPERTY` to `Parameter.$UNIT`, see 9f08dca - `TempoPoint` to `Tempo`, see 5972c97 - generalize/simplify dynamic parameters, see 850f22b - `core_converters.TempoToBeathLengthInSeconds` to `core_parameters.Tempo.seconds` parameter, see 0b88789 Dropped ======= - `mutate` parameter in many methods of mutwo events and parameters, see 4aef5e0 - deprecated `Envelope.from_points`, see f22942f - `quicktions` dependency, see 9b6195e - `core_generators` module, see 974aac3 - `core_utilities.NoSolutionFound`, see 11d8adf - `core_constants.DurationType` and `core_constants.ParameterType`, see 0f4f792 - `UndefinedReferenceWarning`, see 0783f90 - `core_events.RelativeEnvelope`, see 2c73955
- Loading branch information
1 parent
ed95225
commit 51473cb
Showing
4 changed files
with
40 additions
and
35 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,31 +1 @@ | ||
# mutwo.core v.2.0.0 | ||
|
||
## Simplifications | ||
|
||
- `mutwo.core_parameters.abc.Duration` should use type `float` and not type `fractions.Fraction` as it's internal value. | ||
- simplify representation of events and parameters: The current representation is usually much too verbose, to extract any useful information from this. We should migrate to an abbreviation based representation. | ||
- drop `mutate` keyword and `add_copy_option` decorator | ||
- drop `mutwo.core_generators`: this looks quite arbitrary nowadays (why should this particular algorithm be included?) | ||
- drop `TaggedXEvent`: all events should have optional tags (default to None) | ||
- drop useless type hints: https://github.com/mutwo-org/mutwo.core/blob/5d0d37a/mutwo/core_constants/__init__.py#L25C1-L33C1 | ||
- drop unused exceptions (e.g. `NoSolutionFound`) | ||
- use less verbose names in function code to make everything more readable: | ||
- we don't need to use verbose names within functions as the context is already clear and | ||
these parts usually don't belong to the public API // anything users see | ||
|
||
## New features | ||
|
||
- Add `MutwoObject` which has a `copy` method | ||
- Add RatioDuration (for using fractions as internal type) | ||
- Allow multi-inheritance for `mutwo.core_parameters.SingleValueParameter`. See commit https://github.com/mutwo-org/mutwo.music/commit/795e2d59fa54eda3cb886bbe5417cbc2903c3ebe for reference. | ||
- add `freeze` method (see [here](https://github.com/mutwo-org/mutwo.core/blob/05711a7/mutwo/core_converters/tempos.py#L128-L133) for rationale and more context) | ||
- discussion: is this additional complexity really worth it? what are other use-cases apart from the tempo converter, which already got much faster with [this](https://github.com/mutwo-org/mutwo.core/commit/ae8343cc1f7476c7b6c6a7db3b0186f8c9f3a131) | ||
- in 10.1 I needed a manual freezing to make the render successful | ||
- in our performance tests we usually checked rather short events; the cache problem is much more evident with longer events | ||
- if we implement more complex duration classes with more complex `__add__` methods, caches could also become quite necessary | ||
|
||
|
||
# mutwo.core v.1.5.0 | ||
|
||
- Add `ComplexEvent.filter` method: This method should take a function and various setting properties (`nested`, `only_leaves`) and return a new `Event`. | ||
|
||
# mutwo.core v.2.1.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters