scmpc(1)

NAME
scmpc - An Audioscrobbler client for MPD

SYNOPSIS
scmpc [ -dhknqv ] [ -f <config_file> ] [ -i <pid_file> ]

DESCRIPTION
scmpc is a client for MPD (the Music Player Daemon) which submits your tracks to Audioscrobbler. It can be run as a daemon, which is the default behaviour, or it can be run in the foreground with the logs directed to standard out.

scmpc can be run without a connection to the internet as it stores songs in a queue if they can't be submitted immediately. The size of this queue can be limited in the configuration file so as to avoid scmpc taking up all your memory. The queue is saved at another configurable interval so that if scmpc is stopped unexpectedly for some reason, such as a power failure, you should 'lose' as few songs as possible.

The program is also forgiving in terms of the connection to the MPD server. If it can't connect immediately it will wait for half an hour and then try again. If it discovers that the server exists but doesn't respond to requests for the current song it will assume the server is password protected and the correct password wasn't specified, and it will not attempt to reconnect. The program doesn't exit in case there is a queue that could be submitted to Audioscrobbler, but when that is done the program will do very little. Check the log if the program doesn't appear to be doing anything.

scmpc is able to pick up and submit songs if crossfading is enabled, and it is able to ignore internet streams. It will submit songs without an Album specified, but only if the Title and Artist are both set.

OPTIONS

-d or --debug
    Sets the logging level to debug, which will log everything considered noteworthy while the program is being developed. Probably unnecessary for normal use.

-f or --config-file <file>
    The location of an alternative configuration file. This overrides the default search options, but is still overridden by any command line options.

-h or --help
    Prints a summary of the available command line options.

-i or --pid-file <file>
    The location of the pid file, which essentially stores the process id and makes sure that only one copy of the daemon is running at once.

-k or --kill
    Kills the currently running scmpc

-n or --foreground
    Runs the program in the foreground instead of immediately forking. It also redirects logging output to standard out and doesn't create a pid file.

-q or --quiet
    Sets the logging level to none, which disables logging completely.

-v or --version
    Prints the name and version of the program along with a brief copyright notice.

CONFIGURATION
scmpc looks for its configuration file first at ~/.scmpcrc, then at ~/.scmpc/scmpc.conf and finally at /etc/scmpc.conf. If a config file is specified as a command line option that file will be used instead.

If scmpc doesn't find a file at any of these locations it will silently use the compiled in defaults. This will mean that no tracks will be submitted to Audioscrobbler because no username or password will have been specified, but scmpc will still add any valid songs to the unsubmitted song queue.

The format of the configuration file is fairly simple - strings must be quoted, but numbers and identifiers (such as the logging level) should not be. Comments start with a hash: #. There are also two sections, mpd and audioscrobbler, which consist of the section name, an opening brace {, the options specific to that section, and a closing brace. Whitespace outside the configuration names and options isn't significant.

Global Configuration Options

    log_level
        Select the amount of logging you would like scmpc to do. This is a choice of four identifiers, not a text string, so don't quote it. Valid options are: none, error, info and debug.

    log_file
        The file that scmpc should write the log to. It will be created if necessary.

    pid_file
        The file in which scmpc will store its process id, in order to check that it is only run once, and in order to send the daemon signals. This is only created if scmpc is run as a daemon.

    cache_file
        The file in which scmpc will save the unsubmitted song queue for use when the program restarts. It will be read when scmpc starts, and saved when scmpc exists. The queue is also saved periodically (how often is controlled by the cache_interval option).

    cache_interval
        The interval in minutes between saving the unsubmitted queue in case the program exits unexpectedly.

    queue_length
        The maximum number of songs to hold in the unsubmitted songs queue at once. You are unlikely to need to lower this, but it's there in case.

MPD Section

    host
        The hostname or IP address of the server on which MPD is running. Currently only supports IPv4.

    port
        The port which MPD is listening on.

    timeout
        The timeout in seconds before giving up on the MPD server.

    interval
        The interval used to check if there is a new song (mpd < 0.14 only).

    password
        Set this if you need a password to read information from the MPD server.

Audioscrobbler Section

    username
        Your Audioscrobbler username.

    password
        Your plaintext Audioscrobbler password.

    password_hash
        Your md5 hashed Audioscrobbler password. password_hash will be preferred over password if it is set

FILES
~/.scmpcrc
~/.scmpc/scmpc.conf
/etc/scmpc.conf
    Configuration files

/var/scmpc/scmpc.cache
    The default location of the cache file.

/var/log/scmpc.log
    The default location of the log file.

/var/run/scmpc.pid
    The default location of the pid file.

BUGS
If libcurl was compiled with IPv6 support and Audioscrobbler supports it, it should work for communicating with Audioscrobbler, but I have no way of knowing.

There is no proxy support for communicating with MPD. However, if you use a proxy to connect to the internet and your http_proxy environment variable is set up correctly, scmpc should use that automatically when connecting to Audioscrobbler.

Currently, there is no support for translating scmpc, but that could be added at some point in the future if there is demand for it.

Please report any other bugs to Christoph Mende <angelos@unkreativ.org>.

CREDITS
Original author: Jonathan Coome <jcoome@gmail.com>
Current maintainer: Christoph Mende <angelos@unkreativ.org>