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

    Type Alias ComposerOptions

    The settings a composer holds and hands to every generator it drives.

    type ComposerOptions = {
        key?: KeyLike;
        meters?: MeterLike;
        bpm?: number;
        seed?: number;
        complexity?: Complexity;
        instruments?: Record<string, InstrumentProfileLike>;
        vocabulary?: readonly Vocabulary<unknown>[];
        algorithmVersion?: number;
        rng?: PositionalRng;
    }
    Index
    key?: KeyLike

    The key the parts are written in.

    meters?: MeterLike

    The meter, as one time signature — '6/8' or its data — or a map of changes.

    bpm?: number

    Tempo in quarter-note beats per minute.

    seed?: number

    The seed every part's own stream is derived from.

    complexity?: Complexity

    The complexity dials.

    instruments?: Record<string, InstrumentProfileLike>

    The instrument each named part is written for, as a plain InstrumentProfile or an Instrument. The settings a composer hands back carry the plain form, the way a key handed in as a name comes back as key/scale data.

    vocabulary?: readonly Vocabulary<unknown>[]

    Extra material the generators may draw from.

    algorithmVersion?: number

    The algorithm version the parts are generated under; defaults to the version this build produces. Naming it is what closes a reproduction recipe: a seed alone reproduces a piece only for as long as the algorithms behind it stay where they were, and a project that recorded the version it was written under can ask for that version back.

    Draw from this source instead of one derived from seed. Each part still addresses its own namespace, so parts do not collide.

    A live handle rather than settings, so it is held by reference and left out of the plain data Composer.data hands back: a source cannot be written to a project file, and copying one would hand back a second stream rather than the same one.