Struct ittech::InstrumentHeader[][src]

pub struct InstrumentHeader {
    pub name: Name,
    pub filename: DOSFilename,
    pub flags: InstrumentFlags,
    pub new_note_action: u8,
    pub duplicate_check_type: u8,
    pub duplicate_check_action: u8,
    pub instrument_fadeout: u8,
    pub pitch_pan_separation: i8,
    pub pitch_pan_centre: u8,
    pub global_volume: u8,
    pub default_panning: RangedU8<0, 128>,
    pub random_volume_variation: RangedU8<0, 100>,
    pub random_panning_variation: RangedU8<0, 64>,
    pub trkver: u16,
    pub number_of_samples: u8,
    pub initial_filter_cutoff: RangedU8<0, 128>,
    pub initial_filter_resonance: RangedU8<0, 128>,
    pub mch: u8,
    pub mpr: u8,
    pub mbank: [u8; 2],
    pub sample_map: SampleMap,
    pub volume_envelope: Envelope,
    pub panning_envelope: Envelope,
    pub pitch_filter_envelope: Envelope,
}

Fields

name: Name

Instrument Name, null-terminated (but may also contain nulls)

filename: DOSFilename

DOS Filename, null-terminated

flags: InstrumentFlagsnew_note_action: u8

New Note Action

duplicate_check_type: u8

Duplicate Note Check Type

duplicate_check_action: u8

Duplicate Note Check Action

instrument_fadeout: u8

Instrument Fadeout

0..=256, although values up to 1024 would be sensible. Up to IT2.07, the limit was 0..=128.

OpenMPT uses u16 but we replaced it with u8 to limit the range.

pitch_pan_separation: i8

Pitch/Pan Separatation

pitch_pan_centre: u8

Pitch/Pan Centre

global_volume: u8

Global Volume

default_panning: RangedU8<0, 128>

Panning

random_volume_variation: RangedU8<0, 100>

Random volume variation (percentage)

random_panning_variation: RangedU8<0, 64>

Pan Swing

trkver: u16

Tracker ID

number_of_samples: u8

Number of embedded samples

initial_filter_cutoff: RangedU8<0, 128>

Filter Cutoff

initial_filter_resonance: RangedU8<0, 128>

Filter Resonance

mch: u8

MIDI Channel

mpr: u8

MIDI Program

mbank: [u8; 2]

MIDI Bank

sample_map: SampleMap

Sample / Transpose map

volume_envelope: Envelope

Volume Envelope

panning_envelope: Envelope

Pan Envelope

pitch_filter_envelope: Envelope

Pitch / Filter Envelope

Trait Implementations

impl Clone for InstrumentHeader[src]

impl Debug for InstrumentHeader[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.