library

package
v0.12.1 Latest Latest
Warning

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

Go to latest
Published: Jul 10, 2024 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AlbumMetadata added in v0.10.0

type AlbumMetadata struct {
	Album    string          `toml:"album"`
	Artist   string          `toml:"artist"`
	CoverArt string          `toml:"coverart"`
	Tracks   []TrackMetadata `toml:"tracks"`
}

type Library

type Library struct {
	Artists []*LibraryArtist
}

func ReadFromDir added in v0.6.0

func ReadFromDir(dir string) (*Library, error)

func (*Library) Sync

func (lib *Library) Sync(workDir types.WorkDir, db *database.Database) error

type LibraryAlbum added in v0.10.0

type LibraryAlbum struct {
	Name     string
	CoverArt string
	Artist   *LibraryArtist
	Tracks   []*LibraryTrack
}

type LibraryArtist added in v0.10.0

type LibraryArtist struct {
	Name   string
	Albums []*LibraryAlbum
}

type LibraryTrack added in v0.10.0

type LibraryTrack struct {
	Name              string
	Number            int
	BestQualityFile   string
	MobileQualityFile string
	Tags              []string
	Genres            []string
	Artist            *LibraryArtist
	Album             *LibraryAlbum
}

type SyncContext added in v0.10.0

type SyncContext struct {
	ArtistMapping map[*LibraryArtist]database.Artist
	AlbumMapping  map[*LibraryAlbum]database.Album
	TagMapping    map[string]database.Tag
	GenreMapping  map[string]database.Genre
}

func (*SyncContext) GetOrCreateAlbum added in v0.10.0

func (sync *SyncContext) GetOrCreateAlbum(ctx context.Context, db *database.Database, album *LibraryAlbum) (database.Album, error)

func (*SyncContext) GetOrCreateArtist added in v0.10.0

func (sync *SyncContext) GetOrCreateArtist(ctx context.Context, db *database.Database, artist *LibraryArtist) (database.Artist, error)

func (*SyncContext) GetOrCreateGenre added in v0.11.0

func (sync *SyncContext) GetOrCreateGenre(ctx context.Context, db *database.Database, genre string) (database.Genre, error)

func (*SyncContext) GetOrCreateTag added in v0.11.0

func (sync *SyncContext) GetOrCreateTag(ctx context.Context, db *database.Database, tag string) (database.Tag, error)

func (*SyncContext) GetOrCreateTrack added in v0.10.0

func (sync *SyncContext) GetOrCreateTrack(ctx context.Context, db *database.Database, track *LibraryTrack) (database.Track, error)

type TrackFile added in v0.10.0

type TrackFile struct {
	Lossless string `toml:"lossless"`
	Lossy    string `toml:"lossy"`
}

type TrackMetadata added in v0.10.0

type TrackMetadata struct {
	Num       int       `toml:"num"`
	Name      string    `toml:"name"`
	Duration  int       `toml:"duration"`
	Artist    string    `toml:"artist"`
	Year      int       `toml:"year"`
	Tags      []string  `toml:"tags"`
	Genres    []string  `toml:"genres"`
	Featuring []string  `toml:"featuring"`
	File      TrackFile `toml:"file,inline"`
}

Jump to

Keyboard shortcuts

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