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

View Source
var ErrExpectedSpliceMagic = errors.New("drum: expected SPLICE magic file prefix")

ErrExpectedSpliceMagic is returned when file data is corrupt (i.e. if the magic SPLICE prefix is missing).

Functions

This section is empty.

Types

type Pattern

type Pattern struct {
	HWVersion string
	Tempo     float32
	Tracks    []Track
}

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

It has a tempo (BPM) and a series of tracks that each utilize their own instrument.

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.

If any error occurs, it is returned along with a nil *Pattern.

func (*Pattern) String

func (p *Pattern) String() string

type Track

type Track struct {
	ID    int
	Name  string
	Steps [16]bool
}

Track represents a single drum 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