Sound Design Toolkit  075
Physically informed sound synthesis for everyday sounds
SDTControl.h File Reference

Go to the source code of this file.

Typedefs

typedef struct SDTBouncing SDTBouncing
 Opaque data structure for the crumpling object.
 
typedef struct SDTBreaking SDTBreaking
 Opaque data structure for the breaking object.
 
typedef struct SDTCrumpling SDTCrumpling
 Opaque data structure for the crumpling object.
 
typedef struct SDTRolling SDTRolling
 Opaque data structure for the rolling object.
 
typedef struct SDTScraping SDTScraping
 Opaque data structure for the scraping object.
 

Functions

SDTBouncingSDTBouncing_new ()
 Object constructor. More...
 
void SDTBouncing_free (SDTBouncing *x)
 Object destructor. More...
 
void SDTBouncing_setRestitution (SDTBouncing *x, double f)
 Sets the coefficient of restitution. More...
 
void SDTBouncing_setHeight (SDTBouncing *x, double f)
 Sets the initial height of the falling object. More...
 
void SDTBouncing_setIrregularity (SDTBouncing *x, double f)
 Sets the irregularity of the shape of the object. More...
 
void SDTBouncing_reset (SDTBouncing *x)
 Resets the bouncing process, restoring its initial energy.
 
double SDTBouncing_dsp (SDTBouncing *x)
 Single iteration of the whole buncing process. Call this routine in a loop to simulate the bouncing process. The loop should end when SDTBouncing_hasFinished() returns true. More...
 
int SDTBouncing_hasFinished (SDTBouncing *x)
 Checks if the bouncing process is finished, i.e. if the remaining energy is 0. More...
 
SDTBreakingSDTBreaking_new ()
 Object constructor. More...
 
void SDTBreaking_free (SDTBreaking *x)
 Object destructor. More...
 
void SDTBreaking_setStoredEnergy (SDTBreaking *x, double f)
 Sets the total energy stored in the object. More...
 
void SDTBreaking_setCrushingEnergy (SDTBreaking *x, double f)
 Sets the crushing energy. More...
 
void SDTBreaking_setGranularity (SDTBreaking *x, double f)
 Sets the event density of the crumpling process. More...
 
void SDTBreaking_setFragmentation (SDTBreaking *x, double f)
 Sets the amount of progressive fragmentation of the object during the process. More...
 
void SDTBreaking_reset (SDTBreaking *x)
 Resets the crumpling process, restoring its initial energy and triggering the first micro impact. More...
 
void SDTBreaking_dsp (SDTBreaking *x, double *outs)
 Single iteration of the whole breaking process. Call this routine in a loop to simulate a breaking process. The loop should end when SDTBreaking_hasFinished() returns true. More...
 
int SDTBreaking_hasFinished (SDTBreaking *x)
 Checks if the breaking process is finished, i.e. if the remaining energy is 0. More...
 
SDTCrumplingSDTCrumpling_new ()
 Object constructor. More...
 
void SDTCrumpling_free (SDTCrumpling *x)
 Object destructor. More...
 
void SDTCrumpling_setCrushingEnergy (SDTCrumpling *x, double f)
 Sets the crushing energy. More...
 
void SDTCrumpling_setGranularity (SDTCrumpling *x, double f)
 Sets the event density of the crumpling process. More...
 
void SDTCrumpling_setFragmentation (SDTCrumpling *x, double f)
 Sets the amount of fragmentation of the object during the process. More...
 
void SDTCrumpling_dsp (SDTCrumpling *x, double *outs)
 Single iteration of a crumpling process. Call this routine in a loop to simulate a crumpling process. Unlike in the breaking algorithm, iterations do not cause energy loss and the process can continue indefinitely until explicitly interrupted. More...
 
SDTRollingSDTRolling_new ()
 Object constructor. More...
 
void SDTRolling_free (SDTRolling *x)
 Object destructor. More...
 
void SDTRolling_setGrain (SDTRolling *x, double f)
 Sets the grain of the surface. This parameter affects the density of the micro-impacts: Lower values result in a bumpier rolling, higher values result in a smoother rolling. More...
 
void SDTRolling_setDepth (SDTRolling *x, double f)
 Sets the average bump depth. This parameter affects the energy of the micro-impacts. More...
 
void SDTRolling_setMass (SDTRolling *x, double f)
 Sets the rolling mass. The mass parameter of the controlled object should be updated accordingly. More...
 
void SDTRolling_setVelocity (SDTRolling *x, double f)
 Sets the rolling velocity. More...
 
double SDTRolling_dsp (SDTRolling *x, double in)
 Signal processing routine. Call this function at sample rate to compute the force acting on the rolling object. More...
 
SDTScrapingSDTScraping_new ()
 Object constructor. More...
 
void SDTScraping_free (SDTScraping *x)
 Object destructor. More...
 
void SDTScraping_setGrain (SDTScraping *x, double f)
 Sets the grain of the surface. This parameter affects the density of the micro-impacts: Lower values result in a rougher scraping, higher values result in a smoother scraping. More...
 
void SDTScraping_setForce (SDTScraping *x, double f)
 Sets the normal force of the scraping probe on the surface. This parameter affects the energy of the micro-impacts. More...
 
void SDTScraping_setVelocity (SDTScraping *x, double f)
 Sets the scraping velocity. More...
 
double SDTScraping_dsp (SDTScraping *x, double in)
 Signal processing routine. Call this function at sample rate to compute the force acting on the scraped surface. More...