Select all tracks for a release/medium

This commit is contained in:
Claudio Ortolina
2025-11-19 13:04:45 +00:00
parent cc7d00c750
commit 14c198c2cc
2 changed files with 65 additions and 1 deletions
+11
View File
@@ -41,10 +41,21 @@ defmodule MusicBrainz.Release do
Enum.count(release.media)
end
def get_medium(release, medium_number) do
Enum.find(release.media, fn m -> m.number == medium_number end)
end
def medium_duration(medium) do
Enum.sum_by(medium.tracks, fn track -> track.length || 0 end)
end
def medium_tracks(release, medium_number) do
case Enum.find(release.media, fn m -> m.number == medium_number end) do
nil -> []
medium -> medium.tracks
end
end
def release_duration(release) do
Enum.sum_by(release.media, fn medium -> medium_duration(medium) end)
end