shithub: leaf

Download patch

ref: 36c93607f8847909e8bf7408d84890ecc877c63d
parent: dc28b7835f0d22d006ddd8c5ad918a344ba1da1d
author: Matthew Wang <mjw7@princeton.edu>
date: Thu Jun 25 09:53:22 EDT 2020

minor

--- a/leaf/leaf-envelopes.h
+++ /dev/null
@@ -1,377 +1,0 @@
-/*
- ==============================================================================
- 
- leaf-envelopes.h
- Created: 20 Jan 2017 12:02:17pm
- Author:  Michael R Mulshine
- 
- ==============================================================================
- */
-
-#ifndef LEAF_ENVELOPES_H_INCLUDED
-#define LEAF_ENVELOPES_H_INCLUDED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-    
-    // ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-    
-#include "leaf-math.h"
-#include "leaf-mempool.h"
-#include "leaf-filters.h"
-#include "leaf-delay.h"
-#include "leaf-analysis.h"
-#include "leaf-envelopes.h"
-    
-    /*!
-     * @internal
-     * Header.
-     * @include basic-oscillators.h
-     * @example basic-oscillators.c
-     * An example.
-     */
-
-    // ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-    
-    /* Attack-Decay envelope */
-    typedef struct _tEnvelope {
-        
-       const float *exp_buff;
-       const float *inc_buff;
-        uint32_t buff_size;
-        
-        float next;
-        
-        float attackInc, decayInc, rampInc;
-        
-        int inAttack, inDecay, inRamp;
-        
-        int loop;
-        
-        float gain, rampPeak;
-        
-        float attackPhase, decayPhase, rampPhase;
-        
-    } _tEnvelope;
-    
-    typedef _tEnvelope* tEnvelope;
-    
-    void    tEnvelope_init          (tEnvelope* const, float attack, float decay, int loop);
-    void    tEnvelope_free          (tEnvelope* const);
-    void    tEnvelope_initToPool    (tEnvelope* const, float attack, float decay, int loop, tMempool* const);
-    void    tEnvelope_freeFromPool  (tEnvelope* const, tMempool* const);
-    
-    float   tEnvelope_tick          (tEnvelope* const);
-    void    tEnvelope_setAttack     (tEnvelope* const, float attack);
-    void    tEnvelope_setDecay      (tEnvelope* const, float decay);
-    void    tEnvelope_loop          (tEnvelope* const, int loop);
-    void    tEnvelope_on            (tEnvelope* const, float velocity);
-    
-    // ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-    
-
-
-    /* Exponential Smoother */
-    typedef struct _tExpSmooth {
-        float factor, oneminusfactor;
-        float curr,dest;
-
-    } _tExpSmooth;
-
-    typedef _tExpSmooth* tExpSmooth;
-
-    void    tExpSmooth_init         (tExpSmooth* const, float val, float factor);
-    void    tExpSmooth_free         (tExpSmooth* const);
-    void    tExpSmooth_initToPool   (tExpSmooth* const, float val, float factor, tMempool* const);
-    void    tExpSmooth_freeFromPool (tExpSmooth* const, tMempool* const);
-
-    float   tExpSmooth_tick         (tExpSmooth* const);
-    float   tExpSmooth_sample       (tExpSmooth* const);
-    void    tExpSmooth_setFactor    (tExpSmooth* const, float factor);
-    void    tExpSmooth_setDest      (tExpSmooth* const, float dest);
-    void    tExpSmooth_setVal       (tExpSmooth* const, float val);
-    void    tExpSmooth_setValAndDest(tExpSmooth* const expsmooth, float val);
-
-    // ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-
-
-    // ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-
-
-    /* ADSR */
-        typedef struct _tADSR
-        {
-           const float *exp_buff;
-           const float *inc_buff;
-            uint32_t buff_size;
-
-            float next;
-
-            float attackInc, decayInc, releaseInc, rampInc;
-
-            oBool inAttack, inDecay, inSustain, inRelease, inRamp;
-
-            float sustain, gain, rampPeak, releasePeak;
-
-            float attackPhase, decayPhase, releasePhase, rampPhase;
-
-            float leakFactor;
-
-
-        } _tADSR;
-
-        typedef _tADSR* tADSR;
-
-        void    tADSR_init    (tADSR* const adsrenv, float attack, float decay, float sustain, float release);
-        void    tADSR_free          (tADSR* const);
-        void    tADSR_initToPool    (tADSR* const adsrenv, float attack, float decay, float sustain, float release, tMempool* const mp);
-        void    tADSR_freeFromPool  (tADSR* const, tMempool* const);
-
-        float   tADSR_tick          (tADSR* const);
-        void    tADSR_setAttack     (tADSR* const, float attack);
-        void    tADSR_setDecay      (tADSR* const, float decay);
-        void    tADSR_setSustain    (tADSR* const, float sustain);
-        void    tADSR_setRelease    (tADSR* const, float release);
-        void    tADSR_setLeakFactor (tADSR* const, float leakFactor);
-        void    tADSR_on            (tADSR* const, float velocity);
-        void    tADSR_off           (tADSR* const);
-
-
-    
-    
-    // ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-    
-
-
-    /* ADSR2 */
-     typedef struct _tADSR2
-     {
-         float sampleRateInMs;
-         float attack;
-         float decay;
-         float release;
-         float attackLambda;
-         float decayLambda;
-         float releaseLambda;
-         float sustain;
-         float leakGain;
-         float leakFactor;
-         float targetGainSquared;
-         float factor;
-         float oneMinusFactor;
-         float gain;
-         uint8_t attacking;
-         uint8_t gate;
-         float env;
-         float envTarget;
-     } _tADSR2;
-
-     typedef _tADSR2* tADSR2;
-
-     void    tADSR2_init          (tADSR2* const, float attack, float decay, float sustain, float release);
-     void    tADSR2_free          (tADSR2* const);
-     void    tADSR2_initToPool    (tADSR2* const, float attack, float decay, float sustain, float release, tMempool* const);
-     void    tADSR2_freeFromPool  (tADSR2* const, tMempool* const);
-
-     float   tADSR2_tick          (tADSR2* const);
-     void    tADSR2_setAttack     (tADSR2* const, float attack);
-     void    tADSR2_setDecay      (tADSR2* const, float decay);
-     void    tADSR2_setSustain    (tADSR2* const, float sustain);
-     void    tADSR2_setRelease    (tADSR2* const, float release);
-     void    tADSR2_setLeakFactor (tADSR2* const, float leakFactor);
-     void    tADSR2_on            (tADSR2* const, float velocity);
-     void    tADSR2_off           (tADSR2* const);
-
-
-     // ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-
-     // ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-     enum envState {
-         env_idle = 0,
-         env_attack,
-         env_decay,
-         env_sustain,
-         env_release,
-         env_ramp
-     };
-
-     /* ADSR3 */
-     typedef struct _tADSR3
-     {
-         float sampleRateInMs;
-         int state;
-         float output;
-         float attackRate;
-         float decayRate;
-         float releaseRate;
-         float attackCoef;
-         float decayCoef;
-         float releaseCoef;
-         float sustainLevel;
-         float targetRatioA;
-         float targetRatioDR;
-         float attackBase;
-         float decayBase;
-         float releaseBase;
-         float leakFactor;
-         float targetGainSquared;
-         float factor;
-         float oneMinusFactor;
-         float gain;
-
-     } _tADSR3;
-
-     typedef _tADSR3* tADSR3;
-
-     void    tADSR3_init          (tADSR3* const, float attack, float decay, float sustain, float release);
-     void    tADSR3_free          (tADSR3* const);
-     void    tADSR3_initToPool    (tADSR3* const, float attack, float decay, float sustain, float release, tMempool* const);
-     void    tADSR3_freeFromPool  (tADSR3* const, tMempool* const);
-
-     float   tADSR3_tick          (tADSR3* const);
-     void    tADSR3_setAttack     (tADSR3* const, float attack);
-     void    tADSR3_setDecay      (tADSR3* const, float decay);
-     void    tADSR3_setSustain    (tADSR3* const, float sustain);
-     void    tADSR3_setRelease    (tADSR3* const, float release);
-     void    tADSR3_setLeakFactor (tADSR3* const, float leakFactor);
-     void    tADSR3_on            (tADSR3* const, float velocity);
-     void    tADSR3_off           (tADSR3* const);
-
-    // ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-    
-    //ADSR4
-
-     
-     typedef struct _tADSR4
-         {
-            const float *exp_buff;
-             uint32_t buff_size;
-             uint32_t buff_sizeMinusOne;
-             float bufferSizeDividedBySampleRateInMs;
-             float next;
-
-             float attackInc, decayInc, releaseInc, rampInc;
-
-             uint32_t whichStage;
-
-             float sustain, gain, rampPeak, releasePeak;
-
-             float attackPhase, decayPhase, releasePhase, rampPhase;
-
-             float leakFactor;
-
-
-         } _tADSR4;
-
-         typedef _tADSR4* tADSR4;
-
-         void    tADSR4_init          (tADSR4* const, float attack, float decay, float sustain, float release, float* expBuffer, int bufferSize);
-         void    tADSR4_free          (tADSR4* const);
-         void    tADSR4_initToPool    (tADSR4* const, float attack, float decay, float sustain, float release, float* expBuffer, int bufferSize, tMempool* const);
-         void    tADSR4_freeFromPool  (tADSR4* const, tMempool* const);
-
-         float   tADSR4_tick          (tADSR4* const);
-         float   tADSR4_tickNoInterp  (tADSR4* const adsrenv);
-         void    tADSR4_setAttack     (tADSR4* const, float attack);
-         void    tADSR4_setDecay      (tADSR4* const, float decay);
-         void    tADSR4_setSustain    (tADSR4* const, float sustain);
-         void    tADSR4_setRelease    (tADSR4* const, float release);
-         void    tADSR4_setLeakFactor (tADSR4* const, float leakFactor);
-         void    tADSR4_on            (tADSR4* const, float velocity);
-         void    tADSR4_off           (tADSR4* const);
-     // ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-
-    /* Ramp */
-    typedef struct _tRamp {
-        float inc;
-        float inv_sr_ms;
-        float minimum_time;
-        float curr,dest;
-        float time;
-        float factor;
-        int samples_per_tick;
-        
-    } _tRamp;
-    
-    typedef _tRamp* tRamp;
-    
-    void    tRamp_init          (tRamp* const, float time, int samplesPerTick);
-    void    tRamp_free          (tRamp* const);
-    void    tRamp_initToPool    (tRamp* const, float time, int samplesPerTick, tMempool* const);
-    void    tRamp_freeFromPool  (tRamp* const, tMempool* const);
-    
-    float   tRamp_tick          (tRamp* const);
-    float   tRamp_sample        (tRamp* const);
-    void    tRamp_setTime       (tRamp* const, float time);
-    void    tRamp_setDest       (tRamp* const, float dest);
-    void    tRamp_setVal        (tRamp* const, float val);
-
-    ///=============
-    /* Ramp Updown*/
-    typedef struct _tRampUpDown {
-        float upInc;
-        float downInc;
-        float inv_sr_ms;
-        float minimum_time;
-        float curr,dest;
-        float upTime;
-        float downTime;
-        int samples_per_tick;
-
-    } _tRampUpDown;
-
-    typedef _tRampUpDown* tRampUpDown;
-
-    void    tRampUpDown_init          (tRampUpDown* const, float upTime, float downTime, int samplesPerTick);
-    void    tRampUpDown_free          (tRampUpDown* const);
-    void    tRampUpDown_initToPool    (tRampUpDown* const, float upTime, float downTime, int samplesPerTick, tMempool* const);
-    void    tRampUpDown_freeFromPool  (tRampUpDown* const, tMempool* const);
-    
-    float   tRampUpDown_tick          (tRampUpDown* const);
-    float   tRampUpDown_sample        (tRampUpDown* const);
-    void    tRampUpDown_setUpTime       (tRampUpDown* const, float upTime);
-    void    tRampUpDown_setDownTime       (tRampUpDown* const, float downTime);
-    void    tRampUpDown_setDest       (tRampUpDown* const, float dest);
-    void    tRampUpDown_setVal        (tRampUpDown* const, float val);
-
-
-    ///=========================
-    //Slide (based on Max/MSP's slide~)
-	typedef struct _tSlide {
-		float prevOut;
-		float currentOut;
-		float prevIn;
-		float invUpSlide;
-		float invDownSlide;
-		float dest;
-
-	} _tSlide;
-
-	typedef _tSlide* tSlide;
-
-	void    tSlide_init          (tSlide* const, float upSlide, float downSlide);
-	void    tSlide_free          (tSlide* const);
-	void    tSlide_initToPool    (tSlide* const, float upSlide, float downSlide, tMempool* const);
-	void    tSlide_freeFromPool  (tSlide* const, tMempool* const);
-
-	void 	tSlide_setUpSlide	(tSlide* const sl, float upSlide);
-
-	void 	tSlide_setDownSlide	(tSlide* const sl, float downSlide);
-
-
-	void 	tSlide_setDest		(tSlide* const sl, float dest);
-
-
-	float 	tSlide_tickNoInput	(tSlide* const sl);
-
-	float   tSlide_tick         (tSlide* const, float in);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif  // LEAF_ENVELOPES_H_INCLUDED
-
-
-
--- a/leaf/leaf.h
+++ b/leaf/leaf.h
@@ -79,7 +79,7 @@
  *
  * \section intro_sec Introduction
  *
- * This is the introduction.
+ * This is the work in progress documentation of LEAF.
  *
  * \section install_sec Installation
  *