tidapi

package module
v0.0.0-...-aa5e7b6 Latest Latest
Warning

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

Go to latest
Published: Jul 25, 2018 License: GPL-3.0 Imports: 8 Imported by: 5

README

tidapi

A library for a music streaming service written in go.

To prevent a potential takedown i won't mention the name of the specific streaming service.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Album

type Album struct {
	ID                   int
	Title                string
	Duration             int
	StreamReady          bool
	StreamStartDate      string
	AllowStreaming       bool
	PremiumStreamingOnly bool
	NumberOfTracks       int
	NumberOfVideos       int
	NumberOfVolumes      int
	ReleaseDate          string
	Copyright            string
	Type                 string
	Version              interface{}
	URL                  string
	Cover                string
	VideoCover           interface{}
	Explicit             bool
	Upc                  string
	Popularity           int
	AudioQuality         string
	Artist               struct {
		ID   int
		Name string
		Type string
	}
	Artists []struct {
		ID   int
		Name string
		Type string
	}
}

type AlbumItems

type AlbumItems struct {
	Limit              int
	Offset             int
	TotalNumberOfItems int
	Items              []struct {
		Item struct {
			ID                   int
			Title                string
			Duration             int
			ReplayGain           float64
			Peak                 float64
			AllowStreaming       bool
			StreamReady          bool
			StreamStartDate      string
			PremiumStreamingOnly bool
			TrackNumber          int
			VolumeNumber         int
			Version              interface{}
			Popularity           int
			Copyright            string
			URL                  string
			Isrc                 string
			Editable             bool
			Explicit             bool
			AudioQuality         string
			Artist               struct {
				ID   int
				Name string
				Type string
			}
			Artists []struct {
				ID   int
				Name string
				Type string
			}
			Album struct {
				ID    int
				Title string
				Cover string
			}
		}
		Type string
	}
}

type Artist

type Artist struct {
	ID         int
	Name       string
	Picture    string
	Popularity int
	Url        string
}

type ArtistReleases

type ArtistReleases struct {
	Limit              int `json:"limit"`
	Offset             int `json:"offset"`
	TotalNumberOfItems int `json:"totalNumberOfItems"`
	Items              []struct {
		ID                   int         `json:"id"`
		Title                string      `json:"title"`
		Duration             int         `json:"duration"`
		StreamReady          bool        `json:"streamReady"`
		StreamStartDate      string      `json:"streamStartDate"`
		AllowStreaming       bool        `json:"allowStreaming"`
		PremiumStreamingOnly bool        `json:"premiumStreamingOnly"`
		NumberOfTracks       int         `json:"numberOfTracks"`
		NumberOfVideos       int         `json:"numberOfVideos"`
		NumberOfVolumes      int         `json:"numberOfVolumes"`
		ReleaseDate          string      `json:"releaseDate"`
		Copyright            string      `json:"copyright"`
		Type                 string      `json:"type"`
		Version              interface{} `json:"version"`
		URL                  string      `json:"url"`
		Cover                string      `json:"cover"`
		VideoCover           interface{} `json:"videoCover"`
		Explicit             bool        `json:"explicit"`
		Upc                  string      `json:"upc"`
		Popularity           int         `json:"popularity"`
		AudioQuality         string      `json:"audioQuality"`
		Artist               struct {
			ID   int    `json:"id"`
			Name string `json:"name"`
			Type string `json:"type"`
		} `json:"artist"`
		Artists []struct {
			ID   int    `json:"id"`
			Name string `json:"name"`
			Type string `json:"type"`
		} `json:"artists"`
	} `json:"items"`
}

type Audioquality

type Audioquality string
const (
	AudioqualityLow      Audioquality = "LOW"
	AudioqualityHigh     Audioquality = "HIGH"
	AudioqualityLossless Audioquality = "LOSSLESS"
	AudioqualityHiRes    Audioquality = "HI_RES"
)

type LoginUsername

type LoginUsername struct {
	UserId      int
	SessionId   string
	CountryCode string
}

type Tidal

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

func New

func New() Tidal

func (Tidal) Album

func (t Tidal) Album(albumId int) (Album, error)

func (Tidal) AlbumItems

func (t Tidal) AlbumItems(albumId int) (AlbumItems, error)

func (Tidal) AppToken

func (t Tidal) AppToken() string

func (Tidal) Artist

func (t Tidal) Artist(artistId int) (Artist, error)

func (Tidal) ArtistAlbums

func (t Tidal) ArtistAlbums(artistId int) (ArtistReleases, error)

func (Tidal) ArtistCompilations

func (t Tidal) ArtistCompilations(artistId int) (ArtistReleases, error)

func (Tidal) ArtistEpsAndSingles

func (t Tidal) ArtistEpsAndSingles(artistId int) (ArtistReleases, error)

func (Tidal) CountryCode

func (t Tidal) CountryCode() string

func (Tidal) HttpClient

func (t Tidal) HttpClient() *http.Client

func (Tidal) LoginUsername

func (t Tidal) LoginUsername(username string, password string) (LoginUsername, error)

func (Tidal) Request

func (t Tidal) Request(path string, get url.Values, post url.Values) (*http.Response, error)

func (Tidal) SessionId

func (t Tidal) SessionId() string

func (*Tidal) SetCountryCode

func (t *Tidal) SetCountryCode(countryCode string)

func (*Tidal) SetSessionId

func (t *Tidal) SetSessionId(sessionId string)

func (Tidal) Tracks

func (t Tidal) Tracks(trackId int) (TracksUrlpostpaywall, error)

func (Tidal) TracksUrlpostpaywall

func (t Tidal) TracksUrlpostpaywall(trackId int,
	audioquality Audioquality, urlusagemode UrlUsageMode) (TracksUrlpostpaywall, error)

func (Tidal) UserFavorites

func (t Tidal) UserFavorites(userId int) (UsersFavorites, error)

type TracksUrl

type TracksUrl struct {
	URL                   string
	TrackID               int
	PlayTimeLeftInMinutes int
	SoundQuality          string
	EncryptionKey         string
	Codec                 string
}

type TracksUrlpostpaywall

type TracksUrlpostpaywall struct {
	AssetPresentation string
	AudioQuality      string
	Codec             string
	SecurityToken     string
	SecurityType      string
	TrackID           int
	Urls              []string
}

type UrlUsageMode

type UrlUsageMode string
const (
	UrlUsageModeStream  UrlUsageMode = "STREAM"
	UrlUsageModeOffline UrlUsageMode = "OFFLINE"
)

type UsersFavorites

type UsersFavorites struct {
	Playlist []string
	Track    []string
	Artist   []string
	Video    []string
	Album    []string
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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