package main import ( "fmt" "git.dayanhub.com/sagi/subsonic-tui/internal/client" "git.dayanhub.com/sagi/subsonic-tui/internal/config" "git.dayanhub.com/sagi/subsonic-tui/internal/playback" "git.dayanhub.com/sagi/subsonic-tui/internal/tui" ) func main() { defer client.ArtCache.Destroy() // Create Client subsonicClient := client.NewClient(config.URL()) err := subsonicClient.Authenticate(config.Username(), config.Password()) if err != nil { // We need to show Login... login := tui.NewLogin() err := login.Run() if err != nil { panic(err) } } fmt.Println("Trying to login...") subsonicClient = client.NewClient(config.URL()) err = subsonicClient.Authenticate(config.Username(), config.Password()) if err != nil { panic(err) } // Saving config - will result in adding new defaults to the file config.SaveConfig() playbackCtl := playback.NewController(subsonicClient) defer playbackCtl.Close() tui := tui.NewPlayer(subsonicClient, playbackCtl) if err := tui.Run(); err != nil { panic(err) } }