Releases: mutwo-org/mutwo.core
mutwo.core v.2.0.0
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 nowConsecution
,SimultaneousEvent
is nowConcurrence
,SimpleEvent
is nowChronon
andComplexEvent
is nowCompound
, see here and here and here - improved performance of
Envelope.integrate_interval
by a factor of 8, see here - type of
Duration
value fromfractions.Fraction
tofloat
, 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 dedicatedWesternTempo
, see hereParameter.$PROPERTY
toParameter.$UNIT
, see hereTempoPoint
toTempo
, see here- generalize/simplify dynamic parameters, see here
core_converters.TempoToBeathLengthInSeconds
tocore_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 herecore_generators
module, see herecore_utilities.NoSolutionFound
, see herecore_constants.DurationType
andcore_constants.ParameterType
, see hereUndefinedReferenceWarning
, see herecore_events.RelativeEnvelope
, see here
mutwo.core v.1.4.0
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
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 forSimultaneousEvent
: Convert aSimultaneousEvent
to aSequentialEvent
(see here) - standardized logging utilities with
core_utilities.get_cls_logger
andcore_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
andSimultaneousEvent.concatenate_by_tag
doesn't copy the added event anymore, but rather behaves likelist.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
andconcatenate_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
beforemutwo.core_events
(see here) - the initialization of the exception
CannotSetDurationOfEmptyComplexEvent
(see here)
mutwo.core v.1.2.0
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 hereComplexEvent.extend_until
, see hereSimultaneousEvent.concatenate_by_index
, see hereSimultaneousEvent.concatenate_by_tag
, see here
Furthermore minor issues have been fixed:
Fixed
mutwo.core v.1.1.0
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
andComplexEvent.mutate_parameter
calls forComplexEvent
s 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
andmutwo.core_parameters.abc.Duration
objects (worked only withquicktions.Fraction
objects before) 1
mutwo.core v.1.0.0
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
toEvent.remove_by
core_parameters.TempoPoint
tocore_parameters.DirectTempoPoint
TempoRangeInBeatsPerMinute
fromtuple[float, float]
toranges.Range
- allows
TempoPoint
andfloat
objects inTempoEnvelope