Skip to main content

ScoreReduction

Struct ScoreReduction 

Source
pub struct ScoreReduction { /* private fields */ }
Expand description

A score with its marked notes drawn out into parts of their own: music21’s ScoreReduction.

Each group the marks name has a part, made from the first part’s template, with the marked notes in the voices the marks name. The parts stand above the chord reduction’s parts, if one is given, and the score’s, whose marks are taken out of their lyrics.

Implementations§

Source§

impl ScoreReduction

Source

pub fn new() -> Self

A reduction of nothing yet.

Source

pub fn score(&self) -> Option<&Stream>

The score reduced.

Source

pub fn set_score(&mut self, score: Stream)

Sets the score reduced. A stream holding no parts is taken as the one part of a score.

Source

pub fn chord_reduction(&self) -> Option<&Stream>

A score of chords whose marked notes go in the reduction too, and whose parts are written below it: music21’s chordReduction.

Source

pub fn set_chord_reduction(&mut self, chords: Stream)

Sets the chord reduction. A stream holding no parts is taken as the one part of a score.

Source

pub fn reduce(&self) -> Result<Stream>

The reduction: music21’s reduce.

The marked notes are gathered, the chord reduction’s first and then the score’s, part by part and measure by measure, each lyric of a note once. Each group named has a part: the first part’s template without its voices, its id and an instrument’s part name the group. Where only one group is named, or none, every note goes in its part. A measure given a note loses its rests for a voice for each voice named, and each note is added into the voice its mark names, or the first, as Stream::insert_into_note_or_chord adds it, with its text above in the measure. Each voice given notes has its gaps filled with rests; voices left empty go, and one left alone is flattened into its measure; and every rest of the part is hidden.

§Errors

Nothing to reduce; a lyric with no text, or one marking a note ReductiveNote cannot write; a mark in a measure the first part has not got; or two notes added where music21 refuses them.

Trait Implementations§

Source§

impl Clone for ScoreReduction

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ScoreReduction

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ScoreReduction

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.