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 {
	Version string
	Tempo   float32
	Tracks  []Track
}

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

func Decode

func Decode(r io.Reader) (*Pattern, error)

Decode reads a drum machine file from r and returns a pointer to a parsed pattern which is the entry point to the rest of the data.

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 (Pattern) String

func (p Pattern) String() string

type Track

type Track struct {
	Header TrackHeader
	Name   string
	Steps  [16]bool
}

A Track represents a sound.

func (Track) String

func (t Track) String() string

type TrackHeader

type TrackHeader struct {
	ID      uint32 // ID of the track.
	NameLen uint8  // Length (in bytes) of the track name.
}

A TrackHeader represents the header of a Track.

Jump to

Keyboard shortcuts

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