summaryrefslogtreecommitdiff
path: root/synth
AgeCommit message (Collapse)Author
2012-04-06improved inter-thread communication.Florian Jung
the in-synth-CLI still partially uses the non-synced communication. TODO!
2012-04-04reset filter-envelopes instead of reattackingFlorian Jung
2011-02-14Clean enabling/disabling of frameskip and watching per definesFlorian Jung
2011-02-12Sawtooth and pulse-waves have now variable phasesFlorian Jung
for sawtooth, the ratio rising:falling phase is adjustable for pulse, the ratio high:low is adjustable
2011-02-11Added a list of waveforms with nice ASCII-artFlorian Jung
2011-02-10Updated TODO and changed a default in defines.hFlorian Jung
2011-02-10Added help textFlorian Jung
2011-02-08Updated program files are now reloaded automaticallyFlorian 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-02-04Tiny bugfix in in-synth-cli, updated TODO and stuffFlorian Jung
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-16In-synth-cli can now change snh-freqFlorian Jung
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-14Fixed bug in in-synth-cli (reload)Florian Jung
Now the number is first parsed (via atoi) and THEN checked if in 0..127
2011-01-14Fixed stupid bug in Envelope.cppFlorian Jung
Changed a "if (has_release) hold=false" into if (!has_release)
2011-01-14Moved lfos and sample-and-hold in own source fileFlorian Jung
2011-01-12Extended in-synth-cliFlorian Jung
Many commands are now available, like changing program, controllers, panicking, killing single programs, setting pedals, setting voice limit etc... Also, added Channel::set_portamento_time_sec(float sec)
2011-01-12Fatal-warning gets disabled when entering in-synth-CLIFlorian Jung
2011-01-12Non-releasing Envelopes now workFlorian Jung
2011-01-11Fixed bug in Channel::cleanup() (some notes were skipped)Florian Jung
2011-01-11Envelope can now stay in sustain phase foreverFlorian Jung
2011-01-11Now keeping track of unused shared objects and maybe unloading themFlorian Jung
2011-01-11In-synth-cli can now (re)load programs. maybe SEGFAULTING?Florian Jung
2011-01-10Improved in-synth-cli, still TODOFlorian Jung
The CLI can now prepare loading a note without actually loading it
2011-01-10Implemented a yet very basic in-synth-interfaceFlorian Jung
The interface understands "quit" and "exit", and accepts but ignores "reload" and "load". It catches CTRL+C.
2011-01-10Added str_before and str_after functionsFlorian Jung
str_before ("foo:bar:baz",':',"doesntmatter") returns "foo" str_after ("foo:bar:baz",':',"doesntmatter") returns "bar:baz" str_after and str_before ("foobar",':',"default") returns "default" Also, extract_var and extract_val now use the newly created functions
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
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-01Replace class Parser with function parse()Florian Jung
2010-12-31Fix MakefileFlorian Jung
Makefile used CFLAGS instead of CXXFLAGS, which has been fixed.
2010-12-30Improved Makefile and .gitignoreFlorian Jung
2010-12-29Initial commitFlorian Jung