Enum ittech::VolumeSlide[][src]

pub enum VolumeSlide {
    Down(RangedU8<1, 0x0F>),
    Up(RangedU8<1, 0x0F>),
    FineDown(RangedU8<1, 0x0E>),
    FineUp(RangedU8<1, 0x0E>),
}

Effects Dxx, Kxx, Lxx, Nxx, Wxx

All of these commands perform a volume slide but on different mixers. Operations on the values are saturating.

  • Dxx, Kxx, Lxx - note volume slide
  • Nxx - channel volume slide
  • Wxx - global volume slide

Canonicalization

Values where both nibbles are in 1..=0xE at the same time don't have a defined meaning, these get skipped by the parser.

Value 0xFF gets parsed by OpenMPT and Schism Tracker as FineUp(0xF), however this makes it non-symmetrical and also doesn't agree with OpenMPT documentation and makes the parsing somewhat ambiguous (although at least two implementations agree on the way to parse it). We enforce that FineUp cannot exceed 0xE. We parse the value 0xFF the same way as 0xEF for compatibilty with these trackers.

Variants

Down(RangedU8<1, 0x0F>)

D0x, K0x, L0x, N0x, W0x Volume slide down by x

Decreases mixer volume by x units on every tick of the row except the first. If x is 0xF, volume decreases on every tick (including the first).

Up(RangedU8<1, 0x0F>)

Dx0, Kx0, Lx0, Nx0, Wx0 Volume slide up by x

Increases mixer volume by x units on every tick of the row except the first.

FineDown(RangedU8<1, 0x0E>)

DFx, KFx, LFx, NFx, WFx Fine volume slide down by x

Finely decreases mixer volume by only applying x units on the first tick of the row.

FineUp(RangedU8<1, 0x0E>)

DxF, KxF, LxF, NxF, WxF Fine volume slide up by x

Finely increases mixer volume by only applying x units on the first tick of the row.

Trait Implementations

impl Clone for VolumeSlide[src]

impl Copy for VolumeSlide[src]

impl Debug for VolumeSlide[src]

impl PartialEq<VolumeSlide> for VolumeSlide[src]

impl StructuralPartialEq for VolumeSlide[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.