mirror of
https://git.maid.zone/stuff/soundcloak.git
synced 2025-12-12 06:39:38 +05:00
KeepPlayerFocus pref, rework prefs page, always autoplay if you click on the next track
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
package cfg
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"strconv"
|
||||
@@ -144,6 +143,7 @@ func defaultPreferences() {
|
||||
|
||||
DefaultPreferences.SearchSuggestions = &False
|
||||
DefaultPreferences.DynamicLoadComments = &False
|
||||
DefaultPreferences.KeepPlayerFocus = &False
|
||||
}
|
||||
|
||||
func loadDefaultPreferences(loaded Preferences) {
|
||||
@@ -238,21 +238,18 @@ func loadDefaultPreferences(loaded Preferences) {
|
||||
} else {
|
||||
DefaultPreferences.DynamicLoadComments = &False
|
||||
}
|
||||
|
||||
if loaded.KeepPlayerFocus != nil {
|
||||
DefaultPreferences.KeepPlayerFocus = loaded.KeepPlayerFocus
|
||||
} else {
|
||||
DefaultPreferences.KeepPlayerFocus = &False
|
||||
}
|
||||
}
|
||||
|
||||
func boolean(in string) bool {
|
||||
return strings.Trim(strings.ToLower(in), " ") == "true"
|
||||
}
|
||||
|
||||
type wrappedError struct {
|
||||
err error
|
||||
fault string
|
||||
}
|
||||
|
||||
func (w wrappedError) Error() string {
|
||||
return fmt.Sprintf("error loading %s: %s", w.fault, w.err)
|
||||
}
|
||||
|
||||
func fromEnv() error {
|
||||
env := os.Getenv("GET_WEB_PROFILES")
|
||||
if env != "" {
|
||||
@@ -264,7 +261,7 @@ func fromEnv() error {
|
||||
var p Preferences
|
||||
err := json.Unmarshal(S2b(env), &p)
|
||||
if err != nil {
|
||||
return wrappedError{err, "DEFAULT_PREFERENCES"}
|
||||
return err
|
||||
}
|
||||
|
||||
loadDefaultPreferences(p)
|
||||
@@ -306,7 +303,7 @@ func fromEnv() error {
|
||||
if env != "" {
|
||||
num, err := strconv.ParseInt(env, 10, 64)
|
||||
if err != nil {
|
||||
return wrappedError{err, "CLIENT_ID_TTL"}
|
||||
return err
|
||||
}
|
||||
|
||||
ClientIDTTL = time.Duration(num) * time.Second
|
||||
@@ -316,7 +313,7 @@ func fromEnv() error {
|
||||
if env != "" {
|
||||
num, err := strconv.ParseInt(env, 10, 64)
|
||||
if err != nil {
|
||||
return wrappedError{err, "USER_TTL"}
|
||||
return err
|
||||
}
|
||||
|
||||
UserTTL = time.Duration(num) * time.Second
|
||||
@@ -326,7 +323,7 @@ func fromEnv() error {
|
||||
if env != "" {
|
||||
num, err := strconv.ParseInt(env, 10, 64)
|
||||
if err != nil {
|
||||
return wrappedError{err, "USER_CACHE_CLEAN_DELAY"}
|
||||
return err
|
||||
}
|
||||
|
||||
UserCacheCleanDelay = time.Duration(num) * time.Second
|
||||
@@ -336,7 +333,7 @@ func fromEnv() error {
|
||||
if env != "" {
|
||||
num, err := strconv.ParseInt(env, 10, 64)
|
||||
if err != nil {
|
||||
return wrappedError{err, "TRACK_TTL"}
|
||||
return err
|
||||
}
|
||||
|
||||
TrackTTL = time.Duration(num) * time.Second
|
||||
@@ -346,7 +343,7 @@ func fromEnv() error {
|
||||
if env != "" {
|
||||
num, err := strconv.ParseInt(env, 10, 64)
|
||||
if err != nil {
|
||||
return wrappedError{err, "TRACK_CACHE_CLEAN_DELAY"}
|
||||
return err
|
||||
}
|
||||
|
||||
TrackCacheCleanDelay = time.Duration(num) * time.Second
|
||||
@@ -356,7 +353,7 @@ func fromEnv() error {
|
||||
if env != "" {
|
||||
num, err := strconv.ParseInt(env, 10, 64)
|
||||
if err != nil {
|
||||
return wrappedError{err, "PLAYLIST_TTL"}
|
||||
return err
|
||||
}
|
||||
|
||||
PlaylistTTL = time.Duration(num) * time.Second
|
||||
@@ -366,7 +363,7 @@ func fromEnv() error {
|
||||
if env != "" {
|
||||
num, err := strconv.ParseInt(env, 10, 64)
|
||||
if err != nil {
|
||||
return wrappedError{err, "PLAYLIST_CACHE_CLEAN_DELAY"}
|
||||
return err
|
||||
}
|
||||
|
||||
PlaylistCacheCleanDelay = time.Duration(num) * time.Second
|
||||
@@ -381,7 +378,7 @@ func fromEnv() error {
|
||||
if env != "" {
|
||||
num, err := strconv.ParseInt(env, 10, 64)
|
||||
if err != nil {
|
||||
return wrappedError{err, "DNS_CACHE_TTL"}
|
||||
return err
|
||||
}
|
||||
|
||||
DNSCacheTTL = time.Duration(num) * time.Second
|
||||
@@ -412,7 +409,7 @@ func fromEnv() error {
|
||||
var p []string
|
||||
err := json.Unmarshal(S2b(env), &p)
|
||||
if err != nil {
|
||||
return wrappedError{err, "TRUSTED_PROXIES"}
|
||||
return err
|
||||
}
|
||||
|
||||
TrustedProxies = p
|
||||
@@ -436,12 +433,8 @@ func init() {
|
||||
if env := os.Getenv("SOUNDCLOAK_CONFIG"); env == "FROM_ENV" {
|
||||
err := fromEnv()
|
||||
if err != nil {
|
||||
// So we only set default preferences if it fails to load that in
|
||||
if err.(wrappedError).fault == "DEFAULT_PREFERENCES" {
|
||||
defaultPreferences()
|
||||
}
|
||||
|
||||
log.Println("failed to load config from environment:", err)
|
||||
log.Println("Warning: failed to load config from environment:", err)
|
||||
defaultPreferences()
|
||||
}
|
||||
|
||||
return
|
||||
@@ -451,7 +444,7 @@ func init() {
|
||||
|
||||
data, err := os.ReadFile(filename)
|
||||
if err != nil {
|
||||
log.Printf("failed to load config from %s: %s\n", filename, err)
|
||||
log.Printf("Warning: failed to load config from %s: %s\n", filename, err)
|
||||
defaultPreferences()
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user