simfile.notes.timed

Module Contents

Classes

TimedNote

A note with its song time attached.

UnhittableNotes

How to handle timed notes that are unhittable due to warp segments.

Functions

time_notes(note_data: simfile.notes.NoteData, timing_data: simfile.timing.TimingData, unhittable_notes: UnhittableNotes = UnhittableNotes.TAP_TO_FAKE) → Iterator[TimedNote]

Generate a stream of timed notes from the supplied note & timing data.

class simfile.notes.timed.TimedNote

Bases: NamedTuple

A note with its song time attached.

time :simfile.timing.engine.SongTime
note :simfile.notes.Note
class simfile.notes.timed.UnhittableNotes

Bases: enum.Enum

How to handle timed notes that are unhittable due to warp segments.

When a note is unhittable…

  • TAP_TO_FAKE: convert tap notes to fakes, drop other note types

  • DROP_NOTE: drop the unhittable note regardless of type

  • KEEP_NOTE: keep the unhittable note

TAP_TO_FAKE = 1
DROP_NOTE = 2
KEEP_NOTE = 3
simfile.notes.timed.time_notes(note_data: simfile.notes.NoteData, timing_data: simfile.timing.TimingData, unhittable_notes: UnhittableNotes = UnhittableNotes.TAP_TO_FAKE) → Iterator[TimedNote]

Generate a stream of timed notes from the supplied note & timing data.

For notes that are unhittable due to warps, the unhittable_notes parameter determines the behavior. See UnhittableNotes for more details.