trackentity

package
v0.6.10-0...-926069d Latest Latest
Warning

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

Go to latest
Published: Aug 25, 2023 License: GPL-3.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	InitialProgressPercentage = 5
)

Variables

This section is empty.

Functions

This section is empty.

Types

type GenericTrack

type GenericTrack struct {
	jsonlib.Flatten[GenericTrackFields]
}

func (*GenericTrack) CreateID

func (g *GenericTrack) CreateID()

func (GenericTrack) GetID

func (g GenericTrack) GetID() string

func (GenericTrack) IsNew

func (g GenericTrack) IsNew() bool

func (GenericTrack) ToMap

func (g GenericTrack) ToMap() (map[string]any, error)

type GenericTrackFields

type GenericTrackFields struct {
	TrackFields
	TrackType string `json:"track_type"`
}

type SplitRequestStatus

type SplitRequestStatus string
const (
	RequestedStatus  SplitRequestStatus = "requested"
	ProcessingStatus SplitRequestStatus = "processing"
	ErrorStatus      SplitRequestStatus = "error"
)

type SplitRequestTrack

type SplitRequestTrack struct {
	TrackFields
	TrackType      SplitRequestType   `json:"track_type"`
	OriginalURL    string             `json:"original_url"`
	Status         SplitRequestStatus `json:"job_status"`
	StatusMessage  string             `json:"job_status_message"`
	StatusDebugLog string             `json:"job_status_debug_log"`
	Progress       int                `json:"job_progress"`
}

func (*SplitRequestTrack) CreateID

func (s *SplitRequestTrack) CreateID()

func (SplitRequestTrack) GetID

func (s SplitRequestTrack) GetID() string

func (*SplitRequestTrack) InitializeRequest

func (s *SplitRequestTrack) InitializeRequest()

func (SplitRequestTrack) IsNew

func (s SplitRequestTrack) IsNew() bool

func (SplitRequestTrack) ToMap

func (s SplitRequestTrack) ToMap() (map[string]any, error)

type SplitRequestType

type SplitRequestType string
const (
	SplitTwoStemsType  SplitRequestType = "split_2stems"
	SplitFourStemsType SplitRequestType = "split_4stems"
	SplitFiveStemsType SplitRequestType = "split_5stems"
)

type StemTrack

type StemTrack struct {
	TrackFields
	TrackType StemTrackType     `json:"track_type"`
	StemURLs  map[string]string `json:"stem_urls"`
}

func (*StemTrack) CreateID

func (s *StemTrack) CreateID()

func (StemTrack) GetID

func (s StemTrack) GetID() string

func (StemTrack) IsNew

func (s StemTrack) IsNew() bool

func (StemTrack) ToMap

func (s StemTrack) ToMap() (map[string]any, error)

type StemTrackType

type StemTrackType string
const (
	TwoStemsType  StemTrackType = "2stems"
	FourStemsType StemTrackType = "4stems"
	FiveStemsType StemTrackType = "5stems"
)

type Store

type Store interface {
	GetTrackList(ctx context.Context, songID string) (TrackList, error)
	SetTrackList(ctx context.Context, tracklist TrackList) error
	UpdateTrack(ctx context.Context, tracklistID string, trackID string, updater TrackUpdater) error
}

type Track

type Track interface {
	GetID() string
	IsNew() bool
	CreateID()
	ToMap() (map[string]any, error)
}

func UnmarshalTrack

func UnmarshalTrack(contents map[string]any) (Track, error)

type TrackFields

type TrackFields struct {
	ID    string `json:"id"`
	Label string `json:"label"`
}

type TrackList

type TrackList struct {
	jsonlib.Flatten[TrackListFields]
}

func NewTrackList

func NewTrackList(songID string) TrackList

func (*TrackList) EnsureTrackIDs

func (t *TrackList) EnsureTrackIDs()

func (TrackList) GetTrack

func (t TrackList) GetTrack(trackID string) (Track, error)

type TrackListFields

type TrackListFields struct {
	SongID string `json:"song_id"`
	Tracks Tracks `json:"tracks"`
}

type TrackUpdater

type TrackUpdater func(track Track) (Track, error)

type Tracks

type Tracks []Track

func (*Tracks) UnmarshalJSON

func (t *Tracks) UnmarshalJSON(b []byte) error

Jump to

Keyboard shortcuts

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