Provided by: ghostess_20120105-1build2_amd64 bug

NAME

       ghostess - graphical DSSI plugin host

SYNOPSIS

       ghostess [-debug level] [-hostname hostname] [-projdir projdir] [-uuid uuid] [-noauto] [-f
       cfgfile] [-n] [-chan c] [-conf k v] [-prog b p] [-port p f] soname[:label] [...]

DESCRIPTION

       ghostess is a DSSI host that listens for MIDI events, delivers them to DSSI synth plugins,
       and  outputs  the  resulting  audio  via JACK.  ghostess also supports DSSI plugins having
       audio inputs (effects), LADSPA plugins, and the use of  DSSI-style  user  interfaces  with
       LADSPA plugins.  ghostess can host up to 32 plugin instances at one time.

       Depending  on the compile-time configuration, ghostess will receive MIDI events from ALSA,
       JACK MIDI, or CoreMIDI.  Unless otherwise specified  by  the  -chan  option,  each  plugin
       instance  is sequentially assigned a MIDI channel, wrapping from 15 (zero-based) back to 0
       when necessary. Unless -noauto is specified,  plugin  inputs  and  outputs  are  connected
       sequentially to the available JACK physical input and output ports, respectively, wrapping
       back to the first port whenever the available ports are exhausted.

       At startup, ghostess presents a simple GTK+  user  interface.   Each  plugin  instance  is
       represented  in  a  frame,  labeled  with  the plugin name, and containing a MIDI activity
       indicator and a ´UI´ button. Left-clicking the ´UI´ button will start or hide the plugin's
       user  interface  (UI).   Right-clicking  the  ´UI´  button will allowing starting, hiding,
       showing, or terminating the plugin's UI.

       The ´Save Configuration...´ option of ghostess's ´File´ menu  allows  saving  the  current
       configuration  of all plugins to a file. Basically, the file is just a Bourne shell script
       that can be used to recreate the configuration.

       ghostess comes with a minimal universal DSSI GUI, ghostess_universal_gui, that can be used
       with  any DSSI or LADSPA plugin.  It does not read RDF files or instantiate the plugin, so
       it's not as full-featured as a universal GUI could be, but it  does  allow  for  adjusting
       DSSI/LADSPA  ports,  selecting  bank  and program (for plugins with select_program()), and
       sending test notes (for plugins with any of the run_synth() functions). If ghostess cannot
       find a UI for a plugin, and the universal GUI is in the PATH, ghostess will launch it.

OPTIONS

       The following global options are available:

       -debug level
              Sets  bitfield  flags  which determine which debugging information is printed.  The
              default level of 1 shows errors only, 0 shows nothing,  and  -1  shows  everything.
              See ghostess.h for details.

       -hostname hostname
              Sets  hostname  as the name ghostess uses for itself, for JACK and ALSA clients and
              GUI window titles.  If a JACK port cannot be created with that  name,  the  PID  is
              appended.

       -projdir projdir
              Sets  the project directory passed to both plugins and UIs to projdir.  The default
              is none.

       -uuid uuid
              Sets uuid as the UUID used for JACK session management. There is probably no reason
              to use this outside of a managed session.

       -noauto
              Disables automatic connection of plugin outputs to JACK physical outputs.

       -f cfgfile
              Additional  configuration  will be read from cfgfile, in the same format as command
              line options.

       For  specifying  plugin  instances,  ghostess  uses   a   '[-repetition-count]   [options]
       soname[:label]'  format, which may be repeated for multiple instances. The plugin-specific
       options are:

       -n     Specifies the repitition count, or number of instances, of the following plugin  to
              create, where n is an integer between 1 (the default) and 32.

       -chan c
              Sets the initial MIDI channel for the following plugin instance to c.  Channels are
              numbered 0 to 15. If the repetition count is more than  one,  instances  are  given
              sequential  channels beginning with c and wrapping from 15 to 0. The default is for
              all instances' MIDI channels to be sequentially numbered, starting from 0.

       -conf k  v
              Sets configure item key k and value v for the following instance. May  be  repeated
              for multiple keys.

       -prog b  p
              Sets  the  program  change  bank b and program p for the following plugin (numbered
              from 0).

       -port p  f
              Sets the value of port p to floating point number f for the following  plugin.  May
              be repeated for different ports.

       soname The  name of the DSSI or LADSPA plugin library to load, including the ´.so´ suffix.
              soname may be an absolute path to the library file, or just the filename itself, in
              which case the DSSI search path is searched (see ENVIRONMENT below).

       label  The label of the DSSI or LADSPA plugin to load from the library soname.  If this is
              omitted, the first plugin in the library is used.

ENVIRONMENT

       ghostess will search for plugin shared libraries  in  the  directories  specified  by  the
       environment  variable  DSSI_PATH,  which  is  a  colon-separated  list  of directories. If
       DSSI_PATH is not set, a default search path  of  /usr/lib/dssi,  /usr/local/lib/dssi,  and
       (assuming  the  environment  variable  HOME  is set,) $HOME/.dssi is used. Note that while
       ghostess may be used to host LADSPA plugins, the environment variable LADSPA_PATH  is  not
       used to search for them.

EXAMPLES

       Assuming DSSI_PATH is correctly set, the command:

       $ ghostess hexter.so

       will  start  a single instance of the plugin hexter, listening on MIDI channel 0, with its
       output connected to the first JACK physical output port.

       The command:

       $ ghostess -noauto -chan 2 xsynth-dssi.so -chan 2 xsynth-dssi.so

       will start two instances of Xsynth-DSSI, both listening on MIDI channel 2,  but  will  not
       automatically connect the plugin outputs to JACK output ports.

       The command:

       $ ghostess -debug -1 -hostname fuzzy -projdir /tmp/proj -2 -conf load
       mypatches -prog 0 4 -port 7 0.45 effects.so:fuzz

       will  start  two  instances  of  the  ´fuzz´  plugin  within the effects.so library, using
       /tmp/proj as the project directory, pass configure key ´load´ with  value  ´mypatches´  to
       both instances, set bank 0 and program 4, and set port 7 to 0.45. Assuming it is some sort
       of effect, the plugins´ inputs and outputs will be automatically connected  to  the  first
       JACK  physical  inputs  and outputs. Full debugging information will be printed, and fuzzy
       will be used as the JACK client name.

AUTHOR

       ghostess was written by Sean Bolton, who mercilessly mangled code  originally  written  by
       Chris  Cannam and Steve Harris. This manual page was adapted by Sean Bolton from the jack-
       dssi-host manual page originally by Mark Hymers.

                                       September 5th, 2010                            ghostess(1)