7 Commits

Author SHA1 Message Date
e5f6becf97 removed GetPause double 2025-08-30 14:18:39 +02:00
86c9dc0cc5 added GetLoopFile and GetLoopPlaylist 2025-08-30 14:16:13 +02:00
e425b08ef8 added ShufflePlaylist 2025-06-28 15:33:45 +02:00
f413f97824 added GetPlaylistPosition 2025-06-28 14:18:56 +02:00
5eb15eb7a5 GetPause implemented 2025-06-28 14:14:55 +02:00
3e68bbda29 added SetPlaylistPosition 2025-06-28 13:47:16 +02:00
bca0e0bf3a added GetPlaylist() 2025-06-28 13:36:09 +02:00
4 changed files with 40 additions and 6 deletions

View File

@ -23,6 +23,12 @@ func LoadFile(socket string, file string, flags LoadFileFlag) error {
return err
}
func ShufflePlaylist(socket string) error {
cmd := &Command{Command: []interface{}{"playlist-shuffle"}}
_, err := SendCommand[any](socket, cmd)
return err
}
func Quit(socket string) error {
cmd := &Command{Command: []interface{}{"quit"}}
_, err := SendCommand[any](socket, cmd)

8
playlist_entry.go Normal file
View File

@ -0,0 +1,8 @@
package mpvipc
type PlaylistEntry struct {
Filename string `json:"filename"`
Current bool `json:"current"`
Playing bool `json:"playing"`
ID int `json:"id"`
}

View File

@ -9,11 +9,11 @@ func GetDisplayNames(socket string) ([]string, error) {
return GetProperty[[]string](socket, "display-names")
}
func IsFullscreen(socket string) (bool, error) {
func GetFullscreen(socket string) (bool, error) {
return GetProperty[bool](socket, "fullscreen")
}
func IsPaused(socket string) (bool, error) {
func GetPaused(socket string) (bool, error) {
return GetProperty[bool](socket, "pause")
}
@ -49,6 +49,14 @@ func GetFileFormat(socket string) (string, error) {
return GetProperty[string](socket, "file-format")
}
func GetPlaylist(socket string) ([]PlaylistEntry, error) {
return GetProperty[[]PlaylistEntry](socket, "playlist")
}
func GetPlaylistPosition(socket string) (int, error) {
return GetProperty[int](socket, "playlist-pos")
}
func GetDuration(socket string) (time.Duration, error) {
durationInSeconds, err := GetProperty[float64](socket, "duration")
if err != nil {
@ -89,7 +97,7 @@ func GetTimeRemaining(socket string) (time.Duration, error) {
return time.Duration(durationInSeconds * float64(time.Second)), nil
}
func IsSeeking(socket string) (bool, error) {
func GetSeeking(socket string) (bool, error) {
return GetProperty[bool](socket, "seeking")
}
@ -133,18 +141,26 @@ func GetChapterList(socket string) ([]Chapter, error) {
return GetProperty[[]Chapter](socket, "chapter-list")
}
func IsSeekable(socket string) (bool, error) {
func GetSeekable(socket string) (bool, error) {
return GetProperty[bool](socket, "seekable")
}
func IsPartiallySeekable(socket string) (bool, error) {
func GetPartiallySeekable(socket string) (bool, error) {
return GetProperty[bool](socket, "partially-seekable")
}
func IsPlaybackAborted(socket string) (bool, error) {
func GetPlaybackAborted(socket string) (bool, error) {
return GetProperty[bool](socket, "playback-abort")
}
func GetPropertyList(socket string) ([]string, error) {
return GetProperty[[]string](socket, "property-list")
}
func GetLoopFile(socket string) (bool, error) {
return GetProperty[bool](socket, "loop-file")
}
func GetLoopPlaylist(socket string) (bool, error) {
return GetProperty[bool](socket, "loop-playlist")
}

View File

@ -21,3 +21,7 @@ func SetPercentPos(socket string, percentPos float64) error {
func SetVolume(socket string, volume float64) error {
return SetProperty[float64](socket, "volume", volume)
}
func SetPlaylistPosition(socket string, index int) error {
return SetProperty(socket, "playlist-pos", index)
}