Replace AudioFile with AudioTrack, fix download+orphan+MD5 sync, always play original audio fallback
AudioTrack table replaces AudioFile (Filename, Name, AssignedFrequency,
MD5, Selected, Order) — fixes relative-path bug in scrollerPage.go that
caused "file not found" for single-track selection.
Download goroutine now:
- Accepts *gorm.DB and updates AudioTrack.MD5 after each download.
- Treats checksums.md5 as source of truth: removes local files and DB
records not in the manifest (orphans).
- Strips "./" prefix from manifest filenames (GNU md5sum format).
AudioOptions.go seeds 14 AudioTrack records matching server checksums.md5.
List background quad width matches the widest item (+ padding), centered.
scrollerPage.go switchAudioForFrequency falls back to original/selected
audio when a frequency has no matching track or file. playOriginalAudio
is a no-op on repeat calls to avoid 5-second audio restart loop.
Fixes progress display: passes Max=0 during downloads so Home page shows
"x / X Files Downloaded" text instead of bogus "100.0%" percentage.
Downstream audio switching (DynamicAudio) verifies an AudioTrack exists
for the frequency before assigning it to a stream — frequencies without
a track (e.g. 528 Hz) gracefully use original audio instead.
This commit is contained in:
@@ -50,10 +50,12 @@ type SolfeggioFrequency struct {
|
||||
Value int
|
||||
}
|
||||
|
||||
type AudioFile struct {
|
||||
ID int `gorm:"primaryKey"`
|
||||
Name string
|
||||
Path string
|
||||
Selected bool
|
||||
Order int
|
||||
type AudioTrack struct {
|
||||
ID int `gorm:"primaryKey"`
|
||||
Filename string
|
||||
Name string
|
||||
AssignedFrequency int
|
||||
MD5 string
|
||||
Selected bool
|
||||
Order int
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user