diff options
| author | Florian Jung <flo@thinkpad.(none)> | 2011-01-09 19:09:05 +0100 | 
|---|---|---|
| committer | Florian Jung <flo@thinkpad.(none)> | 2011-01-09 19:09:05 +0100 | 
| commit | df97e0ebb7f6591c50f3a588cb2a74901d38ac4a (patch) | |
| tree | aa68ab5a73388d57636a4e5c9058b9dcc0f21e90 /note_compiler/templates/get_sample.1 | |
| parent | aa1c06213e695be1dcb5980b638d8ce81efb4f51 (diff) | |
Merged branch for compiled notes
The synthesizer is now able to load and use compiled, optimized shared
objects of programs. There's also a note-compiler which creates the code
for such objects.
TODO:
  - let the note-compiler automatically compile OR rename it to
    code-emitter
Diffstat (limited to 'note_compiler/templates/get_sample.1')
| -rw-r--r-- | note_compiler/templates/get_sample.1 | 23 | 
1 files changed, 23 insertions, 0 deletions
diff --git a/note_compiler/templates/get_sample.1 b/note_compiler/templates/get_sample.1 new file mode 100644 index 0000000..3d73052 --- /dev/null +++ b/note_compiler/templates/get_sample.1 @@ -0,0 +1,23 @@ +fixed_t Note::get_sample() +{ +	if (freq!=dest_freq) +	{ +		// the div.by.zero if p_frames=0 is avoided because then the  +		// if-condition below is always true +		if (portamento_t>=portamento_frames) +			freq=dest_freq; +		else //will only happen if p_t < p_frames -> p_frames is always > 0 -> div. ok +			freq = old_freq + (dest_freq-old_freq)*portamento_t/portamento_frames; +		 +		do_ksl(); +		 +		portamento_t++; +	} + +	fixed_t actual_freq=freq*pitchbend >>SCALE; + +	fixed_t *temp; +	temp=old_oscval;   //swap the current and old oscval-pointers +	old_oscval=oscval; +	oscval=temp; +  | 
