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 PHeader

type PHeader struct {
	Encoding [6]byte

	Len       uint8
	HWVersion [32]byte
	Tempo     float32
	// contains filtered or unexported fields
}

type Pattern

type Pattern struct {
	Encoding [6]byte

	Len       uint8
	HWVersion [32]byte
	Tempo     float32
	Header    PHeader
	Tracks    []Track
	// contains filtered or unexported fields
}

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

func (p Pattern) String() string

String method implementation for Pattern struct. Used to print a drum patter with the expected format.

type Track

type Track struct {
	ID    uint8
	Name  string
	Steps TrackSteps
}

Track is the high level representation of a drum track contained in a .splice file.

func DecodeTracks

func DecodeTracks(cTracks []byte) ([]Track, error)

DecodeTracks decodes a byte array containing the tracks of a drum pattern. Returns a slice of Tracks.

func (Track) String

func (t Track) String() string

String method for Track struct. Used to print tracks with the expected format.

type TrackSteps

type TrackSteps [16]byte

TrackSteps is the high level representation of the track steps in each track.

func (TrackSteps) String

func (steps TrackSteps) String() string

String method implementation for TrackSteps type. Used to print tracks using the expected format.

Jump to

Keyboard shortcuts

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