sequencer

package
v1.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 2, 2017 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var State = SequencerState{Channels: [16]*ChannelState{}}

Functions

func Test

func Test(deviceName string) error

Types

type ChannelState

type ChannelState struct {
	KeyControlStatus enums.KeyControlStatus
	Velocity         int
	GateTimeRest     map[enums.Note]int
	BankMSB          int
	BankLSB          int
	PC               int
	ToneID           int
	PitchBend        int
	PitchBendRange   int
	Modulation       int
	Volume           int
	Panpot           int
	Expression       int
	OctaveShift      int
	Mono             bool
	RPNMSB           int
	RPNLSB           int
}

func (*ChannelState) AllOff

func (cs *ChannelState) AllOff() []enums.Note

func (*ChannelState) HasRest

func (cs *ChannelState) HasRest() bool

func (*ChannelState) NoteOn

func (cs *ChannelState) NoteOn(note enums.Note, gateTime int)

func (*ChannelState) Print

func (cs *ChannelState) Print(num int)

func (*ChannelState) Tick

func (cs *ChannelState) Tick() []enums.Note

type DebugFlags added in v1.3.0

type DebugFlags struct {
	Tone       bool
	Volume     bool
	Octave     bool
	KeyControl bool
}

type Sequencer

type Sequencer struct {
	DeviceName string
	ShowState  bool
	// contains filtered or unexported fields
}

func (*Sequencer) Play

func (q *Sequencer) Play(mmf *chunk.FileChunk, opts *SequencerOptions) error

type SequencerOptions added in v1.1.0

type SequencerOptions struct {
	Loop, Volume, Gain, SeqVol, BaudRate int
}

type SequencerState

type SequencerState struct {
	Channels [16]*ChannelState
	Tones    Tones
	IsMA5    bool
}

func (*SequencerState) AddTone

func (ss *SequencerState) AddTone(pc *voice.VM35VoicePC)

func (*SequencerState) GetToneIDByPC

func (ss *SequencerState) GetToneIDByPC(bankMSB, bankLSB, PC int) int

func (*SequencerState) GetToneIDByPCAndDrumNote

func (ss *SequencerState) GetToneIDByPCAndDrumNote(bankMSB, bankLSB, PC int, note enums.Note) int

func (*SequencerState) HasRest

func (ss *SequencerState) HasRest() bool

func (*SequencerState) Print

func (ss *SequencerState) Print()

func (*SequencerState) Tick

func (ss *SequencerState) Tick(fn func(int, []enums.Note))

func (*SequencerState) ToneData

func (ss *SequencerState) ToneData() []*voice.VM35FMVoice

type Tones

type Tones []*voice.VM35VoicePC

func (Tones) Len

func (t Tones) Len() int

func (Tones) Less

func (t Tones) Less(i, j int) bool

func (Tones) Swap

func (t Tones) Swap(i, j int)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL