CCCC: A Bars and Pipes Tool for generating cyclically varying control
Version: 1.2 (13 September 1997)
Author: Richard Hagen
Distribution: Freeware. See the copyright notice in cccc.c.
Requirements for running:
Bars and Pipes Professional
Requirements for recompiling:
DICE (or some other C compiler)
bars.h and toolstart.c from the Rules for Tools kit.
CCCC is an input tool. It is only useful for generating
events when the transport is running, so when it is placed in a
pipeline, CCCC becomes the input tool for its track.
It can't be used as a padtool.
Several gadgets control the functioning of CCCC:
CC# (proportional gadget, range [0 .. 127])
This is the number of the control change that you want
produce messages for. CC# defaults to 10, the control
Start (string gadget)
This is the time (Measure.Beat.Clock) when CCCC should start
producing messages. If you try to enter a start value
that is greater than the finish value, the start value
is set to the finish value. Start defaults to 1.1.0
(i.e. time == 0).
Finish (string gadget)
This is the time (M.B.C) when CCCC should finish
producing messages. If you try to enter a finish value that
is less than the start value, the finish value will be
set to the start value. Finish defaults to the time of the
stop marker for the current song.
Period: (string gadget)
This is the length (M.B.C) of the oscillation of
the control change value. The period can't be set
to less than one clock. Period defaults to 1.0.0
(i.e. 768 clocks).
Wave (cycle gadget)
This is the function that generates the oscillation.
Currently, you can choose one of TRIANGLE, SAW, SQUARE or
RANDOM waves. Wave defaults to TRIANGLE.
Direction (cycle gadget)
This is the initial direction of the wave function, UP or
DOWN. Direction defaults to UP.
Granularity (Bars and Pipes ``pop up note'' gadget)
This defines how often control change messages are
output by CCCC. The valid granularities are 1/4,
1/8, 1/16, 1/32 and 1/64 notes; whole and half note
granularities are difficult to generate, due to the
timing of Bars and Pipes transport messages, so
if you select them they're automatically
translated down to 1/4 note granularity.
When a CCCC window is open, and CCCC is producing control
change messages, the control change value of the last message
generated is displayed in the top right hand corner. Since
CCCC generates batches of messages before their output time,
values will be shown a little ahead of the their actual passage
through the pipeline. Don't be alarmed: this is how the Bars
and Pipes transport works - by creating batches of events ahead
of time, and sorting out their exact timing only when needed.
Please note that because CCCC will only
produce control change messages when:
1) the transport is running, and,
2) the track it is in is selected for input,
or you have multiple inputs selected, and,
3) the current time is between the start and finish times for
Everything! Use it as an LFO. Combined with the Event Mapper
and my control change Scaler, you can generate any sort of voice
control messages for any purpose: Pitch Bends, Filter Sweeps,
Sample Start/Loop Point Modulation, .... Anything!
Version 1.2 (13 September 1997)
Redrew icon. Added the tool type NOTPAD.
Version 1.1 (9 September 1997)
Made sure the period couldn't be zero clocks.
Version 1.0 (8 September 1997)
If you like this tool, please drop me a line.
13 September 1997