Introduction
------------

The purpose of easyfst is to provide the easiest possible usage for playing 
vsti synths for someone with no knowledge of the domain. Installation is
intended to be done by an administrator, but vsti usage is intended to involve
two mouse clicks only - one click to launch the browser, and a second click to
launch a synth. All connections must be made automatically. The app
provides a browsable list of available synths.


Getting Started
---------------

1) Vst Sdk installation

   Hopefully your distributors package manager provides packages for
   the Sdk. If not you will need to manually install them:

      Download Steinberg's VST Audio Plug-Ins SDK. At the time of writing
      this is available at

      http://www.steinberg.de/Steinberg/Developers8b99.html

      but it's been known to move about in the past. You need to agree to
      Steinberg's non-free licensing terms - that's how it is, sorry.

      Unzip the SDK into xfst's root directory.

3) Type 'make'. If everything works correctly this should create an
   executable file called 'easyfst'.

4) Usage:
   
   Upon running the program you should be presented with a list of the plugins
	available on your system. Double click a listed plugin to run it.

	Hopefully connections will be connected by Lash. If not, easyfst will
	auto-connect the plugin's output to your system outputs.

	Set up the inputs and outputs, eg. using qjackctl's 'Connections' window.


Developers notes
----------------

todo:
	-high priority:

	-mid priority:
		-jack autostart:
			-why isnt existing jack autostart working?
				-jack autoexec: libjack/client.c line 725 (execv)
				-maybe it works when installed in /usr/bin. Make symlink in dev dir?
					no. exec of JACK server (command = "jackd") failed: Permission denied.
		-lash:
			"lash_init: Not attempting to start daemon server automatically" how to change settings?
			-restore
				-what happens? nothing is restored, how to debug? hack lash?
				-fst doesnt get restored, though other clients do. why?
					** actually i did get it to restore! project-7 using lash_panel.
				-how to view a closed project?
			-jack connections:
				-clients are supposed to inform the server to monitor connection changes - is this being done by qjackctl?
				-glash_control can make jack connections. Try that instead.
			-note: clients only have a directory when they are _open_, other info is in lash_info?

	-low priority:
		-dont rescan dir each time. use '.fst' file
		-remove runtime requirement for jackd: get example code from ... mocp?
			-this is problematic as future versions of fst have removed support for alsa midi
			 so we should persevere with jack for the time being.
		-close plugin when 2nd is run (currently app closes which is acceptable for now)


License
-------

easyfst is licenced under the GNU General Public License version 3. See
file 'COPYING' for details.


Authors / contributors
----------------------

This project is mostly based on FST by Torbenh, Paul Davis, 
kjetil, Joe Button, and others.

