Squash merge audio-player-component into main
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
// Package models defines domain types for music data.
|
||||
package models
|
||||
|
||||
// Art holds album artwork data.
|
||||
type Art struct{}
|
||||
@@ -0,0 +1,21 @@
|
||||
package models
|
||||
|
||||
import "time"
|
||||
|
||||
// AudioFileType identifies the format of an audio file.
|
||||
type AudioFileType int
|
||||
|
||||
const (
|
||||
mp3 AudioFileType = iota
|
||||
flac
|
||||
wav
|
||||
ogg
|
||||
midi
|
||||
)
|
||||
|
||||
// AudioFile represents a music file with its metadata.
|
||||
type AudioFile struct {
|
||||
Path string
|
||||
Type AudioFileType
|
||||
Length time.Duration
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package models
|
||||
|
||||
// Album represents a music album with its tracks and metadata.
|
||||
type Album struct {
|
||||
Name string
|
||||
Tracks []Track
|
||||
MusicBrainzReleaseID string
|
||||
CoverArt Art
|
||||
}
|
||||
|
||||
// Track represents a single music track.
|
||||
type Track struct {
|
||||
Name string
|
||||
MusicBrainzRecordingID string
|
||||
}
|
||||
|
||||
// Artist represents a music artist.
|
||||
type Artist struct {
|
||||
Name string
|
||||
MusicBrainzArtistID string
|
||||
}
|
||||
Reference in New Issue
Block a user