# Path to the database file used to store recent import timestamps database = "scotty.sqlite3" # Host and port for OAuth authentication callbacks oauth-host = "127.0.0.1:2369" [service.listenbrainz] # This backend supports listens and loves from https://listenbrainz.org/ backend = "listenbrainz" # Your ListenBrainz username username = "" # Your ListenBrainz access token from https://listenbrainz.org/profile/ token = "" # If true, for each listen to submit it is checked whether this listen already # exists on ListenBrainz. For this similar listens are searched at the listen # time +/- the duration of the track. The default is false and this check is not # perfomed. Note that this verification significanly slows down the import and # is only recommended if you are importing historic listens which might or might # not already exists in your ListenBrainz profile. check-duplicate-listens = false [service.maloja] # Maloja is a self hosted listening service (https://github.com/krateng/maloja) backend = "maloja" # Base URL of your Maloja instance server-url = "https://maloja.example.com" # A Maloja API key token = "" # Set to true to disable Malojas auto correction of submitted listens nofix = false [service.funkwhale] # Funkwhale is a federated music server (https://www.funkwhale.audio/). # You need to register a new application in your Funkwhale settings. backend = "funkwhale" # Base URL of your Funkwhale instance server-url = "https://funkwhale.example.com" # Your Funkwhale username username = "" # The "access token" from the Funkwhale application settings token = "" [service.your-music-server] # The subsonic allows reading loves from any subsonic compatible music server. backend = "subsonic" # Base URL of your music server server-url = "https://example.com" # A valid username for logging into your server username = "" # Password for the username above token = "" [service.scrobbler-log] # Read or write listens from a Rockbox .scobbler.log file backend = "scrobbler-log" # The file path to the .scrobbler.log file. Relative paths are resolved against # the current working directory when running scotty. file-path = "./.scrobbler.log" # If true (default), ignore listens marked as skipped. ignore-skipped = true # If true (default), new listens will be appended to the existing file. Set to # false to overwrite the file and create a new scrobbler log on every run. append = true # Specify the time zone of the listens in the scrobbler log. While the log files # are supposed to contain Unix timestamps, which are always in UTC, the player # writing the log might not be time zone aware. This can cause the timestamps # to be in a different time zone. Use the time-zone setting to specify a # different time zone, e.g. "Europe/Berlin" or "America/New_York". # The default is UTC. time-zone = "UTC" [service.jspf] # Write listens and loves to JSPF playlist files (https://xspf.org/jspf) backend = "jspf" # The file path to the JSPF file. Relative paths are resolved against # the current working directory when running scotty. file-path = "./playlist.jspf" # If true (default), new listens will be appended to the existing file. Set to # false to overwrite the file and create a new JSPF playlist on every run. append = true # Title of the playlist. Not used in append mode. title = "My Playlist" # Creator of the playlist (only informational). Not used in append mode. username = "" # A unique identifier for your playlist. Not used in append mode. identifier = "" [service.spotify] # Read listens and loves from a Spotify account backend = "spotify" # You need to register an application on https://developer.spotify.com/ # and set the client ID and client secret below. # When registering use "http://127.0.0.1:2369/callback/spotify" as the # callback URI and enable "Web API". client-id = "" client-secret = "" [service.spotify-history] # Read listens from a Spotify extended history export backend = "spotify-history" # Directory where the extended history JSON files are located. The files must # follow the naming scheme "Streaming_History_Audio_*.json". dir-path = "./my_spotify_data_extended/Spotify Extended Streaming History" # If true (default), ignore listens from a Spotify "private session". ignore-incognito = true # If true, ignore listens marked as skipped. Default is false. ignore-skipped = false # Only consider skipped listens with a playback duration longer than or equal to # this number of seconds. Default is 30 seconds. If ignore-skipped is enabled # this setting has no effect. ignore-min-duration-seconds = 30 [service.deezer] # Read listens and loves from a Deezer account backend = "deezer" # You need to register an application on https://developers.deezer.com/myapps # and set the client ID and client secret below. # When registering use "http://127.0.0.1:2369/callback/deezer" as the # callback URI. client-id = "" client-secret = "" [service.lastfm] backend = "lastfm" # Your Last.fm username username = "" # You need to register an application on https://www.last.fm/api/account/create # and set the API ID and shared secret below. # When registering use "http://127.0.0.1:2369/callback/lastfm" as the # callback URI. client-id = "" client-secret = "" [service.dump] # This backend allows writing listens and loves as console output. Useful for # debugging the export from other services. backend = "dump"