midimark

package module
v0.0.0-...-3a94327 Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2018 License: MIT Imports: 11 Imported by: 4

Documentation

Index

Constants

View Source
const (
	KeyCMaj  KeySignature = 0x0000
	KeyCMin               = -0x2ff
	KeyCsMaj              = 0x0700
	KeyCsMin              = 0x0401
	KeyDbMaj              = -0x500
	KeyDMaj               = 0x0200
	KeyDMin               = -0x0ff
	KeyDsMin              = 0x0601
	KeyEbMaj              = -0x300
	KeyEbMin              = -0x5ff
	KeyEMaj               = 0x0400
	KeyEMin               = 0x0101
	KeyFMaj               = -0x100
	KeyFMin               = -0x3ff
	KeyFsMaj              = 0x0600
	KeyFsMin              = 0x0301
	KeyGbMaj              = -0x600
	KeyGMaj               = 0x0100
	KeyGMin               = -0x1ff
	KeyGsMin              = 0x0501
	KeyAbMaj              = -0x400
	KeyAbMin              = -0x6ff
	KeyAMaj               = 0x0300
	KeyAMin               = 0x0001
	KeyAsMin              = 0x0701
	KeyBbMaj              = -0x200
	KeyBbMin              = -0x4ff
	KeyBMaj               = 0x0500
	KeyBMin               = 0x0201
	KeyCbMaj              = -0x700
)
View Source
const MaxVLQ = 0xfffffff

Variables

View Source
var ErrDeltaToBig = errors.New("mark2midi: can not convert absolute time to delta time: value too big")
View Source
var ErrEventsNotSorted = errors.New("mark2midi: can not convert absolute time to delta time: events not sorted in advance")

Functions

func IgnoreWarnings

func IgnoreWarnings(err error)

Types

type ErrSMFDecode

type ErrSMFDecode struct {
	Pos int64
	Err error
}

func (*ErrSMFDecode) Error

func (e *ErrSMFDecode) Error() string

type ErrSMFEncode

type ErrSMFEncode struct {
	Obj interface{}
	Err error
}

func (*ErrSMFEncode) Error

func (e *ErrSMFEncode) Error() string

type ErrXMLDecode

type ErrXMLDecode struct {
	Obj etree.Token
	Err error
}

func (*ErrXMLDecode) Error

func (e *ErrXMLDecode) Error() string

type Event

type Event interface {
	Common() *EventCommon
	EncodeSMF(w io.Writer, status, channel *uint8) error
	EncodeSMFLen(status, channel *uint8) (int64, error)
	EncodeRealtime() ([]byte, error)
	EncodeXML() *etree.Element
	Status() uint8
}

func DecodeEventFromRealtime

func DecodeEventFromRealtime(r io.ReadSeeker, status *uint8, warningCallback WarningCallback) (event Event, err error)

func DecodeEventFromSMF

func DecodeEventFromSMF(r io.ReadSeeker, status, channel *uint8, warningCallback WarningCallback) (event Event, err error)

func DecodeEventFromXML

func DecodeEventFromXML(el *etree.Element) (Event, error)

type EventActiveSensing

type EventActiveSensing struct {
	EventCommon
}

FE

func (*EventActiveSensing) EncodeRealtime

func (ev *EventActiveSensing) EncodeRealtime() ([]byte, error)

func (*EventActiveSensing) EncodeSMF

func (ev *EventActiveSensing) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*EventActiveSensing) EncodeSMFLen

func (ev *EventActiveSensing) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*EventActiveSensing) EncodeXML

func (ev *EventActiveSensing) EncodeXML() *etree.Element

func (*EventActiveSensing) Status

func (ev *EventActiveSensing) Status() uint8

type EventChannelPressure

type EventChannelPressure struct {
	EventCommon
	Velocity uint8
}

Dn

func (*EventChannelPressure) EncodeRealtime

func (ev *EventChannelPressure) EncodeRealtime() ([]byte, error)

func (*EventChannelPressure) EncodeSMF

func (ev *EventChannelPressure) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*EventChannelPressure) EncodeSMFLen

func (ev *EventChannelPressure) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*EventChannelPressure) EncodeXML

func (ev *EventChannelPressure) EncodeXML() *etree.Element

func (*EventChannelPressure) Status

func (ev *EventChannelPressure) Status() uint8

type EventCommon

type EventCommon struct {
	FilePosition int64
	AbsTick      int64
	DeltaTick    VLQ
	Channel      uint8
}

func (*EventCommon) Common

func (ev *EventCommon) Common() *EventCommon

type EventContinue

type EventContinue struct {
	EventCommon
}

FB

func (*EventContinue) EncodeRealtime

func (ev *EventContinue) EncodeRealtime() ([]byte, error)

func (*EventContinue) EncodeSMF

func (ev *EventContinue) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*EventContinue) EncodeSMFLen

func (ev *EventContinue) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*EventContinue) EncodeXML

func (ev *EventContinue) EncodeXML() *etree.Element

func (*EventContinue) Status

func (ev *EventContinue) Status() uint8

type EventControlChange

type EventControlChange struct {
	EventCommon
	Control uint8
	Value   uint8
}

