Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Midi *midi
Functions ¶
Types ¶
type Note ¶
type Note uint8
Note represents a MIDI note number. For example, Note(69) is A4 or 440Hz.
const ( A0 Note = iota + 21 // 27.5Hz AS0 B0 C1 CS1 D1 DS1 E1 F1 FS1 G1 GS1 A1 // 55Hz AS1 B1 C2 CS2 D2 DS2 E2 F2 FS2 G2 GS2 A2 // 110Hz AS2 B2 C3 CS3 D3 DS3 E3 F3 FS3 G3 GS3 A3 // 220Hz AS3 B3 C4 CS4 D4 DS4 E4 F4 FS4 G4 GS4 A4 // 440Hz AS4 B4 C5 CS5 D5 DS5 E5 F5 FS5 G5 GS5 A5 // 880Hz AS5 B5 C6 CS6 D6 DS6 E6 F6 FS6 G6 GS6 A6 // 1760Hz AS6 B6 C7 CS7 D7 DS7 E7 F7 FS7 G7 GS7 A7 // 3520Hz AS7 B7 C8 CS8 D8 DS8 E8 F8 FS8 G8 GS8 A8 // 7040Hz AS8 B8 )
Define all the notes in a format similar to the Tone library in the Arduino IDE.
type RingBuffer ¶
type RingBuffer struct {
// contains filtered or unexported fields
}
RingBuffer is ring buffer implementation inspired by post at https://www.embeddedrelated.com/showthread/comp.arch.embedded/77084-1.php
func (*RingBuffer) Clear ¶
func (rb *RingBuffer) Clear()
Clear resets the head and tail pointer to zero.
func (*RingBuffer) Get ¶
func (rb *RingBuffer) Get() ([]byte, bool)
Get returns a byte from the buffer. If the buffer is empty, the method will return a false as the second value.
func (*RingBuffer) Put ¶
func (rb *RingBuffer) Put(val []byte) bool
Put stores a byte in the buffer. If the buffer is already full, the method will return false.
func (*RingBuffer) Used ¶
func (rb *RingBuffer) Used() uint8
Used returns how many bytes in buffer have been used.
Click to show internal directories.
Click to hide internal directories.