diff options
author | Oli <olpc@localhost.localdomain> | 2007-02-18 04:13:34 (GMT) |
---|---|---|
committer | Oli <olpc@localhost.localdomain> | 2007-02-18 04:13:34 (GMT) |
commit | 6205108acf91e48f7ea9c193ffc4a537afb976e0 (patch) | |
tree | fc328b7030aff4ad374caf76da34a7e1d784178e | |
parent | 63bb3b8e079975b7d90a0e2f11c956cf789a5931 (diff) |
univorc mono
-rw-r--r-- | Resources/tooltips_en.py | 14 | ||||
-rw-r--r-- | Resources/univorc.csd | 56 | ||||
-rwxr-xr-x | SynthLab/SynthLabConstants.py | 4 | ||||
-rw-r--r-- | SynthLab/SynthLabParametersWindow.py | 13 |
4 files changed, 56 insertions, 31 deletions
diff --git a/Resources/tooltips_en.py b/Resources/tooltips_en.py index 2ad98ce..7fe49ab 100644 --- a/Resources/tooltips_en.py +++ b/Resources/tooltips_en.py @@ -50,14 +50,16 @@ class Tooltips: TRACKPADX = 'Trackpad X' MIN = MIN MAX = MAX - NOTUSED = 'Not used' - NOTUSED = NOTUSED + SCALING = 'Scaling' + SCALING_TYPES = ['Lin', 'Log'] + POLL = 'Poll time' TRACKPADY = 'Trackpad Y' MIN = MIN MAX = MAX - NOTUSED = 'Not used' - NOTUSED = NOTUSED + SCALING = SCALING + SCALING_TYPES = SCALING_TYPES + POLL = POLL #Source FM = 'FM' @@ -155,8 +157,8 @@ class Tooltips: SYNTHPARA = { 'lfo': [AMP, FREQ, WAVEFORM, OFFSET], 'rand': [MIN, MAX, FREQ, SEED], 'adsr': [ATTACK, DECAY, SUSTAIN, RELEASE], - 'trackpadX': [MIN, MAX, NOTUSED, NOTUSED], - 'trackpadY': [MIN, MAX, NOTUSED, NOTUSED], + 'trackpadX': [MIN, MAX, SCALING, POLL], + 'trackpadY': [MIN, MAX, SCALING, POLL], 'fm': [CAR, MOD, INDEX, GAIN], 'buzz': [FREQ, NHARM, FSLOPE, GAIN], 'vco': [FREQ, WAVEFORM, FSLOPE, GAIN], diff --git a/Resources/univorc.csd b/Resources/univorc.csd index 8f5932c..dd51966 100644 --- a/Resources/univorc.csd +++ b/Resources/univorc.csd @@ -4,13 +4,12 @@ </CsOptions> <CsInstruments> sr=16000 -ksmps=64 -nchnls=2 +ksmps=100 +nchnls=1 giScale = 1/sr gainrev init 0 gaoutL init 0 -gaoutR init 0 gasynth init 0 gkTrackpadX init 0 gkTrackpadY init 0 @@ -213,9 +212,33 @@ elseif iControlType == 2 then elseif iControlType == 3 then kControl adsr iPar1*idur+.0001, iPar2*idur, iPar3, iPar4*idur elseif iControlType == 4 then - kControl = ((gkTrackpadX+1)*.5)*(iPar2-iPar1)+iPar1 + if iPar3 == 0 then + kControl1 = ((gkTrackpadX+1)*.5)*(iPar2-iPar1)+iPar1 + elseif iPar3 == 1 then + kval = (gkTrackpadX+1)*.5 + kControl1 pow kval, 2 + kControl1 = kControl1 * (iPar2-iPar1) + iPar1 + endif + if iPar4 == 0 then + kControl = kControl1 + else + ktrig oscil 1, 1/iPar4, 45 + kControl samphold kControl1, ktrig, i(kControl1), 0 + endif elseif iControlType == 5 then - kControl = ((gkTrackpadY+1)*.5)*(iPar2-iPar1)+iPar1 + if iPar3 == 0 then + kControl1 = ((gkTrackpadY+1)*.5)*(iPar2-iPar1)+iPar1 + elseif iPar3 == 1 then + kval = (gkTrackpadY+1)*.5 + kControl1 pow kval, 2 + kControl1 = kControl1 * (iPar2-iPar1) + iPar1 + endif + if iPar4 == 0 then + kControl = kControl1 + else + ktrig oscil 1, 1/iPar4, 45 + kControl samphold kControl1, ktrig, i(kControl1), 0 + endif endif xout kControl @@ -408,11 +431,11 @@ instr 200 gktime timek kTrackpadX chnget "trackpadX" -gkTrackpadX = kTrackpadX / 2400. +gkTrackpadX = kTrackpadX / 600. gkTrackpadX limit gkTrackpadX, -1, 1 kTrackpadY chnget "trackpadY" -gkTrackpadY = kTrackpadY / 500. +gkTrackpadY = kTrackpadY / 450. gkTrackpadY limit -gkTrackpadY, -1, 1 koutGain chnget "masterVolume" @@ -425,11 +448,9 @@ arev reverb ain, 2.5 arev butterlp arev, 5000 aLeft butterlp gaoutL, 7500 -aRight butterlp gaoutR, 7500 - outs (arev + aLeft)*koutGain*gkduck, (arev + aRight) * koutGain*gkduck + out (arev + aLeft)*koutGain*gkduck gaoutL = 0 - gaoutR = 0 gainrev = 0 endin @@ -592,7 +613,7 @@ aout = aout*kenv vincr gasynth, aout - outs aout, aout + out aout zacl 0, 8 @@ -628,7 +649,7 @@ iampe0 init 0 iskip = 1 kpitch init p4 kamp init p6 -kpan init p7 +ipan init p7 krg init p5 nofadein: @@ -654,7 +675,6 @@ kenv linseg iampe0, idurfadein, iampe1, abs(p3)-idelta, iampe1, idurfadeou tigoto tieskip kpitch portk p4, igliss, p4 -kpan portk p7, igliss, p7 krg portk p5, igliss, p5 kcutoff portk p12, igliss, p12 kls portk p13, igliss, p13 @@ -674,8 +694,7 @@ endif a1 = a1*kenv -gaoutL = a1*(1-kpan)+gaoutL -gaoutR = a1*kpan+gaoutR +gaoutL = a1+gaoutL gainrev = a1*krg+gainrev @@ -718,8 +737,7 @@ klocalenv adsr p8, 0.05, .8, p10 a1 = a1*kenv*klocalenv -gaoutL = a1*(1-p7)+gaoutL -gaoutR = a1*p7+gaoutR +gaoutL = a1+gaoutL gainrev = a1*p5+gainrev @@ -757,8 +775,7 @@ kenv adsr p9, 0.05, .8, p10 a1 = a1*kenv -gaoutL = a1*(1-p7)+gaoutL -gaoutR = a1*p7+gaoutR +gaoutL = a1+gaoutL gainrev = a1*p5+gainrev @@ -776,6 +793,7 @@ f40 0 1024 10 1 0 .5 0 0 .3 0 0 .2 0 .1 0 0 0 0 .2 0 0 0 .05 0 0 0 0 .03 ; ADD f41 0 8193 19 .5 .5 270 .5 ; SIGMOID FUNCTION f42 0 8192 -20 2 1 f44 0 8192 5 1 8192 0.001 ; EXPONENTIAL FUNCTION +f45 0 512 7 0 500 0 2 1 10 1 f5150 0 32768 7 0 32768 0 i200 0 600000 </CsScore> diff --git a/SynthLab/SynthLabConstants.py b/SynthLab/SynthLabConstants.py index dfecb89..2a41682 100755 --- a/SynthLab/SynthLabConstants.py +++ b/SynthLab/SynthLabConstants.py @@ -42,8 +42,8 @@ class SynthLabConstants: TYPES = { 'lfo': [.5, 1, 0, 0, 0, 1, 0, 20, 0, 5, 0, 1, FLOAT, FLOAT, INTEGER], 'rand': [.5, 1.5, 2, 0, 0, 2, 0, 2, 0, 20, 0, 1, FLOAT, FLOAT, FLOAT], 'adsr': [.02, .05, .8, .1, 0, 1, 0, 1, 0, 1, 0, 1, FLOAT, FLOAT, FLOAT], - 'trackpadX': [0, 1, 0, 0, -1, 1, 0, 2, 0, 1, 0, 1, FLOAT, FLOAT, FLOAT], - 'trackpadY': [0, 1, 0, 0, -1, 1, 0, 2, 0, 1, 0, 1, FLOAT, FLOAT, FLOAT], + 'trackpadX': [0, 1, 0, 0, -1, 1, 0, 2, 0, 1, 0, 1, FLOAT, FLOAT, INTEGER], + 'trackpadY': [0, 1, 0, 0, -1, 1, 0, 2, 0, 1, 0, 1, FLOAT, FLOAT, INTEGER], 'fm': [1, .5, 5, 1, 0, 2, 0, 2, 0, 10, 0, 2, FLOAT, FLOAT, FLOAT], 'buzz': [1, 30, .85, 1, 0, 2, 0, 40, 0, 1, 0, 2, FLOAT, INTEGER, FLOAT], 'vco': [1, 1, .2, 1, 0, 2, 0, 2, 0, .5, 0, 2, FLOAT, INTEGER, FLOAT], diff --git a/SynthLab/SynthLabParametersWindow.py b/SynthLab/SynthLabParametersWindow.py index 79fd371..499ffcb 100644 --- a/SynthLab/SynthLabParametersWindow.py +++ b/SynthLab/SynthLabParametersWindow.py @@ -92,7 +92,7 @@ class SynthLabParametersWindow( gtk.Window ): self.slider1.connect("button-press-event", self.showParameter, 1) self.slider1.connect("button-release-event", self.hideParameter) self.slider1.set_inverted(True) - self.slider1.set_size_request(50, 150) + self.slider1.set_size_request(50, 200) self.sliderBox.pack_start(self.slider1, True, False) self.p2Adjust = gtk.Adjustment(slider2Init, slider2Min, slider2Max, slider2Step, slider2Step, 0) @@ -101,7 +101,7 @@ class SynthLabParametersWindow( gtk.Window ): self.slider2.connect("button-press-event", self.showParameter, 2) self.slider2.connect("button-release-event", self.hideParameter) self.slider2.set_inverted(True) - self.slider2.set_size_request(50, 150) + self.slider2.set_size_request(50, 200) self.sliderBox.pack_start(self.slider2, True, False) self.p3Adjust = gtk.Adjustment(slider3Init, slider3Min, slider3Max, slider3Step, slider3Step, 0) @@ -110,7 +110,7 @@ class SynthLabParametersWindow( gtk.Window ): self.slider3.connect("button-press-event", self.showParameter, 3) self.slider3.connect("button-release-event", self.hideParameter) self.slider3.set_inverted(True) - self.slider3.set_size_request(50, 150) + self.slider3.set_size_request(50, 200) self.sliderBox.pack_start(self.slider3, True, False) self.p4Adjust = gtk.Adjustment(slider4Init, slider4Min, slider4Max, .01, .01, 0) @@ -121,7 +121,7 @@ class SynthLabParametersWindow( gtk.Window ): self.slider4.set_digits(2) self.slider4.set_value_pos(2) self.slider4.set_inverted(True) - self.slider4.set_size_request(50, 150) + self.slider4.set_size_request(50, 200) self.sliderBox.pack_start(self.slider4, True, False) self.sendTables(self.p1Adjust, 1) @@ -225,6 +225,7 @@ class SynthLabParametersWindow( gtk.Window ): if widget.get_active(): self.choosenType = choosenType self.resize() + self.synthObjectsParameters.setType(self.instanceID, self.choosenType) typeText = Tooltips.SYNTHTYPES[self.objectType][self.choosenType] self.text.set_text(typeText) self.writeTables( self.synthObjectsParameters.types, self.synthObjectsParameters.controlsParameters, self.synthObjectsParameters.sourcesParameters, self.synthObjectsParameters.fxsParameters ) @@ -247,6 +248,10 @@ class SynthLabParametersWindow( gtk.Window ): if num == 3: if Tooltips.SYNTHTYPES[self.objectType][self.choosenType] == Tooltips.LFO: return Tooltips.LFO_WAVEFORMS[int(self.slider3Val)] + elif Tooltips.SYNTHTYPES[self.objectType][self.choosenType] == Tooltips.TRACKPADX: + return Tooltips.SCALING_TYPES[int(self.slider3Val)] + elif Tooltips.SYNTHTYPES[self.objectType][self.choosenType] == Tooltips.TRACKPADY: + return Tooltips.SCALING_TYPES[int(self.slider3Val)] elif Tooltips.SYNTHTYPES[self.objectType][self.choosenType] == Tooltips.FILTER: return Tooltips.FILTER_TYPES[int(self.slider3Val)] elif Tooltips.SYNTHTYPES[self.objectType][self.choosenType] == Tooltips.RINGMOD: |