Bn

func (*EventControlChange) EncodeRealtime

func (ev *EventControlChange) EncodeRealtime() ([]byte, error)

func (*EventControlChange) EncodeSMF

func (ev *EventControlChange) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*EventControlChange) EncodeSMFLen

func (ev *EventControlChange) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*EventControlChange) EncodeXML

func (ev *EventControlChange) EncodeXML() *etree.Element

func (*EventControlChange) Status

func (ev *EventControlChange) Status() uint8

type EventEscape

type EventEscape struct {
	EventCommon
	Data []byte
}

F7

func (*EventEscape) EncodeRealtime

func (ev *EventEscape) EncodeRealtime() ([]byte, error)

func (*EventEscape) EncodeSMF

func (ev *EventEscape) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*EventEscape) EncodeSMFLen

func (ev *EventEscape) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*EventEscape) EncodeXML

func (ev *EventEscape) EncodeXML() *etree.Element

func (*EventEscape) Status

func (ev *EventEscape) Status() uint8

type EventNoteOff

type EventNoteOff struct {
	EventCommon
	Key           Key
	Velocity      uint8
	RelatedNoteOn *EventNoteOn
}

8n

func (*EventNoteOff) EncodeRealtime

func (ev *EventNoteOff) EncodeRealtime() ([]byte, error)

func (*EventNoteOff) EncodeSMF

func (ev *EventNoteOff) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*EventNoteOff) EncodeSMFLen

func (ev *EventNoteOff) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*EventNoteOff) EncodeXML

func (ev *EventNoteOff) EncodeXML() *etree.Element

func (*EventNoteOff) Status

func (ev *EventNoteOff) Status() uint8

type EventNoteOn

type EventNoteOn struct {
	EventCommon
	Key            Key
	Velocity       uint8
	RelatedNoteOff *EventNoteOff
}

9n

func (*EventNoteOn) EncodeRealtime

func (ev *EventNoteOn) EncodeRealtime() ([]byte, error)

func (*EventNoteOn) EncodeSMF

func (ev *EventNoteOn) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*EventNoteOn) EncodeSMFLen

func (ev *EventNoteOn) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*EventNoteOn) EncodeXML

func (ev *EventNoteOn) EncodeXML() *etree.Element

func (*EventNoteOn) Status

func (ev *EventNoteOn) Status() uint8

type EventPitchWheelChange

type EventPitchWheelChange struct {
	EventCommon
	Pitch int16
}

En

func (*EventPitchWheelChange) EncodeRealtime

func (ev *EventPitchWheelChange) EncodeRealtime() ([]byte, error)

func (*EventPitchWheelChange) EncodeSMF

func (ev *EventPitchWheelChange) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*EventPitchWheelChange) EncodeSMFLen

func (ev *EventPitchWheelChange) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*EventPitchWheelChange) EncodeXML

func (ev *EventPitchWheelChange) EncodeXML() *etree.Element

func (*EventPitchWheelChange) Status

func (ev *EventPitchWheelChange) Status() uint8

type EventPolyphonicKeyPressure

type EventPolyphonicKeyPressure struct {
	EventCommon
	Key           Key
	Velocity      uint8
	RelatedNoteOn []*EventNoteOn
}

An

func (*EventPolyphonicKeyPressure) EncodeRealtime

func (ev *EventPolyphonicKeyPressure) EncodeRealtime() ([]byte, error)

func (*EventPolyphonicKeyPressure) EncodeSMF

func (ev *EventPolyphonicKeyPressure) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*EventPolyphonicKeyPressure) EncodeSMFLen

func (ev *EventPolyphonicKeyPressure) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*EventPolyphonicKeyPressure) EncodeXML

func (ev *EventPolyphonicKeyPressure) EncodeXML() *etree.Element

func (*EventPolyphonicKeyPressure) Status

func (ev *EventPolyphonicKeyPressure) Status() uint8

type EventProgramChange

type EventProgramChange struct {
	EventCommon
	Program uint8
}

Cn

func (*EventProgramChange) EncodeRealtime

func (ev *EventProgramChange) EncodeRealtime() ([]byte, error)

func (*EventProgramChange) EncodeSMF

func (ev *EventProgramChange) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*EventProgramChange) EncodeSMFLen

func (ev *EventProgramChange) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*EventProgramChange) EncodeXML

func (ev *EventProgramChange) EncodeXML() *etree.Element

func (*EventProgramChange) Status

func (ev *EventProgramChange) Status() uint8

type EventSongPositionPointer

type EventSongPositionPointer struct {
	EventCommon
	SongPosition uint16
}

F2

func (*EventSongPositionPointer) EncodeRealtime

func (ev *EventSongPositionPointer) EncodeRealtime() ([]byte, error)

func (*EventSongPositionPointer) EncodeSMF

func (ev *EventSongPositionPointer) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*EventSongPositionPointer) EncodeSMFLen

func (ev *EventSongPositionPointer) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*EventSongPositionPointer) EncodeXML

func (ev *EventSongPositionPointer) EncodeXML() *etree.Element

func (*EventSongPositionPointer) Status

