pub enum Instrument {
Show 128 variants AcousticGrandPiano, BrightAcousticPiano, ElectricGrandPiano, HonkyTonkPiano, ElectricPiano1, ElectricPiano2, Harpsichord, Clavi, Celesta, Glockenspiel, MusicBox, Vibraphone, Marimba, Xylophone, TubularBells, Dulcimer, DrawbarOrgan, PercussiveOrgan, RockOrgan, ChurchOrgan, ReedOrgan, Accordion, Harmonica, TangoAccordion, AcousticGuitarNylon, AcousticGuitarSteel, ElectricGuitarJazz, ElectricGuitarClean, ElectricGuitarMuted, OverdrivenGuitar, DistortionGuitar, GuitarHarmonics, AcousticBass, ElectricBassFinger, ElectricBassPick, FretlessBass, SlapBass1, SlapBass2, SynthBass1, SynthBass2, Violin, Viola, Cello, Contrabass, TremoloStrings, PizzicatoStrings, OrchestralHarp, Timpani, StringEnsemble1, StringEnsemble2, SynthStrings1, SynthStrings2, ChoirAahs, ChoirOohs, SynthVoice, OrchestraHit, Trumpet, Trombone, Tuba, MutedTrumpet, FrenchHorn, BrassSection, SynthBrass1, SynthBrass2, SopranoSax, AltoSax, TenorSax, BaritoneSax, Oboe, EnglishHorn, Bassoon, Clarinet, Piccolo, Flute, Recorder, PanFlute, BlownBottle, Shakuhachi, Whistle, Ocarina, LeadSquare, LeadSawtooth, LeadCalliope, LeadChiff, LeadCharang, LeadVoice, LeadFifths, LeadBassPlusLead, PadNewAge, PadWarm, PadPolySynth, PadChoir, PadBowed, PadMetallic, PadHalo, PadSweep, FXRain, FXSoundtrack, FXCrystal, FXAtmosphere, FXBrightness, FXGoblins, FXEchoes, FXSciFi, Sitar, Banjo, Shamisen, Koto, Kalimba, BagPipe, Fiddle, Shanai, TinkleBell, Agogo, SteelDrums, Woodblock, TaikoDrum, MelodicTom, SynthDrum, ReverseCymbal, GuitarFretNoise, BreathNoise, Seashore, BirdTweet, TelephoneRing, Helicopter, Applause, Gunshot,
}
Expand description

Instruments defined according to GM1 Sound Set

Variants§

§

AcousticGrandPiano

§

BrightAcousticPiano

§

ElectricGrandPiano

§

HonkyTonkPiano

§

ElectricPiano1

§

ElectricPiano2

§

Harpsichord

§

Clavi

§

Celesta

§

Glockenspiel

§

MusicBox

§

Vibraphone

§

Marimba

§

Xylophone

§

TubularBells

§

Dulcimer

§

DrawbarOrgan

§

PercussiveOrgan

§

RockOrgan

§

ChurchOrgan

§

ReedOrgan

§

Accordion

§

Harmonica

§

TangoAccordion

§

AcousticGuitarNylon

§

AcousticGuitarSteel

§

ElectricGuitarJazz

§

ElectricGuitarClean

§

ElectricGuitarMuted

§

OverdrivenGuitar

§

DistortionGuitar

§

GuitarHarmonics

§

AcousticBass

§

ElectricBassFinger

§

ElectricBassPick

§

FretlessBass

§

SlapBass1

§

SlapBass2

§

SynthBass1

§

SynthBass2

§

Violin

§

Viola

§

Cello

§

Contrabass

§

TremoloStrings

§

PizzicatoStrings

§

OrchestralHarp

§

Timpani

§

StringEnsemble1

§

StringEnsemble2

§

SynthStrings1

§

SynthStrings2

§

ChoirAahs

§

ChoirOohs

§

SynthVoice

§

OrchestraHit

§

Trumpet

§

Trombone

§

Tuba

§

MutedTrumpet

§

FrenchHorn

§

BrassSection

§

SynthBrass1

§

SynthBrass2

§

SopranoSax

§

AltoSax

§

TenorSax

§

BaritoneSax

§

Oboe

§

EnglishHorn

§

Bassoon

§

Clarinet

§

Piccolo

§

Flute

§

Recorder

§

PanFlute

§

BlownBottle

§

Shakuhachi

§

Whistle

§

Ocarina

§

LeadSquare

§

LeadSawtooth

§

LeadCalliope

§

LeadChiff

§

LeadCharang

§

LeadVoice

§

LeadFifths

§

LeadBassPlusLead

§

PadNewAge

§

PadWarm

§

PadPolySynth

§

PadChoir

§

PadBowed

§

PadMetallic

§

PadHalo

§

PadSweep

§

FXRain

§

FXSoundtrack

§

FXCrystal

§

FXAtmosphere

§

FXBrightness

§

FXGoblins

§

FXEchoes

§

FXSciFi

§

Sitar

§

Banjo

§

Shamisen

§

Koto

§

