Squash merge audio-player-component into main

This commit is contained in:
2026-02-13 20:39:23 -06:00
parent 9b7cfd5bd1
commit d78c0584e2
122 changed files with 11750 additions and 1175 deletions
+5
View File
@@ -0,0 +1,5 @@
// Package models defines domain types for music data.
package models
// Art holds album artwork data.
type Art struct{}
+21
View File
@@ -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
}
+21
View File
@@ -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
}