Skip to content

Commit

Permalink
Bump to v.2.0.0
Browse files Browse the repository at this point in the history
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
levinericzimmermann committed Apr 9, 2024
1 parent ed95225 commit 51473cb
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 35 deletions.
35 changes: 35 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,41 @@ and this project adheres to [Semantic Versioning](http://semver.org/).

## [Unreleased]

## [2.0.0] - 2024-04-09

### Added
- new method `Envelope.curve_shape_at`, see [here](https://github.com/mutwo-org/mutwo.core/commit/ff3c0d510b8f5cbb6297a539dcb7d4e73879b001)
- new method `Envelope.point_at`, see [here](https://github.com/mutwo-org/mutwo.core/commit/8ae9f406ccd1846874ac7d6fa4c0992e2209d369)
- new method `Envelope.time_range_to_point_tuple`, see [here](https://github.com/mutwo-org/mutwo.core/commit/f42c5facd0eebc397c0de85d4aaa12c3015d6acb)
- conciste `__str__` for mutwo events, see [here](https://github.com/mutwo-org/mutwo.core/commit/178f0e0815f069391d9b2ca25b10fee2278af444)
- `MutwoObject` as base class for all mutwo objects, see [here](https://github.com/mutwo-org/mutwo.core/commit/64e33e06c452f4b0bd6589e808745f055b52d0c9) and [here](https://github.com/mutwo-org/mutwo.core/commit/8343f8eaefd5a3bdc8befd24aa87720f7630fda2)
- general `core_parameters.abc.Parameter` class, see [here](https://github.com/mutwo-org/mutwo.core/commit/c711348bd4d5253f84047ee3459fc6b68760596f)
- `core_utilities.str_to_number_parser`, see [here](https://github.com/mutwo-org/mutwo.core/commit/9840711eb53ee8fe0e5eb723c7050ef97388bbb5)

### Changed
- names of basic event classes: `SequentialEvent` is now `Consecution`, `SimultaneousEvent` is now `Concurrence`, `SimpleEvent` is now `Chronon` and `ComplexEvent` is now `Compound`, see [here](https://github.com/mutwo-org/mutwo.core/commit/8c54bb1cf2f8253568d57ff50c9f4a9de75774fc) and [here](https://github.com/mutwo-org/mutwo.core/commit/e7567d4a82f4561e5dfb875631e4f11284149c45) and [here](https://github.com/mutwo-org/mutwo.core/commit/ed9522573246356bf97326bc75635573eb8a244b)
- improved performance of `Envelope.integrate_interval` by a factor of 8, see [here](https://github.com/mutwo-org/mutwo.core/commit/ae8343cc1f7476c7b6c6a7db3b0186f8c9f3a131)
- type of `Duration` value from `fractions.Fraction` to `float`, see [here](https://github.com/mutwo-org/mutwo.core/commit/90b0a3f6d75e4df58f8a55802c7de4efb446c4a5)
- dropped specific tagged events: instead all events have optional tags from now, see [here](https://github.com/mutwo-org/mutwo.core/commit/4e469adb2e7d0f852d31d9b9d2aa6df536e8ef8a)
- structure of `Envelope` class (simplifying it), see [here](https://github.com/mutwo-org/mutwo.core/commit/d85a2a3edab740450c572685ad0d550cb2b6a0c7)
- syntactic sugar parser from `???_events.configurations.UNKNOWN_OBJECT_TO_???` to `???_parameters.abc.???.from_any`, see [here](https://github.com/mutwo-org/mutwo.core/commit/35e05cd3722d4d65d7593c047d2918372cf301e6)
- `DirectTempo` and added dedicated `WesternTempo`, see [here](https://github.com/mutwo-org/mutwo.core/commit/f8bc9f7ecd7b4afea952d6d1b55ad4e2326e122c)
- `Parameter.$PROPERTY` to `Parameter.$UNIT`, see [here](https://github.com/mutwo-org/mutwo.core/commit/9f08dcacc8e82a1bba3c69977a1f4f3b8e322f94)
- `TempoPoint` to `Tempo`, see [here](https://github.com/mutwo-org/mutwo.core/commit/5972c97aa998d17e848087faf6b990176feb2857)
- generalize/simplify dynamic parameters, see [here](https://github.com/mutwo-org/mutwo.core/commit/850f22b6a821a954801f0e569831ae00438dd779)
- `core_converters.TempoToBeathLengthInSeconds` to `core_parameters.Tempo.seconds` parameter, see [here](https://github.com/mutwo-org/mutwo.core/commit/0b887896ea113d45fc5fa13331d95783c1194062)

### Dropped
- `mutate` parameter in many methods of mutwo events and parameters, see [here](https://github.com/mutwo-org/mutwo.core/commit/4aef5e0bda7495bb3e92e06c26d2dfd7e5c96a38)
- deprecated `Envelope.from_points`, see [here](https://github.com/mutwo-org/mutwo.core/commit/f22942fd9b541f1a17994265aa77dec1dd521f17)
- `quicktions` dependency, see [here](https://github.com/mutwo-org/mutwo.core/commit/9b6195e6719a289f2dbc4595d9ed622a4a8c567f)
- `core_generators` module, see [here](https://github.com/mutwo-org/mutwo.core/commit/974aac303ed0c800b570b8c5d094137d06b0dbb4)
- `core_utilities.NoSolutionFound`, see [here](https://github.com/mutwo-org/mutwo.core/commit/11d8adf09826b2c09a2a811468b9aa680bcda775)
- `core_constants.DurationType` and `core_constants.ParameterType`, see [here](https://github.com/mutwo-org/mutwo.core/commit/0f4f79257df520ab7d1b2a7809edaab600c2dc59)
- `UndefinedReferenceWarning`, see [here](https://github.com/mutwo-org/mutwo.core/commit/0783f900bb460aca6178ae2bab54f24e8516aa5a)
- `core_events.RelativeEnvelope`, see [here](https://github.com/mutwo-org/mutwo.core/commit/2c73955e0e4f9e86a36b355e7262ba593ee1cbc6)


## [1.4.0] - 2023-11-01

### Added
Expand Down
32 changes: 1 addition & 31 deletions ROADMAP.md
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
2 changes: 1 addition & 1 deletion mutwo/core_version/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.

MAJOR, MINOR, PATCH = 1, 4, 0
MAJOR, MINOR, PATCH = 2, 0, 0

VERSION = f"{MAJOR}.{MINOR}.{PATCH}"
"""The version of the package ``mutwo.core``."""
Expand Down
6 changes: 3 additions & 3 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@
description="core library for event based framework mutwo",
long_description=long_description,
long_description_content_type="text/markdown",
author="Tim Pauli, Levin Eric Zimmermann",
author_email="tim.pauli@folkwang-uni.de, levin.eric.zimmermann@posteo.eu",
author="Levin Eric Zimmermann, Tim Pauli",
author_email="levin.eric.zimmermann@posteo.eu, tim.pauli@folkwang-uni.de",
url="https://github.com/mutwo-org/mutwo.core",
project_urls={"Documentation": "https://mutwo-org.github.io"},
packages=[
Expand All @@ -50,7 +50,7 @@
],
extras_require=extras_require,
classifiers=[
"Development Status :: 4 - Beta",
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Intended Audience :: End Users/Desktop",
"Intended Audience :: Education",
Expand Down

0 comments on commit 51473cb

Please sign in to comment.