api

package
v1.8.3 Latest Latest
Warning

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

Go to latest
Published: Jan 28, 2026 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LoadConfig

func LoadConfig() error

func SaveConfig

func SaveConfig() error

func SubsonicAddToPlaylist added in v1.6.0

func SubsonicAddToPlaylist(songID string, playlistID string)

func SubsonicCoverArt

func SubsonicCoverArt(id string) ([]byte, error)

func SubsonicCoverArtUrl added in v1.3.0

func SubsonicCoverArtUrl(id string, size int) string

func SubsonicCreateShare added in v1.7.0

func SubsonicCreateShare(ID string) (string, error)

func SubsonicLoginCheck added in v1.4.0

func SubsonicLoginCheck() error

func SubsonicSaveQueue added in v1.2.0

func SubsonicSaveQueue(ids []string, currentID string)

func SubsonicScrobble

func SubsonicScrobble(id string, submission bool)

func SubsonicStar

func SubsonicStar(id string)

func SubsonicStream

func SubsonicStream(id string) string

func SubsonicUnstar

func SubsonicUnstar(id string)

Types

type Album

type Album struct {
	ID       string `json:"id"`
	Name     string `json:"name"`
	Artist   string `json:"artist"`
	Duration int64  `json:"duration"`
}

func SubsonicGetAlbumList added in v1.1.0

func SubsonicGetAlbumList(searchType string) ([]Album, error)

func SubsonicGetArtist

func SubsonicGetArtist(id string) ([]Album, error)

func SubsonicSearchAlbum

func SubsonicSearchAlbum(query string, page int) ([]Album, error)

type Artist

type Artist struct {
	ID   string `json:"id"`
	Name string `json:"name"`
}

func SubsonicSearchArtist

func SubsonicSearchArtist(query string, page int) ([]Artist, error)

type Config

type Config struct {
	Username string `yaml:"username"`
	Password string `yaml:"password"`
	URL      string `yaml:"URL"`
}
var AppConfig Config

type PlayQueue added in v1.2.0

type PlayQueue struct {
	Current string `json:"current"`
	Entries []Song `json:"entry"`
}

func SubsonicGetQueue added in v1.2.0

func SubsonicGetQueue() (*PlayQueue, error)

type Playlist

type Playlist struct {
	ID   string `json:"id"`
	Name string `json:"name"`
}

func SubsonicGetPlaylists

func SubsonicGetPlaylists() ([]Playlist, error)

type SearchResult3

type SearchResult3 struct {
	Artists []Artist `json:"artist"`
	Albums  []Album  `json:"album"`
	Songs   []Song   `json:"song"`
}

func SubsonicGetStarred

func SubsonicGetStarred() (*SearchResult3, error)

type Song

type Song struct {
	ID       string `json:"id"`
	Title    string `json:"title"`
	Artist   string `json:"artist"`
	ArtistID string `json:"artistId"`
	Album    string `json:"album"`
	AlbumID  string `json:"albumId"`
	Duration int    `json:"duration"`
}

func SubsonicGetAlbum

func SubsonicGetAlbum(id string) ([]Song, error)

func SubsonicGetPlaylistSongs

func SubsonicGetPlaylistSongs(id string) ([]Song, error)

func SubsonicSearchSong

func SubsonicSearchSong(query string, page int) ([]Song, error)

type SubsonicError added in v1.4.0

type SubsonicError struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
}

type SubsonicResponse

type SubsonicResponse struct {
	Response struct {
		Status            string         `json:"status"`
		User              *SubsonicUser  `json:"user,omitempty"`
		Error             *SubsonicError `json:"error,omitempty"`
		SearchResult      SearchResult3  `json:"searchResult3"`
		PlaylistContainer struct {
			Playlists []Playlist `json:"playlist"`
		} `json:"playlists"`
		PlaylistDetail struct {
			Entries []Song `json:"entry"`
		} `json:"playlist"`
		Album struct {
			Songs []Song `json:"song"`
		} `json:"album"`
		AlbumList struct {
			Albums []Album `json:"album"`
		} `json:"albumList"`
		Artist struct {
			Albums []Album `json:"album"`
		} `json:"artist"`
		Starred2 struct {
			Artist []Artist `json:"artist"`
			Album  []Album  `json:"album"`
			Song   []Song   `json:"song"`
		} `json:"starred2"`
		PlayQueue PlayQueue `json:"playQueue"`
		Shares    struct {
			ShareList []struct {
				URL string `json:"url"`
			} `json:"share"`
		} `json:"shares"`
	} `json:"subsonic-response"`
}

type SubsonicUser added in v1.4.0

type SubsonicUser struct {
	Username string `json:"username"`
	Email    string `json:"email"`
}

Jump to

Keyboard shortcuts

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