Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AtomEvent ¶ added in v2.2.11
type AtomEvent struct { TrackNo int Pos uint8 // in 32th Duration uint8 // in 32th for noteOn messages, it is the length of the note, for all other messages, it is 0 Message smf.Message // may only be channel messages or sysex messages. no noteon velocity 0, or noteoff messages, this is expressed via Duration // contains filtered or unexported fields }
func (*AtomEvent) AbsTicks ¶ added in v2.2.11
func (e *AtomEvent) AbsTicks(b *Bar, ticks smf.MetricTicks) (start, end int64)
func (*AtomEvent) TrackEvents ¶ added in v2.2.11
func (ev *AtomEvent) TrackEvents(b *Bar, ticks smf.MetricTicks) (evts smf.TrackEvents)
type Bar ¶
type Bar struct { Number uint TimeSig [2]uint8 Events Events Key *smf.Key // TODO a key change, if != nil AbsTicks int64 }
func (*Bar) SortEvents ¶ added in v2.0.23
func (b *Bar) SortEvents()
func (*Bar) TrackEvents ¶ added in v2.2.11
func (b *Bar) TrackEvents(ticks smf.MetricTicks) (evts smf.TrackEvents)
type EmptyEvent ¶ added in v2.2.11
type EmptyEvent uint8
func (EmptyEvent) Inspect ¶ added in v2.2.11
func (e EmptyEvent) Inspect() string
func (EmptyEvent) Position ¶ added in v2.2.11
func (ev EmptyEvent) Position() uint8
func (EmptyEvent) TrackEvents ¶ added in v2.2.11
func (ev EmptyEvent) TrackEvents(b *Bar, ticks smf.MetricTicks) (evts smf.TrackEvents)
type Event ¶
type Event interface { Position() uint8 TrackEvents(b *Bar, ticks smf.MetricTicks) (evts smf.TrackEvents) Inspect() string }
type Events ¶ added in v2.0.23
type Events []Event
type MultiEvent ¶ added in v2.2.11
type MultiEvent []*AtomEvent
MultiEvent are multiple AtomEvents at the same time
func (MultiEvent) Inspect ¶ added in v2.2.11
func (mev MultiEvent) Inspect() string
func (MultiEvent) Len ¶ added in v2.2.11
func (e MultiEvent) Len() int
func (MultiEvent) Less ¶ added in v2.2.11
func (e MultiEvent) Less(a, b int) bool
warning: only works within a bar
func (MultiEvent) Position ¶ added in v2.2.11
func (mev MultiEvent) Position() uint8
func (MultiEvent) Swap ¶ added in v2.2.11
func (e MultiEvent) Swap(a, b int)
func (MultiEvent) TrackEvents ¶ added in v2.2.11
func (mev MultiEvent) TrackEvents(b *Bar, ticks smf.MetricTicks) (evts smf.TrackEvents)
TODO: test
type NTupleEvent ¶ added in v2.2.11
type NTupleEvent struct { Duration uint8 // contains filtered or unexported fields }
NTupleEvent are AtomEvents spread evenly over the time
func (*NTupleEvent) Inspect ¶ added in v2.2.11
func (ntev *NTupleEvent) Inspect() string
func (*NTupleEvent) Len ¶ added in v2.2.11
func (e *NTupleEvent) Len() int
func (*NTupleEvent) Less ¶ added in v2.2.11
func (e *NTupleEvent) Less(a, b int) bool
warning: only works within a bar
func (*NTupleEvent) Position ¶ added in v2.2.11
func (ntev *NTupleEvent) Position() uint8
func (*NTupleEvent) Swap ¶ added in v2.2.11
func (e *NTupleEvent) Swap(a, b int)
func (*NTupleEvent) TrackEvents ¶ added in v2.2.11
func (ntev *NTupleEvent) TrackEvents(b *Bar, ticks smf.MetricTicks) (evts smf.TrackEvents)
TODO: test
type Song ¶
type Song struct { Title string Composer string TrackNames []string Ticks smf.MetricTicks // contains filtered or unexported fields }
func (*Song) SetBarAbsTicks ¶ added in v2.0.23
func (s *Song) SetBarAbsTicks()
Click to show internal directories.
Click to hide internal directories.