# Configuration Levels

Features of `TOP` can be toggled through player configuration.

## How To

Available levels of player configuration (see Config Options for more on what can be configured):

Type | When | Details
--- | --- | ---
Init | On player initialized | Default config for life of the player
Adhoc | On the fly | Overrides the Init config for life of the player
Play | On particular play | Overrides Adhoc and Init config, only for current play

### Init

The init player configuration will be the default throughout the life of the player.

Init configuration options can be specified in the createAndInitPlayer method (see Init Config Options):

    var player = TOP.createAndInitPlayer({
        // init config options here
    });

### Adhoc

Once the player is initialized, player configuration can be updated via the updateConfig API. Values specified this way will override values configured via Init.

The `updateConfig` method can be called anytime after the player has been initialized to make changes to the default configuration (see Config Options):

    player.updateConfig({
        // config options here
    });

### Play

Configuration values specified on the play call via the play options will override values configured via Init and Adhoc (see Config Options):

    var options = {
        config: {
            // config options here
        }
    };

    player.play(entry, options);