Software‎ > ‎


CapE is free software related to E.  For more information, open the attachment Using.htm.  (Click the link and choose the Open option if your browser supports that, otherwise you will need to download and save it first then browse locally.  See the Organization page for further discussion.)

The attachment constitutes the release.
Release Notes:
Versions 1-6 of are essentially identical except for minor cosmetic changes and the like, and in effect constitute the first release.  Some early versions have been removed.  Version 1 of Using.htm is the corresponding program documentation.
Version 7 of and version 2 of Using.htm constitute the second release.  This release is upward compatible with the first regarding essential program functionality and parameters.  The capewave program has been enhanced.  It generates better default output filenames in some cases, and has new functionality including: runtime choice of IEEE rather than the default PCM output format, optional filter feeding of skipped inputs for "settling down" purposes, and optional placement of the fader at the end of the processing chain, or in short, better ways to deal with starting pops etc.

The second release has a harmless but possibly annoying bug in the capewave program: If you specify the -i option, you cannot also specify an output file name.  To fix this, edit the capewave.cpp main function about six lines down:
        if (argc < 8 || argc > 10) usage(); // bug fix: argc > 10 was argc > 9

Update (Jan. 1, 2013)

It is not necessary to use a multiplication loop to carry out E function exponentiation in order to get (nearly) identical results for the capeloop program;  a system math function can be used instead.  To verify, edit capeloop.cpp as follows.

    (1) Add #include <math.h> after the other includes.
    (2) Change the E function:
        double E(float a, int n) {
            double z = 1 + 1.0/(a*n);
    #if 1 // use system math function
            double y = pow(z, n);
    #else // use multiplication loop
            double y = z;
            for (int i = 1; i < n; i++) {
                y *= z;
            return y;

Jan 1, 2012, 9:11 AM
Feb 5, 2012, 10:28 AM
Feb 5, 2012, 10:27 AM