Skip to content

Releases: mutwo-org/mutwo.core

mutwo.core v.2.0.0

09 Apr 17:13
Compare
Choose a tag to compare

mutwo.core v.2.0.0 - 2024-04-09

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.

Added

  • new method Envelope.curve_shape_at, see here
  • new method Envelope.point_at, see here
  • new method Envelope.time_range_to_point_tuple, see here
  • conciste __str__ for mutwo events, see here
  • MutwoObject as base class for all mutwo objects, see here and here
  • general core_parameters.abc.Parameter class, see here
  • core_utilities.str_to_number_parser, see here

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 and here and here
  • improved performance of Envelope.integrate_interval by a factor of 8, see here
  • type of Duration value from fractions.Fraction to float, see here
  • dropped specific tagged events: instead all events have optional tags from now, see here
  • structure of Envelope class (simplifying it), see here
  • syntactic sugar parser from ???_events.configurations.UNKNOWN_OBJECT_TO_??? to ???_parameters.abc.???.from_any, see here
  • DirectTempo and added dedicated WesternTempo, see here
  • Parameter.$PROPERTY to Parameter.$UNIT, see here
  • TempoPoint to Tempo, see here
  • generalize/simplify dynamic parameters, see here
  • core_converters.TempoToBeathLengthInSeconds to core_parameters.Tempo.seconds parameter, see here

Dropped

  • mutate parameter in many methods of mutwo events and parameters, see here
  • deprecated Envelope.from_points, see here
  • quicktions dependency, see here
  • core_generators module, see here
  • core_utilities.NoSolutionFound, see here
  • core_constants.DurationType and core_constants.ParameterType, see here
  • UndefinedReferenceWarning, see here
  • core_events.RelativeEnvelope, see here

mutwo.core v.1.4.0

01 Nov 09:21
Compare
Choose a tag to compare

mutwo.core v.1.4.0 - 2023-11-01

This is mostly a maintenance release with only few new features and changes.

Added

  • string parser support for duration definitions in events, see here

This adds support for this:

>>> from mutwo import core_events
>>> core_events.SimpleEvent("1/1")
>>> core_events.SimpleEvent("4.32")
>>> ...
  • core_utilities.del_nested_item_from_index_sequence, see here

Changed

  • Use quicktions only optionally in the code-base, see here

Fixed

  • replace deprecated 'warn' with 'warning', see here

mutwo.core v.1.3.0

22 Jul 15:50
Compare
Choose a tag to compare

mutwo.core v.1.3.0 - 2023-07-22

This release stabilizes the new methods which were added in mutwo.core v.1.2.0 by reducing the amount of bugs and by making them more performant.

Regarding new features this release simplifies global logging and added the .sequentialize method to core_events.SimultaneousEvent.

Added

  • the sequentialize method for SimultaneousEvent: Convert a SimultaneousEvent to a SequentialEvent (see here)
  • standardized logging utilities with core_utilities.get_cls_logger and core_configurations.LOGGING_LEVEL (see here
  • 'core_events.TempoEvent' class to be used in 'core_events.TempoEnvelope' (see here and here)

Changed

  • improve performance of TempoConverter by 500% (see 1 and 2 and 3 and 4)
  • allow multiple split times in Event.split_at (see here)
  • improve performance of SequentialEvent.split_at (see here and here)
  • SimultaneousEvent.concatenate_by_index and SimultaneousEvent.concatenate_by_tag doesn't copy the added event anymore, but rather behaves like list.extend. This improves the performance of the concatenation methods and avoids unnecessary copying. (see here)

Fixed

  • SimultaneousEvent.extend_until: Raise error if SimultaneousEvent is empty (make implicit failure explicit) (see here)
  • SimultaneousEvent: concatenate_by_tag and concatenate_by_index with empty simultaneous event (avoid noisy simple event with 0 duration) (see here)
  • deletion of child events via tags (see here)
  • tempo envelope persistence in time-axis based event concatenations (see here and here)
  • error when importing mutwo.core_parameters before mutwo.core_events (see here)
  • the initialization of the exception CannotSetDurationOfEmptyComplexEvent (see here)

mutwo.core v.1.2.0

30 Nov 18:14
Compare
Choose a tag to compare

mutwo.core v.1.2.0 - 2022-11-30

This release adds some more methods to complex events (e.g. SequentialEvent and SimultaneousEvent).
The given methods simplify working in complex settings with various events.

Added

  • ComplexEvent.slide_in, see here
  • ComplexEvent.extend_until, see here
  • SimultaneousEvent.concatenate_by_index, see here
  • SimultaneousEvent.concatenate_by_tag, see here

Furthermore minor issues have been fixed:

Fixed

  • SequentialEvent: Fix abs time floating point error, see here
  • TempoConverter: Fix needless conversion warnings , see here

mutwo.core v.1.1.0

13 Nov 10:57
Compare
Choose a tag to compare

mutwo.core v.1.1.0 - 2022-11-13

This new mutwo.core release is mostly a bugfix release. It furthermore adds one more feature which simplifies working with tagged events.

Added

  • get and set items of ComplexEvent by tags 1

Before:

>>> s = core_events.SequentialEvent(
>>>     [core_events.TaggedSimpleEvent(1, tag='vl'), core_events.TaggedSimpleEvent(1, tag='va')]
>>> )
>>> for ev in s:
>>>     if ev.tag == "vl"
>>>         vl_ev = ev

After

>>> s = core_events.SequentialEvent(
>>>     [core_events.TaggedSimpleEvent(1, tag='vl'), core_events.TaggedSimpleEvent(1, tag='va')]
>>> )
>>> vl_ev = s['vl']

Fixed

  • ComplexEvent.set_parameter and ComplexEvent.mutate_parameter calls for ComplexEvents which contained multiple references of the same event. 1
  • math calculations on mutwo.core_parameters.abc.Duration for unexpected numbers 1 2
  • comparison between builtin fractions.Fraction and mutwo.core_parameters.abc.Duration objects (worked only with quicktions.Fraction objects before) 1

mutwo.core v.1.0.0

05 Nov 21:14
Compare
Choose a tag to compare

mutwo.core v.1.0.0 - 2022-11-05

After almost two years of development this is finally the v.1.0.0 release
of mutwo.core. Although some corners may still be considered dirty, the
general source code is stable enough to get released. The reason for
this release is to finally move to proper semantic versioning, which
greatly relaxes dependency issues and reduces quantities of breaking
the software.

This release improves the performance from various SequentialEvent and Envelope methods.

Added

  • SequentialEvent.absolute_time_as_floats_tuple
  • core_parameters.abc.TempoPoint
  • core_events.configurations.DEFAULT_TEMPO_ENVELOPE_PARAMETER_NAME

Changed

  • Event.filter to Event.remove_by
  • core_parameters.TempoPoint to core_parameters.DirectTempoPoint
  • TempoRangeInBeatsPerMinute from tuple[float, float] to ranges.Range
  • allows TempoPoint and float objects in TempoEnvelope