--- a/RFC.html
+++ b/RFC.html
@@ -45,7 +45,7 @@
 
 
 <p>An API for soft synth plugins with custom user interfaces.
- Version 0.9.
+ Version 1.0.
 </p>
 <div class="oddcontent"><a name="toc1"></a><h3>1. &nbsp;Summary</h3>
 
@@ -369,22 +369,23 @@
  uses an implementation by Steve Harris called liblo ("Lite OSC") which
  can be obtained from
 </p><pre>
-  <A HREF="http://www.plugin.org.uk/liblo/">http://www.plugin.org.uk/liblo/</A>
+  <A HREF="http://liblo.sourceforge.net/">http://liblo.sourceforge.net/</A>
 </pre>
 <p>Note that liblo is distributed under a different licence from DSSI and
  so might not be a legal option for certain DSSI implementations.
 </p>
 <p>DSSI uses OSC in both directions between the host and UI.  When a user
- changes a port value in the UI, it sends an OSC request to the host,
- which informs the plugin of the change; when an automated port change
- occurs in the host, or a plugin's output control port changes, the
- host sends an update to the UI.
-</p>
-<p>(The host does not send updates to the UI for port changes that the UI
- itself initiated; likewise the UI must not send port changes back to
- the host that the host itself initiated.  A host that supports
- multiple UIs per plugin instance should send each change to all UIs
- for the instance other than the UI that initiated it.)
+ changes a configure, program, or port value in the UI, it sends an
+ OSC request to the host, which informs the plugin of the change;
+ when an automated change occurs in the host, or a plugin's output
+ control port changes, the host sends an update to the UI.
+</p>
+<p>(The host does not send updates to the UI for configure, program,
+ or port changes that the UI itself initiated; likewise the UI must
+ not send changes back to the host that the host itself initiated.
+ A host that supports multiple UIs per plugin instance should send
+ each change to all UIs for the instance other than the UI that
+ initiated it.)
 </p>
 <p>Communications between the host and UI are deliberately as limited as
  possible.  There is, for example, no way for a UI to query the
@@ -402,7 +403,7 @@
  labelled PLUGIN found in a dll named MYPLUGINS.so in directory
  DIRECTORY, we would recommend as follows.
 </p>
-<p>The host looks for a directory DIRECTORY/PLUGINS/.  If found, it looks
+<p>The host looks for a directory DIRECTORY/MYPLUGINS/.  If found, it looks
  for executable files or symbolic links in that directory beginning
  with the string PLUGIN or MYPLUGINS and ending with a suffix separated
  by an underscore, e.g. PLUGIN_gui, MYPLUGINS_qt.  If nothing so named
@@ -428,12 +429,15 @@
 <p>Once the host has found a suitable executable, it then starts it with
  a command line consisting of:
 </p><ul>
-<li>the executable name in argv<CODE>0</CODE> as normal
+<li>the executable name in argv<CODE>0</CODE> as normal (including
+ the full path, so that the UI may locate either the MYPLUGINS.so or
+ supporting files in the MYPLUGINS subdirectory, if need be.)
 
 <br/><br/></li><li>the OSC URL for the host, identifying the host and the base path
      for the correct plugin instance (see Paths and Methods below)
 
-<br/><br/></li><li>the name of the .so in which the plugin was found (here PLUGINS.so)
+<br/><br/></li><li>the name of the .so in which the plugin was found
+ (here MYPLUGINS.so)
 
 <br/><br/></li><li>the label of the plugin (here PLUGIN).
 
@@ -445,7 +449,7 @@
 <p>If the UI supports the show/hide mechanism (which any graphical UI
  should), then it should initially be in hidden state.  The UI then
  requests an update, passing its own OSC URL and base path to the host;
- the host responds by sending the current configure, program and
+ the host responds by sending the sample rate and current configure, program and
  control values (in that order).  The host must then call show() on the
  UI and startup is complete.
 </p>
@@ -457,8 +461,8 @@
 <p>The DSSI host and UI are each expected to think of an arbitrary path
  to associate with each plugin instance, known as the "base path".
  This will presumably have some internal and/or diagnostic meaning:
- e.g. a host might use "/dssi/PLUGINS/PLUGIN.1" for the path to the
- first instance of plugin labelled PLUGIN in PLUGINS.so.  Individual
+ e.g. a host might use "/dssi/MYPLUGINS/PLUGIN.1" for the path to the
+ first instance of plugin labelled PLUGIN in MYPLUGINS.so.  Individual
  method calls are always made to a subpath of the base path, as
  detailed below.
 </p>
@@ -468,7 +472,7 @@
 </p>
 <p>These are the methods the host may support:
 </p><ul>
-<li>&lt;base path&gt;/control  (e.g. "/dssi/PLUGINS/PLUGIN.1/control")
+<li>&lt;base path&gt;/control  (e.g. "/dssi/MYPLUGINS/PLUGIN.1/control")
 
 <br/><br/>   Set a control port value on the plugin at &lt;base path&gt;.  Takes an int
     argument for port number and a float for value.  (required method)
@@ -482,7 +486,7 @@
 
 <br/><br/>   Request an update on the UI.  Takes one string argument, the UI's
     own OSC URL with base path.  The host should respond by sending the
-    current state of the plugin to the UI in a series of configure,
+    current state of the plugin to the UI in a series of sample-rate, configure,
     program, and control OSC calls.  (required method, and the UI is
     required to use it)
 
@@ -534,6 +538,12 @@
     update() request, e.g. on startup.  Takes two string arguments for
     key and value.  (required method)
 
+<br/><br/></li><li>&lt;base path&gt;/sample-rate
+
+<br/><br/>   Inform the UI of the sample rate at which the plugin is
+    being run. Takes an int argument for the rate, in frames per
+    second. (optional method)
+
 <br/><br/></li><li>&lt;base path&gt;/show
 
 <br/><br/>   Show the UI, if it's a graphical interface in a window or some