Skip to content

Commit 27075f2

Browse files
committed
improved track selection
1 parent 143628f commit 27075f2

File tree

2 files changed

+28
-25
lines changed

2 files changed

+28
-25
lines changed

musicbrainz.go

+28-25
Original file line numberDiff line numberDiff line change
@@ -111,31 +111,34 @@ func getTrackInfo(client *gomusicbrainz.WS2Client, query string) (musicBrainzRec
111111
})
112112

113113
trackTitle := value.Get("title").String()
114-
value.Get("releases").ForEach(func(key, value gjson.Result) bool {
115-
116-
recording = musicBrainzRecording{
117-
albumArtist: artist,
118-
trackArtists: artists,
119-
cdNum: value.Get("media.0.position").Int(),
120-
trackCount: value.Get("media.0.track-count").Int(),
121-
trackNum: value.Get("media.0.track-offset").Int() + 1,
122-
albumTitle: value.Get("title").String(),
123-
year: value.Get("date").String(),
124-
trackTitle: trackTitle,
125-
}
126-
127-
if len(recording.year) >= 4 {
128-
recording.year = recording.year[0:4]
129-
}
130-
131-
fmt.Printf("\nRelease: %s (%s)\nCD: %d - %.2d/%.2d\nTrack: %s - %s\n",
132-
recording.albumTitle, recording.year, recording.cdNum, recording.trackNum, recording.trackCount, artists, recording.trackTitle)
133-
134-
if askForConfirmation("Choose track?") {
135-
proceed = false
136-
}
137-
138-
fmt.Println()
114+
value.Get("releases").ForEach(func(key, release gjson.Result) bool {
115+
release.Get("media").ForEach(func(key, media gjson.Result) bool {
116+
117+
recording = musicBrainzRecording{
118+
albumArtist: artist,
119+
trackArtists: artists,
120+
cdNum: media.Get("position").Int(),
121+
trackCount: media.Get("track-count").Int(),
122+
trackNum: media.Get("track-offset").Int() + 1,
123+
albumTitle: release.Get("title").String(),
124+
year: release.Get("date").String(),
125+
trackTitle: trackTitle,
126+
}
127+
128+
if len(recording.year) >= 4 {
129+
recording.year = recording.year[0:4]
130+
}
131+
132+
fmt.Printf("Release: %s (%s)\nFormat: %s\nTrack: %.2d/%.2d %s - %s\n",
133+
recording.albumTitle, recording.year, media.Get("format").String(), recording.trackNum, recording.trackCount, artists, recording.trackTitle)
134+
135+
if askForConfirmation("Choose track?") {
136+
proceed = false
137+
}
138+
139+
fmt.Println()
140+
return proceed
141+
})
139142
return proceed
140143
})
141144
return proceed

ymdl

-7.37 MB
Binary file not shown.

0 commit comments

Comments
 (0)