NAME
    Audio::Multitrack - Perl extensions for multitrack audio processing

    ecmd - multitrack recording/mixing application

SYNOPSIS
    ecmd *options* *project_name*

OPTIONS
    -d *ecmd_dir*
                Use *ecmd_dir* as ecmd top-level project directory (default
                $HOME/ecmd )

    -m          Suppress loading of saved state

    -g          Graphical user interface (default)

    -t          Text interface

    -f *config_file*
                Use *config_file* instead of default $HOME/.ecmdrc

DESCRIPTION
    Audio::Multitrack provides class libraries for managing tracks and buses.

    Ecmd is an end-user application with text and graphical interfaces. It is
    configured as a single mixer bus with per-track volume/pan/effects, a master
    fader, and a mixdown track.

    There are two types of commands.

    Static commands influence the chain setup that will be used for audio
    processing.

    For example, the REC/MON/OFF setting for each track and each group controls
    whether a given track will be included in the next Ecasound chain setup, and
    whether audio for that track will be recorded or played back.

    Dynamic commands operate in realtime, affecting volume, pan, and playback
    head position while the engine is running.

    On the first run the program creates $HOME/.ecmdrc, the configuration file
    and project directory $HOME/ecmd. WAV files and parameter settings for each
    project are stored in directories under $HOME/ecmd. You probably want to
    edit the default .ecmdrc to suit your audio configuration.

    Project state can be stored/retrieved. Inspect the State.yml file in the
    project directory. The storage format is user-friendly YAML.

    To be certain your chain setup loads correctly, you may need to regenerate
    the setup using the Arm button in the GUI or the *arm* command under the
    text interface. This is usually the last operation before pressing the start
    button.

LADSPA
    Audio::Multitrack will automatically incorporate locally available LADSPA
    plugins provided you have the 'analyseplugin' program (part of LADSPA)
    installed.

Tk GUI
    Invoked using the -g switch on the ecmd command line, the Tk interface will
    provide linear/log sliders for most plugins. Text-entry widgets are used to
    enter parameters for plugins when hints are not available.

    The GUI time display color indicates whether the upcoming operation will
    recording (red), mixing only (yellow) or playback only (green).

Text UI
    Invoked using the -t switch on the ecmd command line, The command line
    interpreter includes history and tab completion of command names.

    Type help for a command summary, help command for help with *command*.

TRACKS
    Multiple WAV files can be recorded for each track. These are identified by
    version number, which can be specified for each track.

    Each track, including the Master and Mixdown, also have their own
    REC/MON/OFF setting and displays their own REC/MON/OFF status.

    There is also a global REC/MON/OFF and global version setting that apply to
    all user tracks (i.e. all but Master and Mixdown.) Global MON setting forces
    all REC user tracks to MON state, and is entered automatically after a
    recording.

    Global OFF setting excludes all user tracks from the chain setup, useful
    when playing back files recorded through the Mixdown function.

    A track with no recorded WAV files that is set to MON will show OFF status.

DIRECTORY STRUCTURE
    $wav_dir is the directory where your project files, including WAV files you
    record, will go. $wav_dir is defined in the first non-comment line of your
    .ecmdrc file.

    File or directory Explanation
    --------------------------------------------------------------------------
    $HOME/.ecmdrc Ecmd configuration file

    $wav_dir/project_name/.wav WAV files we record will be stored here

    $wav_dir/project_name/Setup.ecs Ecasound chainsetup, dynamically generated

    $wav_dir/project_name/State.yml Default save file for project parameters

BUGS
    No text-mode commands for setting marks.

    No GUI remove-track command.

    Default GUI volume sliders are not log scaled.

EXPORT
    None by default.

BUGS AND LIMITATIONS
    Some controls have no effect while audio processing engine is running.

    Adding and removing chain operators while the engine is running may cause
    the engine to stop.

    It is sometimes necessary to issue the connect chainsetup command twice for
    the engine to be happy.

    Do not Set Master track to REC. This interferes with generating the chain
    setup. Use only MON or OFF modes.

DEPENDENCIES
    The Ecasound audio processing libraries are required to use this software,
    and need to be installed separately. See http://www.eca.cx/ecasound/ .

    LADSPA libraries and plugins are strongly recommended. See
    http://ladspa.org/ . The 'analyseplugin' utility program is needed to make
    best use of LADSPA.

AVAILABILITY
    CPAN, for the distribution.

    Pull source code using this command:

            git clone git://github.com/bolangi/ecmd.git

AUTHOR
    Joel Roth, <joelz@pobox.com>

COPYRIGHT AND LICENSE
    Copyright 2007 by Joel Roth

    This library is licensed under GPL version 2.

