Skip to content

🐞 Arrangement parsing logic is incorrect #32

@demberto

Description

@demberto
  1. Pattern timemarkers get added to the first arrangement's events.

  2. Last arrangement isn't yielded by Arrangements.__iter__ at all.

    PyFLP/pyflp/arrangement.py

    Lines 444 to 463 in ceff918

    def __iter__(self) -> Iterator[Arrangement]:
    first = True
    events: list[AnyEvent] = []
    def make_arr():
    return Arrangement(*events, version=self._kw["version"])
    for event in self._events_tuple:
    if event.id == ArrangementID.New:
    if not first:
    yield make_arr()
    events = []
    first = not first
    elif event.id == ArrangementsID.Current:
    return make_arr() # last arrangement
    for enum_ in (ArrangementID, TimeMarkerID, TrackID):
    if event.id in enum_:
    events.append(event)
    break

Metadata

Metadata

Assignees

Labels

arrangement-generalProject-wide and per-arrangement propertiesbugSomething isn't working

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions