Skip to content

Latest commit

 

History

History
97 lines (76 loc) · 2.42 KB

README.md

File metadata and controls

97 lines (76 loc) · 2.42 KB

Documentation / API

(Interface) Output

Interface

Implements Output interface using:

import {Output} from 'shairport-sync';

class CustomOutput extends Output
{
    // This function must return the output name for 'shairport-sync' command's '--output' option.
    get name () {
        return 'my-custom-output-name';
    }

    // This function must return the output arguments for 'shairport-sync' command.
    get args () {
        return [
            ['-d', 'myValue']
        ];
    }

    start (proc) {
        if (!this.started) return; // no-op if instance is started

        super.start(proc);         // Use main logic

        // ... Put your custom logic here
    }
}

The previous example will result in a command like:

shairport-sync --output my-custom-output-name -- -d myValue

Properties

Output instances expose the folowing properties:

Name Type Read-Only Default Desciption
name String true Name of the output for shairport-sync command.
args Array true Output arguments to be be passed to the shairport-sync command.
started Boolean true false Whether the output is started.

Methods

Output instances expose the folowing methods:

Methods

ShairportSync instances expose the folowing methods:

Name Arguments Description
Name Type Required Default
start (process) Start airplay receiver output
process ChildProcess true ChildProcess started by the receiver

Built-in childs

Class Type Default Description
Pipe Class false Pipe the output stream through a file.
Stdout Class true Pipe the output stream through stdout.
Stream Interface false Pipe the output PCM audio stream through a property.