sysex

package
v2.0.27 Latest Latest
Warning

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

Go to latest
Published: Apr 12, 2023 License: MIT Imports: 2 Imported by: 6

Documentation

Overview

Package sysex provides helpers when dealing with system exclusiv messages

Index

Constants

View Source
const EveryChannel = 0x7F

Variables

View Source
var GMReset = Manufacturer{

	ManufacturerID: 0x41,
	DeviceID:       0x10,
	ModelID:        0x42,
	InfoRequest:    false,
	Address:        [3]byte{0x40, 0x00, 0x7F},
	SendingData:    []byte{0x00},
}

Functions

func GMSystem

func GMSystem(channel byte, enable bool) []byte

func IdentityReply

func IdentityReply(channel byte, manuID ManufacturerID, familycode [2]byte, modelnumber [2]byte, version [4]byte) []byte

func IdentityRequest

func IdentityRequest(channel byte) []byte

func MasterVolume

func MasterVolume(channel byte, vol uint16) []byte

Types

type Manufacturer

type Manufacturer struct {
	ManufacturerID ManufacturerID
	DeviceID       byte
	ModelID        byte
	InfoRequest    bool // true: requesting infos, false: sending infos
	Address        [3]byte
	SendingData    []byte
	NumReqBytes    [3]byte
}

see https://www.2writers.com/eddie/TutSysEx.htm

func Parse

func Parse(bt []byte) (*Manufacturer, error)

func (Manufacturer) Checksum

func (s Manufacturer) Checksum() (sum byte)

func (Manufacturer) SysEx

func (s Manufacturer) SysEx() []byte

type ManufacturerID

type ManufacturerID byte
const (
	ExtendedRange ManufacturerID = 0 // look for the next two bytes

	SequentialCircuits ManufacturerID = 1
	BigBriar           ManufacturerID = 2
	Octave_Plateau     ManufacturerID = 3
	Moog               ManufacturerID = 4
	PassportDesigns    ManufacturerID = 5
	Lexicon            ManufacturerID = 6
	Kurzweil           ManufacturerID = 7
	Fender             ManufacturerID = 8
	Gulbransen         ManufacturerID = 9
	DeltaLabs          ManufacturerID = 0x0A
	SoundComp          ManufacturerID = 0x0B
	GeneralElectro     ManufacturerID = 0x0C
	Techmar            ManufacturerID = 0x0D
	MatthewsResearch   ManufacturerID = 0x0E
	Oberheim           ManufacturerID = 0x10
	PAIA               ManufacturerID = 0x11
	Simmons            ManufacturerID = 0x12
	DigiDesign         ManufacturerID = 0x13
	Fairlight          ManufacturerID = 0x14
	Peavey             ManufacturerID = 0x1B
	JLCooper           ManufacturerID = 0x15
	Lowery             ManufacturerID = 0x16
	Lin                ManufacturerID = 0x17
	Emu                ManufacturerID = 0x18
	BonTempi           ManufacturerID = 0x20
	SIEL               ManufacturerID = 0x21
	SyntheAxe          ManufacturerID = 0x23
	Hohner             ManufacturerID = 0x24
	Crumar             ManufacturerID = 0x25
	Solton             ManufacturerID = 0x26
	JellinghausMs      ManufacturerID = 0x27
	CTS                ManufacturerID = 0x28
	PPG                ManufacturerID = 0x29
	Elka               ManufacturerID = 0x2F
	Cheetah            ManufacturerID = 0x36
	Waldorf            ManufacturerID = 0x3E
	Kawai              ManufacturerID = 0x40
	Roland             ManufacturerID = 0x41
	Korg               ManufacturerID = 0x42
	Yamaha             ManufacturerID = 0x43
	Casio              ManufacturerID = 0x44
	Akai               ManufacturerID = 0x45

	EducationalUse ManufacturerID = 0x7D // not for commercial use

	// Universal SysEx (not manufacturer specific)
	RealTimeID    ManufacturerID = 0x7F
	NonRealTimeID ManufacturerID = 0x7E
)

func (ManufacturerID) String

func (m ManufacturerID) String() string

type NonRealtime

type NonRealtime struct {
	Channel byte
	SubID1  byte
	SubID2  byte
}

func (NonRealtime) SysEx

func (r NonRealtime) SysEx() []byte

type Realtime

type Realtime struct {
	Channel byte
	SubID1  byte
	SubID2  byte
}

func (Realtime) SysEx

func (r Realtime) SysEx() []byte

Jump to

Keyboard shortcuts

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