pub struct Instrument {
    pub id: String,
    pub name: String,
    pub instrument_type: InstrumentType,
    pub type_id: String,
    pub description: Option<String>,
    pub disambiguation: Option<String>,
    pub relations: Option<Vec<Relation>>,
    pub tags: Option<Vec<Tag>>,
    pub aliases: Option<Vec<Alias>>,
    pub genres: Option<Vec<Genre>>,
    pub annotation: Option<String>,
}
Expand description

Instruments are devices created or adapted to make musical sounds. Instruments are primarily used in relationships between two other entities and for that, each instrument entity has a parallel relationship attribute with the same MBID. Instruments, like relationship attributes, can only be edited by relationship editors. See Instrument List for the full list.

Fields§

§id: String§name: String

The instrument name is the name of the instrument, typically the most common name in English.

§instrument_type: InstrumentType

The type categorises the instrument by the way the sound is created, similar to the Hornbostel-Sachs classification. The possible values are: Wind instrument, String instrument, Precussion instrument, Electronic instrument, Family, Ensemble, Other instrument.

§type_id: String§description: Option<String>

The description is a brief description of the main characteristics of the instrument.

§disambiguation: Option<String>

The disambiguation comments are fields in the database used to help distinguish identically named artists, labels and other entities.

§relations: Option<Vec<Relation>>§tags: Option<Vec<Tag>>§aliases: Option<Vec<Alias>>

Aliases are alternate names for an instrument, which currently have two main functions: localised names and search hints.

§genres: Option<Vec<Genre>>§annotation: Option<String>

Annotations are text fields, functioning like a miniature wiki, that can be added to any existing artists, labels, recordings, releases, release groups and works.

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
This method tests for self and other values to be equal, and is used by ==.
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

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

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more