HACKING -- 5 March 2001
-----------------------

* the rename command on the context menu is currently broken. will fix.
* mixer should have fewer glitches now
* richard todd's triangle-rotation bugfix incorporated (thanks!)
* new widget builder was added, allowing BUTTON and OPTION's to work.
  see noise.c for an example of how to associate names with numeric options.
  there is also an old note about that in the OX_API docs in the section on 
  ox_desc(). visit gnu.org/software/octal and follow the docs link for more. 
* luka is setting up the CVS repository on sourceforge for machine authors

-----------------------

This dev release is mostly for testing out any new machines and experimenting
with them. Here's how:

1. Write or copy-and-tweak a new machine, using the OX_API as described in
the manual. Let's call the new machine's source mytest.c.

If you have any questions about the API after reading the docs, feel free to
post them to the mailing list. 

2. Compile it into a shared library like this: 

        $ gcc -Wall -shared mytest.c -o mytest.so

Make sure the resulting *.SO file goes into the octal directory for now.

3. Start up Octal with the release dir as working directory. 

        $ cd release 
        $ octal

Look for messages in the terminal about the machines it found. Make sure yours
is in there. If you are running esd you will have to either kill it or wait
till it lets go of /dev/dsp. 

4. Create your machine. If you right-click on the background of the machine
window, you should get a pop up menu with each machine type displayed in it.
Click to create a new machine. (It will be right on top of another one for now,
make sure to move it with the mouse.) 

GENERATORS: Once the mytest machine is created, you need to route its output
signal to hear what it does. Use shift-drag to form connections between
machines. (Hold down shift, left click on signal source, drag to signal sink,
release mouse button, release shift.) Do the same again to disconnect (that'll
be improved later.) Connect your machine to [master] which is the output.  

EFFECTS: The same, except you'll need to connect the output of a generator to
your own machine's input as well. If all else fails, use the squaregen machine
(it sucks but it does make sound!!) 

5. Play with parameters. Right click on your machine to get the context menu;
then click on "control box". You should get a little window with some slider
widgets in it.  The sliders are set up to send parameter changes to your
machine instance, and also to request text feedback from your ox_desc(). You
can open multiple control boxes at once if you would like to fool with multiple
machines.

6. Report bugs, make suggestions, have fun!  


