libdmf  0.0.1
A library for processing Deflemask (dmf) files
instrument Struct Reference

#include <libdmf.h>

Collaboration diagram for instrument:

Public Attributes

unsigned char name_length
 The length of the name of the instrument.
 
unsigned char * name
 The name of the instrument.
 
unsigned char mode
 The mode (0 = STD, 1 = FM)
 
unsigned char ALG
 The FM Algorithm.
 
unsigned char FB
 The feedback for operator 1.
 
unsigned char LFO
 Low Frequency Oscillator 1 (FMS on YM2612, PMS on YM2151)
 
unsigned char LFO2
 Low Frequency Oscillator 2 (AMS on YM2612, AMS on YM2151)
 
FM_operatorFM_operators
 The operator data. More...
 
unsigned char volume_envelope_size
 
unsigned int * volume_envelope
 Volume envelope data. More...
 
signed char volume_loop_position
 The loop position of the volume envelope. -1 = NO_LOOP.
 
unsigned char arpeggio_envelope_size
 Size of arpeggio envelope. Ranges from [0 - 127].
 
signed int * arpeggio_envelope
 Actual arpeggio envelope.
 
signed char arpeggio_loop_position
 The loop position of the arpeggio envelope. -1 = NO_LOOP.
 
unsigned char arpeggio_macro_mode
 The arpeggio macro mode (0 = Normal, 1 = Fixed)
 
unsigned char duty_noise_envelope_size
 Size of the duty/noise envelope. Ranges from [0 - 127].
 
unsigned int * duty_noise_envelope
 Actual duty/noise envelope.
 
signed char duty_noise_loop_position
 The loop position of the duty/noise envelope. -1 = NO_LOOP.
 
unsigned char wavetable_envelope_size
 Size of the wavetable envelope. Ranges from [0 - 127].
 
unsigned int * wavetable_envelope
 Actual wavetable envelope.
 
signed char wavetable_loop_position
 The loop position of the wavetable envelope. -1 = NO_LOOP.
 
unsigned char c64_triangle_wave_enabled
 C64 shite, see the name of this member.
 
unsigned char c64_saw_wave_enabled
 C64 shite, see the name of this member.
 
unsigned char c64_pulse_wave_enabled
 C64 shite, see the name of this member.
 
unsigned char c64_noise_wave_enabled
 C64 shite, see the name of this member.
 
unsigned char c64_attack
 C64 shite, see the name of this member.
 
unsigned char c64_decay
 C64 shite, see the name of this member.
 
unsigned char c64_sustain
 C64 shite, see the name of this member.
 
unsigned char c64_release
 C64 shite, see the name of this member.
 
unsigned char c64_pulse_width
 C64 shite, see the name of this member.
 
unsigned char c64_ring_modulation_enabled
 C64 shite, see the name of this member.
 
unsigned char c64_sync_modulation_enabled
 C64 shite, see the name of this member.
 
unsigned char c64_to_filter
 C64 shite, see the name of this member.
 
unsigned char c64_volume_macro_to_filter_cutoff_enabled
 C64 shite, see the name of this member.
 
unsigned char c64_use_filter_values_from_instrument
 C64 shite, see the name of this member.
 
unsigned char c64_filter_resonance
 C64 shite, see the name of this member.
 
unsigned char c64_filter_cutoff
 C64 shite, see the name of this member.
 
unsigned char c64_filter_high_pass
 C64 shite, see the name of this member.
 
unsigned char c64_filter_band_pass
 C64 shite, see the name of this member.
 
unsigned char c64_filter_low_pass
 C64 shite, see the name of this member.
 
unsigned char c64_filter_ch2_off
 C64 shite, see the name of this member.
 
unsigned char gb_envelope_volume
 GB shite, see the name of this member.
 
unsigned char gb_envelope_direction
 GB shite, see the name of this member.
 
unsigned char gb_envelope_length
 GB shite, see the name of this member.
 
unsigned char gb_sound_length
 GB shite, see the name of this member.
 

Detailed Description

Instrument info

Member Data Documentation

◆ FM_operators

FM_operator* instrument::FM_operators

The operator data.

A list of bits for the FM operators, if there is no FM This will be NULL. BEWARE!

◆ volume_envelope

unsigned int* instrument::volume_envelope

Volume envelope data.

WILL BE A NULL POINTER IF GAMEBOY! DO NOT DEREFRENCE IF THE SYSTEM IS GAMEBOY!

◆ volume_envelope_size

unsigned char instrument::volume_envelope_size

Size of volume envelope. Ranges from [0 - 127]


The documentation for this struct was generated from the following file: