[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