Sound Design Toolkit 075 Physically informed sound synthesis for everyday sounds

- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

SDTControl.h
Go to the documentation of this file.
1
7 #ifndef SDT_CONTROL_H
8 #define SDT_CONTROL_H
9
16 typedef struct SDTBouncing SDTBouncing;
17
20 extern SDTBouncing *SDTBouncing_new();
21
24 extern void SDTBouncing_free(SDTBouncing *x);
25
28 extern void SDTBouncing_setRestitution(SDTBouncing *x, double f);
29
32 extern void SDTBouncing_setHeight(SDTBouncing *x, double f);
33
36 extern void SDTBouncing_setIrregularity(SDTBouncing *x, double f);
37
39 extern void SDTBouncing_reset(SDTBouncing *x);
40
45 extern double SDTBouncing_dsp(SDTBouncing *x);
46
49 extern int SDTBouncing_hasFinished(SDTBouncing *x);
50
60 typedef struct SDTBreaking SDTBreaking;
61
64 extern SDTBreaking *SDTBreaking_new();
65
68 extern void SDTBreaking_free(SDTBreaking *x);
69
72 extern void SDTBreaking_setStoredEnergy(SDTBreaking *x, double f);
73
76 extern void SDTBreaking_setCrushingEnergy(SDTBreaking *x, double f);
77
80 extern void SDTBreaking_setGranularity(SDTBreaking *x, double f);
81
84 extern void SDTBreaking_setFragmentation(SDTBreaking *x, double f);
85
89 extern void SDTBreaking_reset(SDTBreaking *x);
90
95 extern void SDTBreaking_dsp(SDTBreaking *x, double *outs);
96
99 extern int SDTBreaking_hasFinished(SDTBreaking *x);
100
110 typedef struct SDTCrumpling SDTCrumpling;
111
114 extern SDTCrumpling *SDTCrumpling_new();
115
118 extern void SDTCrumpling_free(SDTCrumpling *x);
119
122 extern void SDTCrumpling_setCrushingEnergy(SDTCrumpling *x, double f);
123
126 extern void SDTCrumpling_setGranularity(SDTCrumpling *x, double f);
127
130 extern void SDTCrumpling_setFragmentation(SDTCrumpling *x, double f);
131
137 extern void SDTCrumpling_dsp(SDTCrumpling *x, double *outs);
138
147 typedef struct SDTRolling SDTRolling;
148
151 extern SDTRolling *SDTRolling_new();
152
155 extern void SDTRolling_free(SDTRolling *x);
156
162 extern void SDTRolling_setGrain(SDTRolling *x, double f);
163
167 extern void SDTRolling_setDepth(SDTRolling *x, double f);
168
172 extern void SDTRolling_setMass(SDTRolling *x, double f);
173
176 extern void SDTRolling_setVelocity(SDTRolling *x, double f);
177
182 extern double SDTRolling_dsp(SDTRolling *x, double in);
183
194 typedef struct SDTScraping SDTScraping;
195
198 extern SDTScraping *SDTScraping_new();
199
202 extern void SDTScraping_free(SDTScraping *x);
203
209 extern void SDTScraping_setGrain(SDTScraping *x, double f);
210
214 extern void SDTScraping_setForce(SDTScraping *x, double f);
215
218 extern void SDTScraping_setVelocity(SDTScraping *x, double f);
219
224 extern double SDTScraping_dsp(SDTScraping *x, double in);
225
228 #endif
229
SDTBreaking_hasFinished
int SDTBreaking_hasFinished(SDTBreaking *x)
Checks if the breaking process is finished, i.e. if the remaining energy is 0.
SDTCrumpling_new
SDTCrumpling * SDTCrumpling_new()
Object constructor.
SDTCrumpling_dsp
void SDTCrumpling_dsp(SDTCrumpling *x, double *outs)
Single iteration of a crumpling process. Call this routine in a loop to simulate a crumpling process...
SDTBouncing_dsp
double SDTBouncing_dsp(SDTBouncing *x)
Single iteration of the whole buncing process. Call this routine in a loop to simulate the bouncing p...
SDTBreaking_dsp
void SDTBreaking_dsp(SDTBreaking *x, double *outs)
Single iteration of the whole breaking process. Call this routine in a loop to simulate a breaking pr...
SDTScraping_setForce
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 ...
SDTBreaking_setFragmentation
void SDTBreaking_setFragmentation(SDTBreaking *x, double f)
Sets the amount of progressive fragmentation of the object during the process.
SDTRolling_free
void SDTRolling_free(SDTRolling *x)
Object destructor.
SDTBouncing_setHeight
void SDTBouncing_setHeight(SDTBouncing *x, double f)
Sets the initial height of the falling object.
SDTBouncing
struct SDTBouncing SDTBouncing
Opaque data structure for the crumpling object.
Definition: SDTControl.h:16
SDTRolling_dsp
double SDTRolling_dsp(SDTRolling *x, double in)
Signal processing routine. Call this function at sample rate to compute the force acting on the rolli...
SDTRolling_setMass
void SDTRolling_setMass(SDTRolling *x, double f)
Sets the rolling mass. The mass parameter of the controlled object should be updated accordingly...
SDTBouncing_hasFinished
int SDTBouncing_hasFinished(SDTBouncing *x)
Checks if the bouncing process is finished, i.e. if the remaining energy is 0.
SDTRolling_setDepth
void SDTRolling_setDepth(SDTRolling *x, double f)
Sets the average bump depth. This parameter affects the energy of the micro-impacts.
SDTBouncing_new
SDTBouncing * SDTBouncing_new()
Object constructor.
SDTCrumpling
struct SDTCrumpling SDTCrumpling
Opaque data structure for the crumpling object.
Definition: SDTControl.h:110
SDTBreaking_new
SDTBreaking * SDTBreaking_new()
Object constructor.
SDTCrumpling_free
void SDTCrumpling_free(SDTCrumpling *x)
Object destructor.
SDTScraping_free
void SDTScraping_free(SDTScraping *x)
Object destructor.
SDTBreaking
struct SDTBreaking SDTBreaking
Opaque data structure for the breaking object.
Definition: SDTControl.h:60
SDTBreaking_setGranularity
void SDTBreaking_setGranularity(SDTBreaking *x, double f)
Sets the event density of the crumpling process.
SDTCrumpling_setFragmentation
void SDTCrumpling_setFragmentation(SDTCrumpling *x, double f)
Sets the amount of fragmentation of the object during the process.
SDTScraping
struct SDTScraping SDTScraping
Opaque data structure for the scraping object.
Definition: SDTControl.h:194
SDTCrumpling_setGranularity
void SDTCrumpling_setGranularity(SDTCrumpling *x, double f)
Sets the event density of the crumpling process.
SDTCrumpling_setCrushingEnergy
void SDTCrumpling_setCrushingEnergy(SDTCrumpling *x, double f)
Sets the crushing energy.
SDTScraping_setVelocity
void SDTScraping_setVelocity(SDTScraping *x, double f)
Sets the scraping velocity.
SDTBouncing_setIrregularity
void SDTBouncing_setIrregularity(SDTBouncing *x, double f)
Sets the irregularity of the shape of the object.
SDTRolling
struct SDTRolling SDTRolling
Opaque data structure for the rolling object.
Definition: SDTControl.h:147
SDTScraping_new
SDTScraping * SDTScraping_new()
Object constructor.
SDTBouncing_reset
void SDTBouncing_reset(SDTBouncing *x)
Resets the bouncing process, restoring its initial energy.
SDTScraping_setGrain
void SDTScraping_setGrain(SDTScraping *x, double f)
Sets the grain of the surface. This parameter affects the density of the micro-impacts: Lower values ...
SDTScraping_dsp
double SDTScraping_dsp(SDTScraping *x, double in)
Signal processing routine. Call this function at sample rate to compute the force acting on the scrap...
SDTRolling_new
SDTRolling * SDTRolling_new()
Object constructor.
SDTBreaking_setStoredEnergy
void SDTBreaking_setStoredEnergy(SDTBreaking *x, double f)
Sets the total energy stored in the object.
SDTBreaking_reset
void SDTBreaking_reset(SDTBreaking *x)
Resets the crumpling process, restoring its initial energy and triggering the first micro impact...
SDTRolling_setGrain
void SDTRolling_setGrain(SDTRolling *x, double f)
Sets the grain of the surface. This parameter affects the density of the micro-impacts: Lower values ...
SDTBreaking_setCrushingEnergy
void SDTBreaking_setCrushingEnergy(SDTBreaking *x, double f)
Sets the crushing energy.
SDTBreaking_free
void SDTBreaking_free(SDTBreaking *x)
Object destructor.
SDTBouncing_free
void SDTBouncing_free(SDTBouncing *x)
Object destructor.
SDTBouncing_setRestitution
void SDTBouncing_setRestitution(SDTBouncing *x, double f)
Sets the coefficient of restitution.
SDTRolling_setVelocity
void SDTRolling_setVelocity(SDTRolling *x, double f)
Sets the rolling velocity.