func (ev *EventSongPositionPointer) Status() uint8

type EventSongSelect

type EventSongSelect struct {
	EventCommon
	SongNumber uint8
}

F3

func (*EventSongSelect) EncodeRealtime

func (ev *EventSongSelect) EncodeRealtime() ([]byte, error)

func (*EventSongSelect) EncodeSMF

func (ev *EventSongSelect) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*EventSongSelect) EncodeSMFLen

func (ev *EventSongSelect) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*EventSongSelect) EncodeXML

func (ev *EventSongSelect) EncodeXML() *etree.Element

func (*EventSongSelect) Status

func (ev *EventSongSelect) Status() uint8

type EventStart

type EventStart struct {
	EventCommon
}

FA

func (*EventStart) EncodeRealtime

func (ev *EventStart) EncodeRealtime() ([]byte, error)

func (*EventStart) EncodeSMF

func (ev *EventStart) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*EventStart) EncodeSMFLen

func (ev *EventStart) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*EventStart) EncodeXML

func (ev *EventStart) EncodeXML() *etree.Element

func (*EventStart) Status

func (ev *EventStart) Status() uint8

type EventStop

type EventStop struct {
	EventCommon
}

FC

func (*EventStop) EncodeRealtime

func (ev *EventStop) EncodeRealtime() ([]byte, error)

func (*EventStop) EncodeSMF

func (ev *EventStop) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*EventStop) EncodeSMFLen

func (ev *EventStop) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*EventStop) EncodeXML

func (ev *EventStop) EncodeXML() *etree.Element

func (*EventStop) Status

func (ev *EventStop) Status() uint8

type EventSystemExclusive

type EventSystemExclusive struct {
	EventCommon
	Data []byte
}

F0

func (*EventSystemExclusive) EncodeRealtime

func (ev *EventSystemExclusive) EncodeRealtime() ([]byte, error)

func (*EventSystemExclusive) EncodeSMF

func (ev *EventSystemExclusive) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*EventSystemExclusive) EncodeSMFLen

func (ev *EventSystemExclusive) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*EventSystemExclusive) EncodeXML

func (ev *EventSystemExclusive) EncodeXML() *etree.Element

func (*EventSystemExclusive) Status

func (ev *EventSystemExclusive) Status() uint8

type EventTimeCodeQuarterFrame

type EventTimeCodeQuarterFrame struct {
	EventCommon
	MessageType uint8
	Values      uint8
}

F1

func (*EventTimeCodeQuarterFrame) EncodeRealtime

func (ev *EventTimeCodeQuarterFrame) EncodeRealtime() ([]byte, error)

func (*EventTimeCodeQuarterFrame) EncodeSMF

func (ev *EventTimeCodeQuarterFrame) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*EventTimeCodeQuarterFrame) EncodeSMFLen

func (ev *EventTimeCodeQuarterFrame) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*EventTimeCodeQuarterFrame) EncodeXML

func (ev *EventTimeCodeQuarterFrame) EncodeXML() *etree.Element

func (*EventTimeCodeQuarterFrame) Status

func (ev *EventTimeCodeQuarterFrame) Status() uint8

type EventTimingClock

type EventTimingClock struct {
	EventCommon
}

F8

func (*EventTimingClock) EncodeRealtime

func (ev *EventTimingClock) EncodeRealtime() ([]byte, error)

func (*EventTimingClock) EncodeSMF

func (ev *EventTimingClock) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*EventTimingClock) EncodeSMFLen

func (ev *EventTimingClock) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*EventTimingClock) EncodeXML

func (ev *EventTimingClock) EncodeXML() *etree.Element

func (*EventTimingClock) Status

func (ev *EventTimingClock) Status() uint8

type EventTuneRequest

type EventTuneRequest struct {
	EventCommon
}

F6

func (*EventTuneRequest) EncodeRealtime

func (ev *EventTuneRequest) EncodeRealtime() ([]byte, error)

func (*EventTuneRequest) EncodeSMF

func (ev *EventTuneRequest) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*EventTuneRequest) EncodeSMFLen

func (ev *EventTuneRequest) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*EventTuneRequest) EncodeXML

func (ev *EventTuneRequest) EncodeXML() *etree.Element

func (*EventTuneRequest) Status

func (ev *EventTuneRequest) Status() uint8

type EventUnknown

type EventUnknown struct {
	EventCommon
	Unknown []byte
}

func (*EventUnknown) EncodeRealtime

func (ev *EventUnknown) EncodeRealtime() ([]byte, error)

func (*EventUnknown) EncodeSMF

func (ev *EventUnknown) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*EventUnknown) EncodeSMFLen

func (ev *EventUnknown) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*EventUnknown) EncodeXML

func (ev *EventUnknown) EncodeXML() *etree.Element

func (*EventUnknown) Status

func (ev *EventUnknown) Status() uint8

type Key

type Key uint8

func ParseKey

func ParseKey(str string) (Key, error)

func (Key) String

func (key Key) String() string

type KeySignature

type KeySignature int16

func ParseKeySignature

func ParseKeySignature(str string) (KeySignature, error)

