seqmidi

package
v0.1.0-beta.2 Latest Latest
Warning

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

Go to latest
Published: Feb 27, 2026 License: MIT Imports: 13 Imported by: 0

Documentation

Overview

Package seqmidi provides MIDI connection management and message sending functionality for the sequencer. It handles virtual and physical MIDI port connections, thread-safe message transmission, and DAW integration features including record triggering for external recording systems.

Index

Constants

View Source
const TransmitterName string = "sq-transmitter"

Variables

View Source
var OutputName string = "sq-cli-out"

Functions

func FindInPort

func FindInPort(inPortName string) (drivers.In, error)

func FindTransmitterPort

func FindTransmitterPort() (drivers.In, error)

func GetIns

func GetIns() ([]drivers.In, error)

func OpenVirtualOut

func OpenVirtualOut(name string) (drivers.Out, error)

func Outs

func Outs() ([]drivers.Out, error)

func SeqOut

func SeqOut() (drivers.Out, error)

Types

type InDeviceInfo

type InDeviceInfo struct {
	IsOpen        bool
	IsTransmitter bool
	In            drivers.In
	Name          string
	Type          string
}

func (InDeviceInfo) Matches

func (di InDeviceInfo) Matches(name string) bool

func (*InDeviceInfo) Open

func (di *InDeviceInfo) Open()

type Message

type Message struct {
	Delay time.Duration
	Msg   midi.Message
}

type MidiConnection

type MidiConnection struct {
	IsTransmitter bool
	DoNotListen   bool

	TestQueue    *[]Message
	Test         bool
	StopFn       func()
	ReceiverFunc ReceiverFunc
	// contains filtered or unexported fields
}

func InitMidiConnection

func InitMidiConnection(createOut bool, outportName string, ctx context.Context) *MidiConnection

func (*MidiConnection) Close

func (mc *MidiConnection) Close()

func (*MidiConnection) CreateOutport

func (mc *MidiConnection) CreateOutport() error

func (*MidiConnection) DeviceLoop

func (mc *MidiConnection) DeviceLoop(ctx context.Context)

func (*MidiConnection) EnsureConnection

func (mc *MidiConnection) EnsureConnection()

func (*MidiConnection) GetDawOutport

func (mc *MidiConnection) GetDawOutport() drivers.Out

func (*MidiConnection) HasConnection

func (mc *MidiConnection) HasConnection() bool

func (*MidiConnection) HasDevices

func (mc *MidiConnection) HasDevices() bool

func (*MidiConnection) HasOutport

func (mc *MidiConnection) HasOutport() bool

func (*MidiConnection) HasTransmitter

func (mc *MidiConnection) HasTransmitter() bool

func (*MidiConnection) ListenToTransmitter

func (mc *MidiConnection) ListenToTransmitter(recFunc ReceiverFunc) error

func (*MidiConnection) LoopMidi

func (mc *MidiConnection) LoopMidi(ctx context.Context)

func (*MidiConnection) Panic

func (mc *MidiConnection) Panic(channels []uint8) error

func (*MidiConnection) Send

func (mc *MidiConnection) Send(msg Message)

func (MidiConnection) SendMidi

func (mc MidiConnection) SendMidi(msg midi.Message) error

func (MidiConnection) SendPlayMessage

func (mc MidiConnection) SendPlayMessage() error

func (MidiConnection) SendRecordMessage

func (mc MidiConnection) SendRecordMessage() error

func (*MidiConnection) SendStopMessage

func (mc *MidiConnection) SendStopMessage() error

func (*MidiConnection) StopReceivingFromTransmitter

func (mc *MidiConnection) StopReceivingFromTransmitter()

func (*MidiConnection) TransmitterOut

func (mc *MidiConnection) TransmitterOut() (drivers.Out, error)

func (*MidiConnection) UpdateInDeviceList

func (mc *MidiConnection) UpdateInDeviceList(driver drivers.Driver) error

func (*MidiConnection) UpdateOutDeviceList

func (mc *MidiConnection) UpdateOutDeviceList(driver drivers.Driver) error

func (MidiConnection) WaitUntilDevicesQueried

func (mc MidiConnection) WaitUntilDevicesQueried()

type OutDeviceInfo

type OutDeviceInfo struct {
	IsOpen   bool
	Selected bool
	IsDaw    bool
	Out      drivers.Out
	Name     string
	Type     string
}

func (OutDeviceInfo) Matches

func (di OutDeviceInfo) Matches(name string) bool

func (*OutDeviceInfo) Open

func (di *OutDeviceInfo) Open()

type ReceiverFunc

type ReceiverFunc func(msg []byte, milliseconds int32)

Jump to

Keyboard shortcuts

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