refactor: implement Order and Pattern types: slices returning default values for out of bound indices

This commit is contained in:
vsariola
2021-05-12 11:31:38 +03:00
parent ce6e5d4942
commit a2723829da
9 changed files with 68 additions and 51 deletions

View File

@ -2,17 +2,17 @@ package sointu
type Track struct {
NumVoices int
Effect bool `yaml:",omitempty"`
Order []int `yaml:",flow"`
Patterns [][]byte `yaml:",flow"`
Effect bool `yaml:",omitempty"`
Order Order `yaml:",flow"`
Patterns []Pattern `yaml:",flow"`
}
func (t *Track) Copy() Track {
order := make([]int, len(t.Order))
copy(order, t.Order)
patterns := make([][]byte, len(t.Patterns))
patterns := make([]Pattern, len(t.Patterns))
for i, oldPat := range t.Patterns {
newPat := make([]byte, len(oldPat))
newPat := make(Pattern, len(oldPat))
copy(newPat, oldPat)
patterns[i] = newPat
}