func (KeySignature) String

func (ks KeySignature) String() string

type MThd

type MThd struct {
	FilePosition int64
	Format       uint16
	NTrks        uint16
	Framerate    uint8
	Division     uint16
	Undecoded    []byte
}

func DecodeMThdFromSMF

func DecodeMThdFromSMF(r io.ReadSeeker, warningCallback WarningCallback) (mthd *MThd, err error)

func DecodeMThdFromXML

func DecodeMThdFromXML(el *etree.Element) (*MThd, error)

func (*MThd) EncodeSMF

func (mthd *MThd) EncodeSMF(w io.Writer) error

func (*MThd) EncodeXML

func (mthd *MThd) EncodeXML() *etree.Element

type MTrk

type MTrk struct {
	FilePosition int64
	TempoTable   *TempoTable
	Events       []Event
}

func DecodeMTrkFromSMF

func DecodeMTrkFromSMF(r io.ReadSeeker, warningCallback WarningCallback) (mtrk *MTrk, err error)

func DecodeMTrkFromXML

func DecodeMTrkFromXML(el *etree.Element) (*MTrk, error)

func (*MTrk) ConvertAbsTickToDuration

func (mtrk *MTrk) ConvertAbsTickToDuration(absTick int64) time.Duration

func (*MTrk) ConvertAbsToDeltaTick

func (mtrk *MTrk) ConvertAbsToDeltaTick() error

func (*MTrk) ConvertDeltaToAbsTick

func (mtrk *MTrk) ConvertDeltaToAbsTick()

func (*MTrk) EncodeSMF

func (mtrk *MTrk) EncodeSMF(w io.Writer) error

func (*MTrk) EncodeXML

func (mtrk *MTrk) EncodeXML() *etree.Element

type MetaEvent

type MetaEvent interface {
	Event
	MetaData() ([]byte, error)
	MetaLen() (VLQ, error)
	MetaType() uint8
}

type MetaEventCopyrightNotice

type MetaEventCopyrightNotice struct {
	EventCommon
	Text string
}

FF 02

func (*MetaEventCopyrightNotice) EncodeRealtime

func (ev *MetaEventCopyrightNotice) EncodeRealtime() ([]byte, error)

func (*MetaEventCopyrightNotice) EncodeSMF

func (ev *MetaEventCopyrightNotice) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*MetaEventCopyrightNotice) EncodeSMFLen

func (ev *MetaEventCopyrightNotice) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*MetaEventCopyrightNotice) EncodeXML

func (ev *MetaEventCopyrightNotice) EncodeXML() *etree.Element

func (*MetaEventCopyrightNotice) MetaData

func (ev *MetaEventCopyrightNotice) MetaData() ([]byte, error)

func (*MetaEventCopyrightNotice) MetaLen

func (ev *MetaEventCopyrightNotice) MetaLen() (VLQ, error)

func (*MetaEventCopyrightNotice) MetaType

func (ev *MetaEventCopyrightNotice) MetaType() uint8

func (*MetaEventCopyrightNotice) Status

func (ev *MetaEventCopyrightNotice) Status() uint8

type MetaEventCuePoint

type MetaEventCuePoint struct {
	EventCommon
	Text string
}

FF 07

func (*MetaEventCuePoint) EncodeRealtime

func (ev *MetaEventCuePoint) EncodeRealtime() ([]byte, error)

func (*MetaEventCuePoint) EncodeSMF

func (ev *MetaEventCuePoint) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*MetaEventCuePoint) EncodeSMFLen

func (ev *MetaEventCuePoint) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*MetaEventCuePoint) EncodeXML

func (ev *MetaEventCuePoint) EncodeXML() *etree.Element

func (*MetaEventCuePoint) MetaData

func (ev *MetaEventCuePoint) MetaData() ([]byte, error)

func (*MetaEventCuePoint) MetaLen

func (ev *MetaEventCuePoint) MetaLen() (VLQ, error)

func (*MetaEventCuePoint) MetaType

func (ev *MetaEventCuePoint) MetaType() uint8

func (*MetaEventCuePoint) Status

func (ev *MetaEventCuePoint) Status() uint8

type MetaEventDeviceName

type MetaEventDeviceName struct {
	EventCommon
	Text string
}

FF 09

func (*MetaEventDeviceName) EncodeRealtime

func (ev *MetaEventDeviceName) EncodeRealtime() ([]byte, error)

func (*MetaEventDeviceName) EncodeSMF

func (ev *MetaEventDeviceName) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*MetaEventDeviceName) EncodeSMFLen

func (ev *MetaEventDeviceName) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*MetaEventDeviceName) EncodeXML

func (ev *MetaEventDeviceName) EncodeXML() *etree.Element

func (*MetaEventDeviceName) MetaData

func (ev *MetaEventDeviceName) MetaData() ([]byte, error)

func (*MetaEventDeviceName) MetaLen

func (ev *MetaEventDeviceName) MetaLen() (VLQ, error)

func (*MetaEventDeviceName) MetaType

func (ev *MetaEventDeviceName) MetaType() uint8

func (*MetaEventDeviceName) Status