Kalimba

§

BagPipe

§

Fiddle

§

Shanai

§

TinkleBell

§

Agogo

§

SteelDrums

§

Woodblock

§

TaikoDrum

§

MelodicTom

§

SynthDrum

§

ReverseCymbal

§

GuitarFretNoise

§

BreathNoise

§

Seashore

§

BirdTweet

§

TelephoneRing

§

Helicopter

§

Applause

§

Gunshot

Implementations§

source§

impl Instrument

source

pub fn renderer() -> impl Renderer<Element = Self>

Renderer that render an Instrument segment as a Program with the same timing.

Trait Implementations§

source§

impl Add<Instrument> for Instruments

##Example

let pianos = Instruments { instruments: vec![Instrument::AcousticGrandPiano] }
                        + Instrument::BrightAcousticPiano;
assert_eq!(pianos, Instruments { instruments: vec![Instrument::AcousticGrandPiano, Instrument::BrightAcousticPiano] });
§

type Output = Instruments

The resulting type after applying the + operator.
source§

fn add(self, rhs: Instrument) -> Self::Output

Performs the + operation. Read more
source§

impl Add<Instruments> for Instrument

##Example

let pianos = Instrument::AcousticGrandPiano
                + Instruments { instruments: vec![Instrument::BrightAcousticPiano] };
assert_eq!(pianos, Instruments { instruments: vec![Instrument::AcousticGrandPiano, Instrument::BrightAcousticPiano] });
§

type Output = Instruments

The resulting type after applying the + operator.
source§

fn add(self, rhs: Instruments) -> Self::Output

Performs the + operation. Read more
source§

impl Add for Instrument

##Example

let pianos = Instrument::AcousticGrandPiano + Instrument::BrightAcousticPiano;
assert_eq!(pianos, Instruments { instruments: vec![Instrument::AcousticGrandPiano, Instrument::BrightAcousticPiano] });
§

type Output = Instruments

The resulting type after applying the + operator.
source§

fn add(self, rhs: Self) -> Self::Output

Performs the + operation. Read more
source§

impl Clone for Instrument

source§

fn clone(&self) -> Instrument

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for Instrument

source§

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

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

impl Element for Instrument

source§

fn wrapped_element(&self) -> Option<&(dyn Element + 'static)>

None.
source§

impl From<Instrument> for Program

source§

fn from(value: Instrument) -> Program

Converts to this type from the input type.
source§

impl From<Instrument> for u8

source§

fn from(value: Instrument) -> Self

Converts to this type from the input type.
source§

impl From<u8> for Instrument

##Example

assert_eq!(Instrument::from(0u8), Instrument::AcousticGrandPiano);
source§

fn from(value: u8) -> Self

Converts to this type from the input type.
source§

impl FromPrimitive for Instrument

source§

fn from_i64(n: i64) -> Option<Self>

Converts an i64 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_u64(n: u64) -> Option<Self>

Converts an u64 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_isize(n: isize) -> Option<Self>

Converts an isize to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_i8(n: i8) -> Option<Self>

Converts an i8 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_i16(n: i16) -> Option<Self>

Converts an i16 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_i32(n: i32) -> Option<Self>

Converts an i32 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_i128(n: i128) -> Option<Self>

Converts an i128 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
source§

fn from_usize(n: usize) -> Option<Self>

Converts a usize to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_u8(n: u8) -> Option<Self>

Converts an u8 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_u16(n: u16) -> Option<Self>

Converts an u16 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_u32(n: u32) -> Option<Self>

Converts an u32 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_u128(n: u128) -> Option<Self>

Converts an u128 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
source§

fn from_f32(n: f32) -> Option<Self>

Converts a f32 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_f64(n: f64) -> Option<Self>

Converts a f64 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
source§

impl Hash for Instrument

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for Instrument

source§

fn eq(&self, other: &Instrument) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Sub<Instrument> for Instruments

##Example

let no_violins = Instruments { instruments: vec![Instrument::Violin, Instrument::Cello] }
                        - Instrument::Violin;
assert_eq!(no_violins, Instruments { instruments: vec![Instrument::Cello] });

let instruments = Instruments { instruments: vec![Instrument::AcousticGrandPiano, Instrument::BrightAcousticPiano] };
§

type Output = Instruments

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Instrument) -> Self::Output

Performs the - operation. Read more
source§

impl Copy for Instrument

source§

impl StructuralPartialEq for Instrument

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> AsAny for T
where T: Element,

source§

fn as_any(&self) -> &(dyn Any + 'static)

Converts this to a [&dyn Any].
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> 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> IntoCompositionSegment for T
where T: Element,

source§

fn into_segment(self, timing: impl Into<Timing>) -> Segment

Converts this element into a Segment spanning the given time range.

source§

fn into_named_segment(self, name: String, timing: impl Into<Timing>) -> Segment

Converts this element into a named (fixed Rng) Segment spanning the given time range. Naming segments ensures that any other sibling segments with the same name will be seeded identically.

source§

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

§

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>,

§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

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

§

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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V