Versions in this module Expand all Collapse all v1 v1.1.0 Apr 8, 2026 v1.0.0 Mar 5, 2026 Changes in this version + type ArtNetConfig struct + DstIP net.IP + Net uint8 + SrcIP net.IP + SubUni uint8 + type ArtNetListener struct + func NewArtNetListener(cfg ArtNetListenerConfig) (*ArtNetListener, error) + func (l *ArtNetListener) Close() error + func (l *ArtNetListener) Run(ctx context.Context, h FrameHandler) error + type ArtNetListenerConfig struct + BindIP net.IP + ReadBuffer int + type ArtNetTransport struct + func NewArtNetTransport(cfg *ArtNetConfig) (*ArtNetTransport, error) + func (t *ArtNetTransport) Close() error + func (t *ArtNetTransport) Send(dmx [512]byte) error + type FrameHandler func(now time.Time, universe uint16, dmx [512]byte) error + type IDFromFilename func(filename string) (id int, nameFromFile string, ok bool) + type Library struct + func NewLibrary(player *Player, cfg *LibraryConfig) (*Library, error) + func (l *Library) Get(id int) (*ShowInfo, bool) + func (l *Library) GetByName(name string) (*ShowInfo, bool) + func (l *Library) IsShowPlaying(id int) bool + func (l *Library) List() []ShowInfo + func (l *Library) Play(id int) (ShowHandle, error) + func (l *Library) RunningShows() map[int]*PlayInfo + func (l *Library) Stop(id int) (wasPlaying bool) + func (l *Library) StopAll() + type LibraryConfig struct + IDFromFilename IDFromFilename + OnEvent func(LibraryEvent) + Path string + type LibraryEvent struct + At time.Time + Reason LibraryEventReason + Running []PlayInfo + Show *ShowInfo + Type LibraryEventType + type LibraryEventReason string + const FinishedLibraryEvent + const PlayLibraryEvent + const RestartLibraryEvent + const StopAllLibraryEvent + const StopLibraryEvent + type LibraryEventType int + const LibraryStateChanged + type Listener interface + Close func() error + Run func(ctx context.Context, h FrameHandler) error + type MergeMode int + const MergeHTP + const MergeLTP + type PlayInfo struct + HandleID int + ShowID int + type Player struct + func NewPlayer(tx Transport, cfg *PlayerConfig) *Player + func (e *Player) Close() error + func (e *Player) IsPlaying(h ShowHandle) bool + func (e *Player) ListPlaying() []PlayingShow + func (e *Player) OnShowExited(cb func(ShowHandle)) + func (e *Player) Play(ctx context.Context, show *olashow.OlaShow) ShowHandle + func (e *Player) Stop(h ShowHandle) + func (e *Player) StopAll() + type PlayerConfig struct + FlushInterval time.Duration + Mode MergeMode + type PlayingShow struct + ID uint64 + Show *olashow.OlaShow + StartedAt time.Time + type Recorder struct + func NewRecorder(l Listener) *Recorder + func (r *Recorder) Record(ctx context.Context, w io.Writer) error + type ShowHandle struct + func (h ShowHandle) ID() uint64 + type ShowInfo struct + FileName string + ID int + Playing *PlayInfo + type Transport interface + Close func() error + Send func(dmx [512]byte) error + type Universe struct + func NewUniverse(mode MergeMode) *Universe + func (u *Universe) Apply(showID uint64, seq uint64, dmx [512]byte) + func (u *Universe) Merge() [512]byte + func (u *Universe) Mode() MergeMode + func (u *Universe) Remove(showID uint64) + func (u *Universe) SetMode(mode MergeMode) + func (u *Universe) SourcesCount() int