func (ev *MetaEventDeviceName) Status() uint8

type MetaEventEndOfTrack

type MetaEventEndOfTrack struct {
	EventCommon
	Undecoded []byte
}

FF 2F

func (*MetaEventEndOfTrack) EncodeRealtime

func (ev *MetaEventEndOfTrack) EncodeRealtime() ([]byte, error)

func (*MetaEventEndOfTrack) EncodeSMF

func (ev *MetaEventEndOfTrack) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*MetaEventEndOfTrack) EncodeSMFLen

func (ev *MetaEventEndOfTrack) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*MetaEventEndOfTrack) EncodeXML

func (ev *MetaEventEndOfTrack) EncodeXML() *etree.Element

func (*MetaEventEndOfTrack) MetaData

func (ev *MetaEventEndOfTrack) MetaData() ([]byte, error)

func (*MetaEventEndOfTrack) MetaLen

func (ev *MetaEventEndOfTrack) MetaLen() (VLQ, error)

func (*MetaEventEndOfTrack) MetaType

func (ev *MetaEventEndOfTrack) MetaType() uint8

func (*MetaEventEndOfTrack) Status

func (ev *MetaEventEndOfTrack) Status() uint8

type MetaEventInstrumentName

type MetaEventInstrumentName struct {
	EventCommon
	Text string
}

FF 04

func (*MetaEventInstrumentName) EncodeRealtime

func (ev *MetaEventInstrumentName) EncodeRealtime() ([]byte, error)

func (*MetaEventInstrumentName) EncodeSMF

func (ev *MetaEventInstrumentName) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*MetaEventInstrumentName) EncodeSMFLen

func (ev *MetaEventInstrumentName) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*MetaEventInstrumentName) EncodeXML

func (ev *MetaEventInstrumentName) EncodeXML() *etree.Element

func (*MetaEventInstrumentName) MetaData

func (ev *MetaEventInstrumentName) MetaData() ([]byte, error)

func (*MetaEventInstrumentName) MetaLen

func (ev *MetaEventInstrumentName) MetaLen() (VLQ, error)

func (*MetaEventInstrumentName) MetaType

func (ev *MetaEventInstrumentName) MetaType() uint8

func (*MetaEventInstrumentName) Status

func (ev *MetaEventInstrumentName) Status() uint8

type MetaEventKeySignature

type MetaEventKeySignature struct {
	EventCommon
	KeySignature KeySignature
	Undecoded    []byte
}

FF 59

func (*MetaEventKeySignature) EncodeRealtime

func (ev *MetaEventKeySignature) EncodeRealtime() ([]byte, error)

func (*MetaEventKeySignature) EncodeSMF

func (ev *MetaEventKeySignature) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*MetaEventKeySignature) EncodeSMFLen

func (ev *MetaEventKeySignature) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*MetaEventKeySignature) EncodeXML

func (ev *MetaEventKeySignature) EncodeXML() *etree.Element

func (*MetaEventKeySignature) MetaData

func (ev *MetaEventKeySignature) MetaData() ([]byte, error)

func (*MetaEventKeySignature) MetaLen

func (ev *MetaEventKeySignature) MetaLen() (VLQ, error)

func (*MetaEventKeySignature) MetaType

func (ev *MetaEventKeySignature) MetaType() uint8

func (*MetaEventKeySignature) Status

func (ev *MetaEventKeySignature) Status() uint8

type MetaEventLyric

type MetaEventLyric struct {
	EventCommon
	Text string
}

FF 05

func (*MetaEventLyric) EncodeRealtime

func (ev *MetaEventLyric) EncodeRealtime() ([]byte, error)

func (*MetaEventLyric) EncodeSMF

func (ev *MetaEventLyric) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*MetaEventLyric) EncodeSMFLen

func (ev *MetaEventLyric) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*MetaEventLyric) EncodeXML

func (ev *MetaEventLyric) EncodeXML() *etree.Element

func (*MetaEventLyric) MetaData

func (ev *MetaEventLyric) MetaData() ([]byte, error)

func (*MetaEventLyric) MetaLen

func (ev *MetaEventLyric) MetaLen() (VLQ, error)

func (*MetaEventLyric) MetaType

func (ev *MetaEventLyric) MetaType() uint8

func (*MetaEventLyric) Status

func (ev *MetaEventLyric) Status() uint8

type MetaEventMIDIChannelPrefix

type MetaEventMIDIChannelPrefix struct {
	EventCommon
	ChannelPrefix uint8
	Undecoded     []byte
}

FF 20

func (*MetaEventMIDIChannelPrefix) EncodeRealtime

func (ev *MetaEventMIDIChannelPrefix) EncodeRealtime() ([]byte, error)

func (*MetaEventMIDIChannelPrefix) EncodeSMF

func (ev *MetaEventMIDIChannelPrefix) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*MetaEventMIDIChannelPrefix) EncodeSMFLen

func (ev *MetaEventMIDIChannelPrefix) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*MetaEventMIDIChannelPrefix) EncodeXML

func (ev *MetaEventMIDIChannelPrefix) EncodeXML() *etree.Element

