Class ChannelSnapshot

Namespace
SpessaSharp.Synthesizer.Engine.Channel
Assembly
SpessaSharp.dll

Represents a snapshot of a single channel's state in the synthesizer.

public sealed class ChannelSnapshot
Inheritance
ChannelSnapshot
Inherited Members

Constructors

ChannelSnapshot(Full?, System, short[], BitArray, short[], ChannelGenerators, ChannelMidiParameter[], BitArray, ChannelSystemParameter[], byte[], bool, DrumParameters[], bool, int)

Represents a snapshot of a single channel's state in the synthesizer.

public ChannelSnapshot(MidiPatch.Full? patch, Midi.System lockedSystem, short[] midiControllers, BitArray lockedControllers, short[] pitchWheels, Awe32NRPN.ChannelGenerators generators, ChannelMidiParameter[] midiParameters, BitArray lockedParameters, ChannelSystemParameter[] systemParameters, byte[] octaveTuning, bool perNotePitch, DrumParameters[] drumParams, bool drumChannel, int channel)

Parameters

patch MidiPatch.Full?
lockedSystem Midi.System
midiControllers short[]
lockedControllers BitArray
pitchWheels short[]
generators Awe32NRPN.ChannelGenerators
midiParameters ChannelMidiParameter[]
lockedParameters BitArray
systemParameters ChannelSystemParameter[]
octaveTuning byte[]
perNotePitch bool
drumParams DrumParameters[]
drumChannel bool
channel int

Fields

Channel

The channel number this snapshot represents.

public readonly int Channel

Field Value

int

DrumChannel

Indicates whether the channel is a drum channel.

public readonly bool DrumChannel

Field Value

bool

DrumParams

Parameters for each drum instrument.

public readonly DrumParameters[] DrumParams

Field Value

DrumParameters[]

Generators

public readonly Awe32NRPN.ChannelGenerators Generators

Field Value

Awe32NRPN.ChannelGenerators

LockedControllers

An array of booleans, indicating if the controller with a current index is locked.

public readonly BitArray LockedControllers

Field Value

BitArray

LockedParameters

public readonly BitArray LockedParameters

Field Value

BitArray

LockedSystem

Indicates the MIDI system when the preset was locked

public readonly Midi.System LockedSystem

Field Value

Midi.System

MidiControllers

The array of all MIDI controllers (in 14-bit values) with the modulator sources at the end.

public readonly short[] MidiControllers

Field Value

short[]

MidiParameters

public readonly ChannelMidiParameter[] MidiParameters

Field Value

ChannelMidiParameter[]

OctaveTuning

The channel's octave tuning in cents.

public readonly byte[] OctaveTuning

Field Value

byte[]

Patch

The MIDI patch that the channel is using.

public readonly MidiPatch.Full? Patch

Field Value

MidiPatch.Full?

PerNotePitch

public readonly bool PerNotePitch

Field Value

bool

PitchWheels

public readonly short[] PitchWheels

Field Value

short[]

SystemParameters

public readonly ChannelSystemParameter[] SystemParameters

Field Value

ChannelSystemParameter[]

Methods

Apply(MidiChannel)

Applies the snapshot to the specified channel.

public void Apply(MidiChannel chan)

Parameters

chan MidiChannel

Get(MidiChannel)

Creates a snapshot of the channel's state

public static ChannelSnapshot Get(MidiChannel chan)

Parameters

chan MidiChannel

Returns

ChannelSnapshot