@libraz/libcantus - v1.3.0
    Preparing search index...

    Type Alias PlannedMotif

    One planned motif statement: a root the generator writes new notes for, or a derivation the generator obtains from an earlier statement by a named transformation.

    type PlannedMotif = {
        phrase: number;
        startBeat: number;
        endBeat: number;
        notes: number;
        rhythm: number[] | null;
        from: number | null;
        relation: MotifRelationSummary | null;
    }
    Index
    phrase: number

    Index into plan.phrases of the phrase this statement is placed in.

    startBeat: number

    First beat of the statement.

    endBeat: number

    End of the statement, exclusive.

    notes: number

    How many notes the statement carries; a root's generated length, a derivation's inherited from its source.

    rhythm: number[] | null

    A root's onset-to-onset gaps in beats, notes - 1 of them, summing to less than the statement's length: its reference motif's ratios times ReferenceMotif.unitBeats. The first note sounds at startBeat and the last lasts to endBeat. Null for a root whose onsets a generator draws from plan.rhythm; always null for a derivation, whose rhythm is its source's under the named transformation.

    from: number | null

    Index into plan.motifs of the statement this one derives from; null for a root. Always less than this statement's own index.

    relation: MotifRelationSummary | null

    The named transformation from from, or null for a root, or for a derivation with no named transformation (a variation). Its semitones and degrees are the preferred pitch level: a generator may place the derivation at another level to keep it inside the register and the harmony.