func (*MetaEventMIDIChannelPrefix) MetaData

func (ev *MetaEventMIDIChannelPrefix) MetaData() ([]byte, error)

func (*MetaEventMIDIChannelPrefix) MetaLen

func (ev *MetaEventMIDIChannelPrefix) MetaLen() (VLQ, error)

func (*MetaEventMIDIChannelPrefix) MetaType

func (ev *MetaEventMIDIChannelPrefix) MetaType() uint8

func (*MetaEventMIDIChannelPrefix) Status

func (ev *MetaEventMIDIChannelPrefix) Status() uint8

type MetaEventMarker

type MetaEventMarker struct {
	EventCommon
	Text string
}

FF 06

func (*MetaEventMarker) EncodeRealtime

func (ev *MetaEventMarker) EncodeRealtime() ([]byte, error)

func (*MetaEventMarker) EncodeSMF

func (ev *MetaEventMarker) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*MetaEventMarker) EncodeSMFLen

func (ev *MetaEventMarker) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*MetaEventMarker) EncodeXML

func (ev *MetaEventMarker) EncodeXML() *etree.Element

func (*MetaEventMarker) MetaData

func (ev *MetaEventMarker) MetaData() ([]byte, error)

func (*MetaEventMarker) MetaLen

func (ev *MetaEventMarker) MetaLen() (VLQ, error)

func (*MetaEventMarker) MetaType

func (ev *MetaEventMarker) MetaType() uint8

func (*MetaEventMarker) Status

func (ev *MetaEventMarker) Status() uint8

type MetaEventProgramName

type MetaEventProgramName struct {
	EventCommon
	Text string
}

FF 08

func (*MetaEventProgramName) EncodeRealtime

func (ev *MetaEventProgramName) EncodeRealtime() ([]byte, error)

func (*MetaEventProgramName) EncodeSMF

func (ev *MetaEventProgramName) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*MetaEventProgramName) EncodeSMFLen

func (ev *MetaEventProgramName) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*MetaEventProgramName) EncodeXML

func (ev *MetaEventProgramName) EncodeXML() *etree.Element

func (*MetaEventProgramName) MetaData

func (ev *MetaEventProgramName) MetaData() ([]byte, error)

func (*MetaEventProgramName) MetaLen

func (ev *MetaEventProgramName) MetaLen() (VLQ, error)

func (*MetaEventProgramName) MetaType

func (ev *MetaEventProgramName) MetaType() uint8

func (*MetaEventProgramName) Status

func (ev *MetaEventProgramName) Status() uint8

type MetaEventSMPTEOffset

type MetaEventSMPTEOffset struct {
	EventCommon
	Framerate  uint8
	ColorFrame bool
	Negative   bool
	Hours      uint8
	Minutes    uint8
	Seconds    uint8
	Frames     uint8
	Fractional uint8
	Undecoded  []byte
}

FF 54

func (*MetaEventSMPTEOffset) EncodeRealtime

func (ev *MetaEventSMPTEOffset) EncodeRealtime() ([]byte, error)

func (*MetaEventSMPTEOffset) EncodeSMF

func (ev *MetaEventSMPTEOffset) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*MetaEventSMPTEOffset) EncodeSMFLen

func (ev *MetaEventSMPTEOffset) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*MetaEventSMPTEOffset) EncodeXML

func (ev *MetaEventSMPTEOffset) EncodeXML() *etree.Element

func (*MetaEventSMPTEOffset) MetaData

func (ev *MetaEventSMPTEOffset) MetaData() ([]byte, error)

func (*MetaEventSMPTEOffset) MetaLen

func (ev *MetaEventSMPTEOffset) MetaLen() (VLQ, error)

func (*MetaEventSMPTEOffset) MetaType

func (ev *MetaEventSMPTEOffset) MetaType() uint8

func (*MetaEventSMPTEOffset) Status

func (ev *MetaEventSMPTEOffset) Status() uint8

type MetaEventSequenceNumber

type MetaEventSequenceNumber struct {
	EventCommon
	SequenceNumber *uint16
	Undecoded      []byte
}

FF 00

func (*MetaEventSequenceNumber) EncodeRealtime

func (ev *MetaEventSequenceNumber) EncodeRealtime() ([]byte, error)

func (*MetaEventSequenceNumber) EncodeSMF

func (ev *MetaEventSequenceNumber) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*MetaEventSequenceNumber) EncodeSMFLen

func (ev *MetaEventSequenceNumber) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*MetaEventSequenceNumber) EncodeXML

func (ev *MetaEventSequenceNumber) EncodeXML() *etree.Element

func (*MetaEventSequenceNumber) MetaData

func (ev *MetaEventSequenceNumber) MetaData() ([]byte, error)

func (*MetaEventSequenceNumber) MetaLen

func (ev *MetaEventSequenceNumber) MetaLen() (VLQ, error)

func (*MetaEventSequenceNumber) MetaType

func (ev *MetaEventSequenceNumber) MetaType() uint8

func (*MetaEventSequenceNumber) Status

func (ev *MetaEventSequenceNumber) Status() uint8

type MetaEventSequenceTrackName

