From 4990b09f67876d613fb0cb8a254622b0ebd6be5d Mon Sep 17 00:00:00 2001 From: Dan Jones Date: Sat, 28 Oct 2023 18:15:33 -0500 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=9A=20Moving=20tracks=20to=20its=20own?= =?UTF-8?q?=20subpackage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- media/probe.go | 23 ++++------------------- media/tags/tags.go | 31 +++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 19 deletions(-) create mode 100644 media/tags/tags.go diff --git a/media/probe.go b/media/probe.go index 6419b93..b3b4f29 100644 --- a/media/probe.go +++ b/media/probe.go @@ -4,6 +4,7 @@ import ( "encoding/json" "codeberg.org/danjones000/strip-beats/config" + "codeberg.org/danjones000/strip-beats/media/tags" "codeberg.org/danjones000/strip-beats/utils" "dario.cat/mergo" "github.com/akrennmair/slice" @@ -99,7 +100,7 @@ type Stream struct { StartTime float64 `json:"start_time,string"` Duration float64 `json:",string"` DurationTs int `json:"duration_ts"` - Tags Tags + Tags tags.Tags } func (st Stream) isWantedCodec() bool { @@ -124,26 +125,10 @@ type Format struct { Size int `json:",string"` BitRate int `json:"bit_rate,string"` Score int `json:"probe_score"` - Tags Tags + Tags tags.Tags } -type Tags struct { - MajorBrand string `json:"major_brand"` - Title string - Artist string - AlbumArtist string `json:"album_artist"` - Album string - Date string - Encoder string - Comment string - Description string - Composer string - Genre string - Disc string - Track string -} - -func (pr Probe) FullTags() Tags { +func (pr Probe) FullTags() tags.Tags { t := pr.Format.Tags s := pr.WantedAudioStream() if s != nil { diff --git a/media/tags/tags.go b/media/tags/tags.go new file mode 100644 index 0000000..035379a --- /dev/null +++ b/media/tags/tags.go @@ -0,0 +1,31 @@ +package tags + +import ( + "github.com/google/uuid" +) + +type Tags struct { + MajorBrand string `json:"major_brand"` + Title string + Artist string + AlbumArtist string `json:"album_artist"` + Album string + Date string + Encoder string + Comment string + Description string + Synopsis string + Url string `json:"purl"` + AcoustidId uuid.UUID `json:"ACOUSTID_ID"` + MusicbrainzReleaseGroupId uuid.UUID `json:"MUSICBRAINZ_RELEASEGROUPID"` + MusicbrainzAlbumId uuid.UUID `json:"MUSICBRAINZ_ALBUMID"` + MusicbrainzAlbumArtistId uuid.UUID `json:"MUSICBRAINZ_ALBUMARTISTID"` + AlbumArtistSort string + ReleaseCountry string + Label string + ReleaseType string + Composer string + Genre string + Disc string + Track string +}