pkg

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Feb 13, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DEFAULT_DOWNLOAD_SERVICE       = "tidal"
	DEFAULT_DOWNLOAD_OUTPUT_FOLDER = "."
)

Variables

This section is empty.

Functions

func Download

func Download(application *app.App, url string, output_folder string) error

func GetMetadata

func GetMetadata[T MetadataPlaylist | MetadataSong](application *app.App, url string) (T, error)

func PrintMetadata

func PrintMetadata(application *app.App, url string) error

Types

type MetadataPlaylist

type MetadataPlaylist struct {
	TrackList []MetadataTrack      `json:"track_list"`
	Info      MetadataPlaylistInfo `json:"playlist_info"`
}

type MetadataPlaylistInfo

type MetadataPlaylistInfo struct {
	Owner  MetadataPlaylistOwner  `json:"owner"`
	Tracks MetadataPlaylistTracks `json:"tracks"`
	Cover  string                 `json:"cover"`
}

type MetadataPlaylistOwner

type MetadataPlaylistOwner struct {
	Name   string `json:"name"`         // Playlist name, this makes no sense
	Owner  string `json:"display_name"` // Playlist owner
	Images string `json:"images"`
}

type MetadataPlaylistTracks

type MetadataPlaylistTracks struct {
	Total int `json:"total"`
}

type MetadataSong

type MetadataSong struct {
	Track MetadataTrack `json:"track"`
}

type MetadataTrack

type MetadataTrack struct {
	SpotifyID    string `json:"spotify_id"`
	Artists      string `json:"artists"`
	Name         string `json:"name"`
	AlbumName    string `json:"album_name"`
	AlbumArtist  string `json:"album_artist"`
	DurationMS   int    `json:"duration_ms"`
	Images       string `json:"images"`
	ReleaseDate  string `json:"release_date"`
	TrackNumber  int    `json:"track_number"`
	TotalTracks  int    `json:"total_tracks"`
	DiscNumber   int    `json:"disc_number"`
	TotalDiscs   int    `json:"total_discs"`
	ExternalURLs string `json:"external_urls"`
	Copyright    string `json:"copyright"`
	Publisher    string `json:"publisher"`
	Plays        string `json:"plays"`
	IsExplicit   bool   `json:"is_explicit"`
}

type UrlType

type UrlType int
const (
	UrlTypeTrack UrlType = iota
	UrlTypePlaylist
	UrlTypeInvalid
)

func GetUrlType

func GetUrlType(url string) UrlType

Jump to

Keyboard shortcuts

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