drum

package
v0.0.0-...-e04bdec Latest Latest
Warning

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

Go to latest
Published: Mar 15, 2015 License: BSD-3-Clause Imports: 7 Imported by: 0

Documentation

Overview

Package drum is supposed to implement the decoding of .splice drum machine files. See golang-challenge.com/go-challenge1/ for more information

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Pattern

type Pattern struct {
	Filename string
	Lenght   int64
	Version  string
	Tempo    float32
	Tracks   []Track
}

Pattern is the high level representation of the drum pattern contained in a .splice file.

func DecodeFile

func DecodeFile(path string) (*Pattern, error)

DecodeFile decodes the drum machine file found at the provided path and returns a pointer to a parsed pattern which is the entry point to the rest of the data.

func NewPattern

func NewPattern() *Pattern

NewPattern creates a new Pattern

func (Pattern) String

func (p Pattern) String() string

type Quarter

type Quarter struct {
	Steps []Step
}

Quarter is fourth of a Tack

func NewQuarter

func NewQuarter(steps []byte) (*Quarter, error)

NewQuarter creates a new Quarter

func (Quarter) String

func (q Quarter) String() string

type Step

type Step bool

Step is an internal renaming of the bool value

type Track

type Track struct {
	Number   uint8
	ID       uint8
	Name     string
	Quarters []Quarter
}

Track is the struct that represent a track of a Pattern

func NewTrack

func NewTrack() *Track

NewTrack creates a new Track

func (Track) String

func (t Track) String() string

Jump to

Keyboard shortcuts

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