[SCM] calf/master: + Organ: added a bell waveform (very useful for 80's bell pads) + RotarySpeaker, Organ: source cleanup
js at users.alioth.debian.org
js at users.alioth.debian.org
Tue May 7 15:37:07 UTC 2013
The following commit has been merged in the master branch:
commit ee93120d2d0dde9216b5a569a378c1abc09f5387
Author: kfoltman <kfoltman at 78b06b96-2940-0410-b7fc-879d825d01d8>
Date: Mon Apr 7 21:53:38 2008 +0000
+ Organ: added a bell waveform (very useful for 80's bell pads)
+ RotarySpeaker, Organ: source cleanup
git-svn-id: https://calf.svn.sourceforge.net/svnroot/calf/trunk@148 78b06b96-2940-0410-b7fc-879d825d01d8
diff --git a/src/calf/organ.h b/src/calf/organ.h
index 90ee843..492ebd1 100644
--- a/src/calf/organ.h
+++ b/src/calf/organ.h
@@ -72,7 +72,7 @@ struct organ_parameters {
class organ_voice_base
{
public:
- enum { wave_sine, wave_sinepl1, wave_sinepl2, wave_sinepl3, wave_ssaw, wave_ssqr, wave_spls, wave_saw, wave_sqr, wave_pulse, wave_sinepl05, wave_sqr05, wave_halfsin, wave_clvg, wave_count };
+ enum { wave_sine, wave_sinepl1, wave_sinepl2, wave_sinepl3, wave_ssaw, wave_ssqr, wave_spls, wave_saw, wave_sqr, wave_pulse, wave_sinepl05, wave_sqr05, wave_halfsin, wave_clvg, wave_bell, wave_count };
protected:
static waveform_family<ORGAN_WAVE_BITS> waves[wave_count];
// dsp::sine_table<float, ORGAN_WAVE_SIZE, 1> sine_wave;
diff --git a/src/modules.cpp b/src/modules.cpp
index 5e6907c..ee6893a 100644
--- a/src/modules.cpp
+++ b/src/modules.cpp
@@ -158,6 +158,14 @@ ALL_WRAPPERS(vintage_delay)
////////////////////////////////////////////////////////////////////////////
+const char *rotary_speaker_audio_module::port_names[] = {"In L", "In R", "Out L", "Out R"};
+
+const char *rotary_speaker_speed_names[] = { "Off", "Chorale", "Tremolo", "HoldPedal", "ModWheel" };
+
+parameter_properties rotary_speaker_audio_module::param_props[] = {
+ { 2, 0, 4, 1.01, PF_ENUM | PF_CTL_COMBO, rotary_speaker_speed_names, "vib_speed", "Speed Mode" },
+};
+
static synth::ladspa_info rotary_speaker_info = { 0x8483, "RotarySpeaker", "Calf Rotary Speaker", "Krzysztof Foltman", copyright, "SimulationPlugin" };
ALL_WRAPPERS(rotary_speaker)
diff --git a/src/organ.cpp b/src/organ.cpp
index 260a5df..b7a5232 100644
--- a/src/organ.cpp
+++ b/src/organ.cpp
@@ -246,7 +246,7 @@ const char *organ_audio_module::port_names[] = {"Out L", "Out R"};
const char *organ_percussion_harmonic_names[] = { "2nd", "3rd" };
-const char *organ_wave_names[] = { "Sin", "S0", "S00", "S000", "SSaw", "SSqr", "SPls", "Saw", "Sqr", "Pls", "S(", "Sq(", "S+", "Clvg" };
+const char *organ_wave_names[] = { "Sin", "S0", "S00", "S000", "SSaw", "SSqr", "SPls", "Saw", "Sqr", "Pls", "S(", "Sq(", "S+", "Clvg", "Bell" };
const char *organ_routing_names[] = { "Out", "Flt 1", "Flt 2" };
@@ -360,14 +360,6 @@ parameter_properties organ_audio_module::param_props[] = {
////////////////////////////////////////////////////////////////////////////
-const char *rotary_speaker_audio_module::port_names[] = {"In L", "In R", "Out L", "Out R"};
-
-const char *rotary_speaker_speed_names[] = { "Off", "Chorale", "Tremolo", "HoldPedal", "ModWheel" };
-
-parameter_properties rotary_speaker_audio_module::param_props[] = {
- { 2, 0, 4, 1.01, PF_ENUM | PF_CTL_COMBO, rotary_speaker_speed_names, "vib_speed", "Speed Mode" },
-};
-
waveform_family<ORGAN_WAVE_BITS> organ_voice_base::waves[organ_voice_base::wave_count];
@@ -444,5 +436,12 @@ organ_voice_base::organ_voice_base(organ_parameters *_parameters)
for (int i = 0; i < ORGAN_WAVE_SIZE; i++)
tmp[i] = sin(i * 3 * M_PI / ORGAN_WAVE_SIZE);
waves[wave_clvg].make(bl, tmp);
+ for (int i = 0; i < ORGAN_WAVE_SIZE; i++)
+ {
+ float ph = i * 2 * M_PI / ORGAN_WAVE_SIZE;
+ float fm = 0.3 * sin(6*ph) + 0.3 * sin(11*ph) + 0.3 * cos(17*ph) - 0.3 * cos(19*ph);
+ tmp[i] = sin(5*ph + fm) + cos(7*ph - fm);
+ }
+ waves[wave_bell].make(bl, tmp);
}
}
--
calf audio plugins packaging
More information about the pkg-multimedia-commits
mailing list