summaryrefslogtreecommitdiff
path: root/Audio/List.go
diff options
context:
space:
mode:
authorPhysick <96335032+DegustatorPonos@users.noreply.github.com>2025-12-13 12:32:15 +0500
committerPhysick <96335032+DegustatorPonos@users.noreply.github.com>2025-12-13 12:32:15 +0500
commitae11ed555cb350ea4c11fc1625f4a56229969ddd (patch)
tree1d02b84131b713a2eed9a332ffac51997b0ec285 /Audio/List.go
parent4b8ef84059e772ef7636c451356680ec5b0983c4 (diff)
Tracks meta
Diffstat (limited to 'Audio/List.go')
-rw-r--r--Audio/List.go31
1 files changed, 31 insertions, 0 deletions
diff --git a/Audio/List.go b/Audio/List.go
new file mode 100644
index 0000000..46bdfff
--- /dev/null
+++ b/Audio/List.go
@@ -0,0 +1,31 @@
+package audio
+
+import (
+ "log"
+ "os"
+
+ settings "physick.ru/culture_exam/Settings"
+)
+
+type TracksList struct {
+ Tracks []TrackMeta
+}
+
+func GenerateTrackList(verbouse bool) (TracksList, error) {
+ var files, dirErr = os.ReadDir(settings.Current.SongsLocation)
+ if dirErr != nil {
+ return TracksList{}, dirErr
+ }
+ var outp = TracksList {
+ Tracks: make([]TrackMeta, 0, len(files)),
+ }
+ for _, v := range files {
+ var meta, err = GenerateMetadata(v.Name())
+ if err != nil {
+ log.Printf("Failed to parse the file info: %s", err.Error())
+ continue
+ }
+ outp.Tracks = append(outp.Tracks, meta)
+ }
+ return outp, nil
+}