summaryrefslogtreecommitdiff
path: root/synth/note.cpp
AgeCommit message (Collapse)Author
2013-05-19GPLizedFlorian Jung
2012-04-12use precalculated phase_increment instead of calculating it everyFlorian Jung
frame: brings up to 33% speed boost! bugfix: ksr now uses dest_freq instead of (current) freq
2012-04-11added FM-list (brings between 0% and 15% performance improvement)Florian Jung
cast-optimisation programs gets a better operator= commented out segfaulting cleanup()
2012-04-04reset filter-envelopes instead of reattackingFlorian Jung
2011-02-04factor[foo] now accepts semitones instead of a factorFlorian Jung
However, internally, factor still behaves as usual. Only all functions which can set/change .factor do the calculation from semitones to the real factor.
2011-01-16Added waveforms and noise, changed foo++ into ++fooFlorian Jung
List of waveforms: 0=sin 1=abssin 2=half_sin 3=pulse-sin 4=square 5=sawtooth 6=pyramid 7=white noise
2011-01-15Implemented freq-envelopes for non-compiled notesFlorian Jung
plus some tiny bugfixes: - in Envelope (get_sustain now returns orig_sustain) - parser now uses isnum instead of isfloat where appropriate
2011-01-10Implemented handler for soft-pedalFlorian Jung
Controller 67 aka soft-pedal now can reduce the note's volume by half TODO: - let the user set the percentage for the volume, either per controller (per channel) or per CLI (global)
2011-01-09Merged branch for compiled notesFlorian Jung
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
2011-01-09envelope_update_frames can now be set via CLI and config fileFlorian Jung
2011-01-09Envelope::get_level() gets called rarely nowFlorian Jung
Also, changed .gitignore to ignore gmon.out
2011-01-08Minor fixes and improvementsFlorian Jung
The following has been changed - Note::set_param now sets orig-values and does an apply_pfactor() - Note::reattack now also reattacks the filter's envelope - oscval[i]=0 has been removed as it's unneccessary in Note::get_sample() - in Note::get_sample: fm- and out-sums are calculated in 2SCALE now and scaled down (via >>SCALE) afterwards (instead of while every single add-operation) - the filter-envelope is now inited with the shorter constructor - todo-list updated
2010-12-29Initial commitFlorian Jung