** SpiralLoops 2.0.0 **

Last changed Sunday 7 May 2001.

SpiralLoops is open source software, distributed under the General
Public License (GPL). See the file COPYING.

SpiralLoops is an experimental loop based sampler. It should work on i386 or 
big-endian hardware running Linux or FreeBSD. 
This is the second release of SpiralLoops, with many features added. 
It is currently in beta state. Please let me know of any problems you have.

It uses the OSS /dev/dsp driver, (although this is configurable) and the GUI 
it uses is FLTK (www.fltk.org).

To build the source type:

./configure 
make

The GUI requires FLTK to be installed (www.fltk.org), Which may in turn 
require Mesa or OpenGL to link correctly.

To be kept up to date with SpiralLoops, and other software visit www.pawfal.org
and join the pawfal mailing-list. 

Features:

Sample input can come from a wav file, or recorded from a plugin, such as the 
SpiralSynth plugin. 
An unlimited number of loops can be played back and mixed together. Loops can 
be mangled, or complex patterns can be made by synchronising the loops together.
Loop triggers can be used to cause interation between the loops, and as an 
expermental way of creating music.

Main window features:

Load/Save Workspace - Enables you to store workspaces containing all the loops,
					  parameters and window positions to a file. Also saves all
					  the loops to seperate wav files, so you may edit them 
					  externally.
New Loop            - Create a new loop window.
Load plugin         - Load the SpiralSynth plugin.
Pause plugin        - Suspends calling of the plugin, to speed up loop 
                      processing. 
SnapPoints          - Set how many snappoints there are in a loop. 
Snap                - Enable the snap-to points for selections and triggers.
Delay               - Global delay.
Reverb              - Global reverb.

Loop features:
	
Left Mouse Button   - Selects the region.
Middle Mouse Button - Use over the loop to "scratch" the loop play position.
                      This isn't really scratching yet, as it doesn't change
                      the pitch of the sample, this is mostly useful for 
                      syncronising beats by hand.						
Right Mouse Button  - "Rotates" the sample, altering the start position.

Volume
Speed
Length
Filter emphasis
Filter cutoff   
Master              - Sets this loop to be the master.  
Update              - Shows the play position in the loop.
Play                - Toggles the loop playback. 
Magic number        - Displays the ratio of play length to master loop 
                      play length.
Record from plugin  
Load wav file
Effects             - Enable dropdown effect window.
Double              - Doubles the length of the loop.
Match               - Matches the speed and length of the master loop.
Hold       [ctrl-s] - Re-samples the stored loop with the one just played,
                      this way filter modulation, scratching etc can be
                      recorded. (not availible during recording)
Cut        [ctrl-x] - Removes the selected region, and puts it in the copy
                      buffer.
Copy       [ctrl-c] - Copys the selected region to the copybuffer. 
Paste      [ctrl-v] - Inserts the copybuffer to the region start.
Paste Mix  [ctrl-b] - Same as paste, except it mixes the copybuffer over 
                      the loop.
Half       [ctrl-h] - Halves the length of the loop. (removes the second half) 
Zero       [ctrl-z] - Zeros the selection.
Select All [ctrl-a] - Selects all of the loop.
Reverse    [ctrl-r] - Reverses the selection.
New trigger[ctrl-t] - Add a new trigger to the loop.
    
Triggers

Loop triggers are an experimental feature to modify playback of your loops, 
and create interactions between the loops in a workspace. These interactions 
can become very complex, and result in interesting rhythms and compositions.

Basically, triggers are placed on a loop, and will start another loop playing 
when they are passed over by the play position (select update to see where this
is on a loop).

Triggers are created by pressing ctrl-t over a loop. They can be moved around 
the loop by dragging them with the left mouse button. 

Each trigger has two numbers associated with it, the one above the frigger is
the number of the loop that will be started (between 0 and 10) cycle through 
the loops with the middle mouse button.

The number to the right of the trigger is the stop-count. This specifies the 
number of times the trigger will be passed before stopping the current loop. If 
the stop count is zero, the loop won't be stopped. Cycle the stop-count with the 
right mouse button.

The best way to find out how triggers work is to have a play with them, they are
a little difficult to explain, but are actually quite simple. With only a few
loops, and a couple of triggers, you can build a fairly interesting rhythm up 
that may take a while to fully run through. The best thing is that you can 
change the triggers in real time, and hear the effects as you change them.

Note about the reverb - sorry it's not very good, it's included as it can do 
some strange things to your sounds and open up the stereo, but it's not a very 
good reverb ;)
	
Todos:

* Time Stretching.
* Configurable keyboard shortcuts.
* LADSPA plugin support.

Disclaimer:
No representations are made about the suitability of this software 
for any purpose. This software is provided "as is" without express 
or implied warranty. 
(Damage to ears, speakers or buildings are not my fault :))

Dave Griffiths - dave@pawfal.org
www.pawfal.org
