Documentation
¶
Index ¶
- type VM35FMOperator
- type VM35FMVoice
- type VM35FMVoiceVersion
- type VM35PCMVoice
- type VM35Voice
- type VM35VoicePC
- type VM3VoiceLib
- type VM5VoiceLib
- type VMAFMOperator
- type VMAFMVoice
- func (v *VMAFMVoice) Bytes(staticLen bool) []byte
- func (v VMAFMVoice) MarshalJSON() ([]byte, error)
- func (v *VMAFMVoice) Read(rdr io.Reader, rest *int) error
- func (v *VMAFMVoice) ReadUnusedRest(rdr io.Reader, rest *int) error
- func (v *VMAFMVoice) String() string
- func (v *VMAFMVoice) ToVM35() *VM35FMVoice
- type VMAVoiceLib
- type VMAVoicePC
- type VoiceLib
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type VM35FMOperator ¶
type VM35FMOperator struct { Num int `json:"-"` // Operator number Version VM35FMVoiceVersion `json:"-"` MULTI enums.Multiplier `json:"multi"` // Multiplier DT int `json:"dt"` // Detune AR int `json:"ar"` // Attack Rate DR int `json:"dr"` // Decay Rate SR int `json:"sr"` // Sustain Rate RR int `json:"rr"` // Release Rate SL int `json:"sl"` // Sustain Level TL int `json:"tl"` // Total Level KSL int `json:"ksl"` // Key Scaling Level DAM int `json:"dam"` // Depth of AM DVB int `json:"dvb"` // Depth of Vibrato FB int `json:"fb"` // Feedback WS int `json:"ws"` // Wave Shape XOF bool `json:"xof"` // Ignore KeyOff SUS bool `json:"sus"` // Keep sustain rate after KeyOff (unused in YMF825) KSR bool `json:"ksr"` // Key Scaling Rate EAM bool `json:"eam"` // Enable AM EVB bool `json:"evb"` // Enable Vibrato }
func (*VM35FMOperator) Bytes ¶
func (op *VM35FMOperator) Bytes(forYMF825 bool) []byte
func (*VM35FMOperator) String ¶
func (op *VM35FMOperator) String() string
type VM35FMVoice ¶
type VM35FMVoice struct { Version VM35FMVoiceVersion `json:"-"` DrumKey enums.Note `json:"drum_key"` PANPOT enums.Panpot `json:"panpot"` // Panpot (unused in YMF825) BO enums.BasicOctave `json:"bo"` LFO int `json:"lfo"` PE bool `json:"pe"` // Panpot Enable (unused in YMF825) ALG enums.Algorithm `json:"alg"` Operators [4]*VM35FMOperator `json:"operators"` }
func NewDemoVM35FMVoice ¶ added in v1.3.0
func NewDemoVM35FMVoice() *VM35FMVoice
func NewVM35FMVoice ¶
func NewVM35FMVoice(data []byte, version VM35FMVoiceVersion) (*VM35FMVoice, error)
func (VM35FMVoice) MarshalJSON ¶
func (v VM35FMVoice) MarshalJSON() ([]byte, error)
func (*VM35FMVoice) ReadUnusedRest ¶
func (v *VM35FMVoice) ReadUnusedRest(rdr io.Reader, rest *int) error
func (*VM35FMVoice) String ¶
func (v *VM35FMVoice) String() string
type VM35FMVoiceVersion ¶
type VM35FMVoiceVersion int
const ( VM35FMVoiceVersion_VM3Lib VM35FMVoiceVersion = iota VM35FMVoiceVersion_VM3Exclusive VM35FMVoiceVersion_VM5 )
type VM35PCMVoice ¶
type VM35PCMVoice struct {
RawData [19]byte `json:"raw_data"`
}
func (*VM35PCMVoice) ReadUnusedRest ¶
func (v *VM35PCMVoice) ReadUnusedRest(rdr io.Reader, rest *int) error
func (*VM35PCMVoice) String ¶
func (v *VM35PCMVoice) String() string
type VM35VoicePC ¶
type VM35VoicePC struct { Version VM35FMVoiceVersion `json:"is_vm5"` Name string `json:"name"` Flag int `json:"-"` // = 0x24 BankMSB int `json:"bank_msb"` BankLSB int `json:"bank_lsb"` PC int `json:"pc"` DrumNote enums.Note `json:"drum_note"` Enigma1 int `json:"-"` VoiceType enums.VoiceType `json:"voice_type"` Voice VM35Voice `json:"voice"` }
func (*VM35VoicePC) IsForDrum ¶
func (p *VM35VoicePC) IsForDrum() bool
func (*VM35VoicePC) String ¶
func (p *VM35VoicePC) String() string
type VM3VoiceLib ¶
type VM3VoiceLib struct {
Programs []*VM35VoicePC `json:"programs"`
}
func NewVM3VoiceLib ¶
func NewVM3VoiceLib(file string) (*VM3VoiceLib, error)
func (*VM3VoiceLib) String ¶
func (lib *VM3VoiceLib) String() string
type VM5VoiceLib ¶
type VM5VoiceLib struct {
Programs []*VM35VoicePC `json:"programs"`
}
func NewVM5VoiceLib ¶
func NewVM5VoiceLib(file string) (*VM5VoiceLib, error)
func (*VM5VoiceLib) String ¶
func (lib *VM5VoiceLib) String() string
type VMAFMOperator ¶
type VMAFMOperator struct { Num int `json:"-"` // Operator number MULT enums.Multiplier `json:"mult"` // Multiplier KSL int `json:"ksl"` // Key Scaling Level TL int `json:"tl"` // Total Level AR int `json:"ar"` // Attack Rate DR int `json:"dr"` // Decay Rate SL int `json:"sl"` // Sustain Level RR int `json:"rr"` // Release Rate WS int `json:"ws"` // Wave Shape DVB int `json:"dvb"` // Depth of Vibrato DAM int `json:"dam"` // Depth of AM VIB bool `json:"vib"` // Vibrato EGT bool `json:"egt"` // SUS bool `json:"sus"` // Keep sustain rate after KeyOff (unused in YMF825) KSR bool `json:"ksr"` // Key Scaling Rate AM bool `json:"am"` // AM }
func (*VMAFMOperator) Bytes ¶
func (op *VMAFMOperator) Bytes() []byte
func (*VMAFMOperator) String ¶
func (op *VMAFMOperator) String() string
func (*VMAFMOperator) ToVM35 ¶
func (op *VMAFMOperator) ToVM35(fb int) *VM35FMOperator
type VMAFMVoice ¶
type VMAFMVoice struct { LFO int `json:"lfo"` FB int `json:"fb"` ALG enums.Algorithm `json:"alg"` Operators [4]*VMAFMOperator `json:"operators"` }
func NewVMAFMVoice ¶
func NewVMAFMVoice(data []byte) (*VMAFMVoice, error)
func (*VMAFMVoice) Bytes ¶
func (v *VMAFMVoice) Bytes(staticLen bool) []byte
func (VMAFMVoice) MarshalJSON ¶
func (v VMAFMVoice) MarshalJSON() ([]byte, error)
func (*VMAFMVoice) ReadUnusedRest ¶
func (v *VMAFMVoice) ReadUnusedRest(rdr io.Reader, rest *int) error
func (*VMAFMVoice) String ¶
func (v *VMAFMVoice) String() string
func (*VMAFMVoice) ToVM35 ¶
func (v *VMAFMVoice) ToVM35() *VM35FMVoice
type VMAVoiceLib ¶
type VMAVoiceLib struct {
Programs []*VMAVoicePC `json:"programs"`
}
func NewVMAVoiceLib ¶
func NewVMAVoiceLib(file string) (*VMAVoiceLib, error)
func (*VMAVoiceLib) String ¶
func (lib *VMAVoiceLib) String() string
type VMAVoicePC ¶
type VMAVoicePC struct { Name string `json:"name"` Bank int `json:"bank"` PC int `json:"pc"` Voice *VMAFMVoice `json:"voice"` }
func (*VMAVoicePC) String ¶
func (p *VMAVoicePC) String() string
func (*VMAVoicePC) ToVM35 ¶
func (p *VMAVoicePC) ToVM35() *VM35VoicePC
Click to show internal directories.
Click to hide internal directories.