mpris

package
v0.10.2 Latest Latest
Warning

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

Go to latest
Published: Sep 25, 2026 License: GPL-3.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ConcreteServer

type ConcreteServer struct {
	// contains filtered or unexported fields
}

func NewServer

func NewServer(logger librespot.Logger) (_ *ConcreteServer, err error)

NewServer opens the dbus connection and registers everything important

func (*ConcreteServer) Close

func (s *ConcreteServer) Close() error

func (*ConcreteServer) EmitSeekUpdate

func (s *ConcreteServer) EmitSeekUpdate(state SeekState)

func (*ConcreteServer) EmitStateUpdate

func (s *ConcreteServer) EmitStateUpdate(state MediaState)

func (*ConcreteServer) Receive

func (s *ConcreteServer) Receive() <-chan MediaPlayer2PlayerCommand

type DBusInstance

type DBusInstance struct {
	// contains filtered or unexported fields
}

type DummyServer

type DummyServer struct {
}

func (DummyServer) Close

func (d DummyServer) Close() error

func (DummyServer) EmitSeekUpdate

func (d DummyServer) EmitSeekUpdate(_ SeekState)

func (DummyServer) EmitStateUpdate

func (d DummyServer) EmitStateUpdate(_ MediaState)

func (DummyServer) Receive

func (d DummyServer) Receive() <-chan MediaPlayer2PlayerCommand

type LoopStatus

type LoopStatus string
const (
	None     LoopStatus = "None"
	Track    LoopStatus = "Track"
	Playlist LoopStatus = "Playlist"
)

func GetLoopStatus

func GetLoopStatus(repeatingContext bool, repeatingTrack bool) LoopStatus

type MediaPlayer2CommandSetPositionPayload

type MediaPlayer2CommandSetPositionPayload struct {
	ObjectPath dbus.ObjectPath
	PositionUs int64
}

type MediaPlayer2PlayerCommand

type MediaPlayer2PlayerCommand struct {
	Type     MediaPlayer2PlayerCommandType
	Argument any
	// contains filtered or unexported fields
}

func (*MediaPlayer2PlayerCommand) Reply

type MediaPlayer2PlayerCommandResponse

type MediaPlayer2PlayerCommandResponse struct {
	Err *dbus.Error
}

type MediaPlayer2PlayerCommandType

type MediaPlayer2PlayerCommandType int32
const (
	MediaPlayer2PlayerCommandTypeNext MediaPlayer2PlayerCommandType = iota
	MediaPlayer2PlayerCommandTypePrevious
	MediaPlayer2PlayerCommandTypePause
	MediaPlayer2PlayerCommandTypePlayPause
	MediaPlayer2PlayerCommandTypeStop
	MediaPlayer2PlayerCommandTypePlay
	MediaPlayer2PlayerCommandTypeSeek
	MediaPlayer2PlayerCommandTypeSetPosition
	MediaPlayer2PlayerCommandTypeOpenUri
	MediaPlayer2PlayerCommandLoopStatusChanged
	MediaPlayer2PlayerCommandRateChanged
	MediaPlayer2PlayerCommandShuffleChanged
	MediaPlayer2PlayerCommandVolumeChanged
)

type MediaPlayer2PlayerInterface

type MediaPlayer2PlayerInterface struct {
	// contains filtered or unexported fields
}

func (MediaPlayer2PlayerInterface) Next

func (MediaPlayer2PlayerInterface) OpenUri

func (MediaPlayer2PlayerInterface) Pause

func (MediaPlayer2PlayerInterface) Play

func (MediaPlayer2PlayerInterface) PlayPause

func (p MediaPlayer2PlayerInterface) PlayPause() *dbus.Error

func (MediaPlayer2PlayerInterface) Previous

func (p MediaPlayer2PlayerInterface) Previous() *dbus.Error

func (MediaPlayer2PlayerInterface) Props

func (MediaPlayer2PlayerInterface) SeekBy added in v0.10.2

SeekBy is the MPRIS Seek method, exported under that name (see playerMethodNames). Called Seek in Go it would look like io.Seeker with the wrong signature, which go vet rejects.

func (MediaPlayer2PlayerInterface) SetPosition

func (MediaPlayer2PlayerInterface) Stop

type MediaPlayer2PlayerInterfaceInterface

type MediaPlayer2PlayerInterfaceInterface interface {
	Next() *dbus.Error
	Previous() *dbus.Error
	Pause() *dbus.Error
	PlayPause() *dbus.Error
	Stop() *dbus.Error
	Play() *dbus.Error
	SeekBy(int64) *dbus.Error
	SetPosition(dbus.ObjectPath, int64) *dbus.Error
	OpenUri(dbus.ObjectPath) *dbus.Error
}

type MediaPlayer2RootInterface

type MediaPlayer2RootInterface struct {
	// contains filtered or unexported fields
}

MediaPlayer2RootInterface : empty, does not do much

func (MediaPlayer2RootInterface) Quit

func (MediaPlayer2RootInterface) Raise

type MediaState

type MediaState struct {
	PlaybackStatus PlaybackStatus
	LoopStatus     LoopStatus
	Shuffle        bool
	Volume         float64
	PositionMs     int64
	Uri            *string          // nilable
	Media          *librespot.Media // nilable
}

type PlaybackStatus

type PlaybackStatus string
const (
	Playing PlaybackStatus = "Playing"
	Paused  PlaybackStatus = "Paused"
	Stopped PlaybackStatus = "Stopped"
)

type SeekState

type SeekState struct {
	PositionMs int64
}

type Server

type Server interface {
	EmitStateUpdate(state MediaState)
	EmitSeekUpdate(state SeekState)
	Receive() <-chan MediaPlayer2PlayerCommand

	Close() error
}

Jump to

Keyboard shortcuts

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