type MetaEventSequenceTrackName struct {
	EventCommon
	Text string
}

FF 03

func (*MetaEventSequenceTrackName) EncodeRealtime

func (ev *MetaEventSequenceTrackName) EncodeRealtime() ([]byte, error)

func (*MetaEventSequenceTrackName) EncodeSMF

func (ev *MetaEventSequenceTrackName) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*MetaEventSequenceTrackName) EncodeSMFLen

func (ev *MetaEventSequenceTrackName) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*MetaEventSequenceTrackName) EncodeXML

func (ev *MetaEventSequenceTrackName) EncodeXML() *etree.Element

func (*MetaEventSequenceTrackName) MetaData

func (ev *MetaEventSequenceTrackName) MetaData() ([]byte, error)

func (*MetaEventSequenceTrackName) MetaLen

func (ev *MetaEventSequenceTrackName) MetaLen() (VLQ, error)

func (*MetaEventSequenceTrackName) MetaType

func (ev *MetaEventSequenceTrackName) MetaType() uint8

func (*MetaEventSequenceTrackName) Status

func (ev *MetaEventSequenceTrackName) Status() uint8

type MetaEventSequencerSpecific

type MetaEventSequencerSpecific struct {
	EventCommon
	Data []byte
}

FF 7F

func (*MetaEventSequencerSpecific) EncodeRealtime

func (ev *MetaEventSequencerSpecific) EncodeRealtime() ([]byte, error)

func (*MetaEventSequencerSpecific) EncodeSMF

func (ev *MetaEventSequencerSpecific) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*MetaEventSequencerSpecific) EncodeSMFLen

func (ev *MetaEventSequencerSpecific) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*MetaEventSequencerSpecific) EncodeXML

func (ev *MetaEventSequencerSpecific) EncodeXML() *etree.Element

func (*MetaEventSequencerSpecific) MetaData

func (ev *MetaEventSequencerSpecific) MetaData() ([]byte, error)

func (*MetaEventSequencerSpecific) MetaLen

func (ev *MetaEventSequencerSpecific) MetaLen() (VLQ, error)

func (*MetaEventSequencerSpecific) MetaType

func (ev *MetaEventSequencerSpecific) MetaType() uint8

func (*MetaEventSequencerSpecific) Status

func (ev *MetaEventSequencerSpecific) Status() uint8

type MetaEventSetTempo

type MetaEventSetTempo struct {
	EventCommon
	UsPerQuarter uint32
	Undecoded    []byte
}

FF 51

func (*MetaEventSetTempo) EncodeRealtime

func (ev *MetaEventSetTempo) EncodeRealtime() ([]byte, error)

func (*MetaEventSetTempo) EncodeSMF

func (ev *MetaEventSetTempo) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*MetaEventSetTempo) EncodeSMFLen

func (ev *MetaEventSetTempo) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*MetaEventSetTempo) EncodeXML

func (ev *MetaEventSetTempo) EncodeXML() *etree.Element

func (*MetaEventSetTempo) MetaData

func (ev *MetaEventSetTempo) MetaData() ([]byte, error)

func (*MetaEventSetTempo) MetaLen

func (ev *MetaEventSetTempo) MetaLen() (VLQ, error)

func (*MetaEventSetTempo) MetaType

func (ev *MetaEventSetTempo) MetaType() uint8

func (*MetaEventSetTempo) Status

func (ev *MetaEventSetTempo) Status() uint8

type MetaEventTextEvent

type MetaEventTextEvent struct {
	EventCommon
	Text string
}

FF 01

func (*MetaEventTextEvent) EncodeRealtime

func (ev *MetaEventTextEvent) EncodeRealtime() ([]byte, error)

func (*MetaEventTextEvent) EncodeSMF

func (ev *MetaEventTextEvent) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*MetaEventTextEvent) EncodeSMFLen

func (ev *MetaEventTextEvent) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*MetaEventTextEvent) EncodeXML

func (ev *MetaEventTextEvent) EncodeXML() *etree.Element

func (*MetaEventTextEvent) MetaData

func (ev *MetaEventTextEvent) MetaData() ([]byte, error)

func (*MetaEventTextEvent) MetaLen

func (ev *MetaEventTextEvent) MetaLen() (VLQ, error)

func (*MetaEventTextEvent) MetaType

func (ev *MetaEventTextEvent) MetaType() uint8

func (*MetaEventTextEvent) Status

func (ev *MetaEventTextEvent) Status() uint8

type MetaEventTimeSignature

type MetaEventTimeSignature struct {
	EventCommon
	Numerator                        uint8
	Denominator                      uint8
	MIDIClocksPerMetronome           uint8
	ThirtySecondNotesPer24MIDIClocks uint8
	Undecoded                        []byte
}

FF 58

func (*MetaEventTimeSignature) EncodeRealtime

func (ev *MetaEventTimeSignature) EncodeRealtime() ([]byte, error)

func (*MetaEventTimeSignature) EncodeSMF

func (ev *MetaEventTimeSignature) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*MetaEventTimeSignature) EncodeSMFLen

func (ev *MetaEventTimeSignature) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*MetaEventTimeSignature) EncodeXML

