from collections.abc import Generator, Iterable from numbers import Integral from typing import Any class Tokenizer: """ Splits a MIDI byte stream into messages. """ def __init__(self, data: Iterable[int] | None = ...) -> None: """Create a new decoder.""" def feed_byte(self, byte: int | Integral) -> None: """Feed MIDI byte to the decoder. Takes an int in range [0..255]. """ def feed(self, data: Iterable[int]) -> None: """Feed MIDI bytes to the decoder. Takes an iterable of ints in in range [0..255]. """ def __len__(self) -> int: ... def __iter__(self) -> Generator[Any, Any]: """Yield messages that have been parsed so far."""