summaryrefslogtreecommitdiff
path: root/synth
AgeCommit message (Collapse)Author
2011-01-09envelope_update_frames can now be set via CLI and config fileFlorian Jung
2011-01-08Envelope::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
2011-01-08Changed always_reattack (controller 3) to legato-pedalFlorian Jung
When in monomode, not pressing the legato pedal will cause the note always being reattacked, while pressing it will cause it to be only reattacked if it's envelopes are done (i.e., past release phase) When in polymode, the legato pedal is ignored, notes will always be reattacked, because not doing so would cause interference between the two generated sounds.
2011-01-08Added support for hold- and sostenuto pedalsFlorian Jung
2011-01-07Improved note-compiler and added TODO-entriesFlorian Jung
2011-01-06Added a rudimentary CLI to the note compiler + bugfixFlorian Jung
2011-01-06The synthesizer can now load the compiled notesFlorian Jung
There are still issues: - filtertest.prog.so: output_note-message which is not true - huge size of the .so (48K are too much!)
2011-01-05Note-compiler is _mostly_ complete; plus some tiny bugfixesFlorian Jung
The note-compiler can read a program-definition and emits a cpp-file which implements that definition. This implementation is optimized. HOWEVER, the compiler still does not emit a set_param() function. this will lead to a linker error because the function is not implemented (but defined). After adding an empty implementation by hand the emitted compiles well, and also seems to work when used in the synth. TODO: - implement set_param() - compiler must emit a loader-function (which returns a new Note) - use that loader function in the synth
2011-01-01Replace class Parser with function parse()Florian Jung
2011-01-01Update and move todo-listFlorian Jung
2010-12-31Add initial code for the note-compilerFlorian Jung
The note-compiler now has a Parser class which knows about possible parameter changes (by controller, velocity or simply user definition). Furthermore, several files were adapted (by stripping unneeded code, adding the bool foo_const variables etc.). Small fix in util.c which causes extract_var("foo") to return "foo" instead of "". Fixes in both Makefiles.
2010-12-30Improved Makefile and .gitignoreFlorian Jung
2010-12-30Use NoteSkel wherever possibleFlorian Jung
Notes are still created from the built-in Note class, but theoretically, other classes could be used, too.
2010-12-30Note inherits from NoteSkel -- worksFlorian Jung
2010-12-30Note inherits from NoteSkel -- DOES NOT WORK!Florian Jung
The program compiles well, but as soon as a note is created, it exits, because a pure virtual method is called in NoteSkel's ctor (which is called before Note's ctor) which tries to call a function which is implemented in Note, but not in NoteSkel
2010-12-29Define an interface and a skeleton for class NoteFlorian Jung
2010-12-29Initial commitFlorian Jung