func (ev *MetaEventTimeSignature) EncodeXML() *etree.Element

func (*MetaEventTimeSignature) MetaData

func (ev *MetaEventTimeSignature) MetaData() ([]byte, error)

func (*MetaEventTimeSignature) MetaLen

func (ev *MetaEventTimeSignature) MetaLen() (VLQ, error)

func (*MetaEventTimeSignature) MetaType

func (ev *MetaEventTimeSignature) MetaType() uint8

func (*MetaEventTimeSignature) Status

func (ev *MetaEventTimeSignature) Status() uint8

type MetaEventUnknown

type MetaEventUnknown struct {
	EventCommon
	Type    uint8
	Unknown []byte
}

func (*MetaEventUnknown) EncodeRealtime

func (ev *MetaEventUnknown) EncodeRealtime() ([]byte, error)

func (*MetaEventUnknown) EncodeSMF

func (ev *MetaEventUnknown) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*MetaEventUnknown) EncodeSMFLen

func (ev *MetaEventUnknown) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*MetaEventUnknown) EncodeXML

func (ev *MetaEventUnknown) EncodeXML() *etree.Element

func (*MetaEventUnknown) MetaData

func (ev *MetaEventUnknown) MetaData() ([]byte, error)

func (*MetaEventUnknown) MetaLen

func (ev *MetaEventUnknown) MetaLen() (VLQ, error)

func (*MetaEventUnknown) MetaType

func (ev *MetaEventUnknown) MetaType() uint8

func (*MetaEventUnknown) Status

func (ev *MetaEventUnknown) Status() uint8

type MetaEventXMFPatchTypePrefix

type MetaEventXMFPatchTypePrefix struct {
	EventCommon
	Param     uint8
	Undecoded []byte
}

FF 60

func (*MetaEventXMFPatchTypePrefix) EncodeRealtime

func (ev *MetaEventXMFPatchTypePrefix) EncodeRealtime() ([]byte, error)

func (*MetaEventXMFPatchTypePrefix) EncodeSMF

func (ev *MetaEventXMFPatchTypePrefix) EncodeSMF(w io.Writer, status, channel *uint8) error

func (*MetaEventXMFPatchTypePrefix) EncodeSMFLen

func (ev *MetaEventXMFPatchTypePrefix) EncodeSMFLen(status, channel *uint8) (int64, error)

func (*MetaEventXMFPatchTypePrefix) EncodeXML

func (ev *MetaEventXMFPatchTypePrefix) EncodeXML() *etree.Element

func (*MetaEventXMFPatchTypePrefix) MetaData

func (ev *MetaEventXMFPatchTypePrefix) MetaData() ([]byte, error)

func (*MetaEventXMFPatchTypePrefix) MetaLen

func (ev *MetaEventXMFPatchTypePrefix) MetaLen() (VLQ, error)

func (*MetaEventXMFPatchTypePrefix) MetaType

func (ev *MetaEventXMFPatchTypePrefix) MetaType() uint8

func (*MetaEventXMFPatchTypePrefix) Status

func (ev *MetaEventXMFPatchTypePrefix) Status() uint8

type Sequence

type Sequence struct {
	Header    *MThd
	Tracks    []*MTrk
	Undecoded []byte
}

func DecodeSequenceFromSMF

func DecodeSequenceFromSMF(r io.ReadSeeker, warningCallback WarningCallback) (seq *Sequence, err error)

func DecodeSequenceFromXML

func DecodeSequenceFromXML(el *etree.Element) (*Sequence, error)

func DecodeXMLFromDocument

func DecodeXMLFromDocument(r io.Reader) (seq *Sequence, n int64, err error)

func (*Sequence) CalculateNotePair

func (seq *Sequence) CalculateNotePair()

func (*Sequence) CalculateTempoTable

func (seq *Sequence) CalculateTempoTable()

func (*Sequence) ConvertAbsToDeltaTick

func (seq *Sequence) ConvertAbsToDeltaTick() error

func (*Sequence) ConvertDeltaToAbsTick

func (seq *Sequence) ConvertDeltaToAbsTick()

func (*Sequence) EncodeSMF

func (seq *Sequence) EncodeSMF(w io.Writer) error

func (*Sequence) EncodeXML

func (seq *Sequence) EncodeXML() *etree.Element

func (*Sequence) EncodeXMLToDocument

func (seq *Sequence) EncodeXMLToDocument(w io.Writer) (n int64, err error)

type TempoChange

type TempoChange struct {
	AbsTick      int64
	FilePosition int64
	UsPerQuarter uint32
}

type TempoTable

type TempoTable struct {
	Framerate uint8
	Division  uint16
	Changes   []TempoChange
}

type VLQ

type VLQ uint32

func DecodeVLQ

func DecodeVLQ(r io.ReadSeeker, warningCallback WarningCallback) (VLQ, error)

func (VLQ) Encode

func (v VLQ) Encode(w io.Writer) error

func (VLQ) EncodeLen

func (v VLQ) EncodeLen() (int64, error)

type WarningCallback

type WarningCallback func(err error)

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

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