Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOli <olpc@localhost.localdomain>2007-02-18 04:13:34 (GMT)
committer Oli <olpc@localhost.localdomain>2007-02-18 04:13:34 (GMT)
commit6205108acf91e48f7ea9c193ffc4a537afb976e0 (patch)
treefc328b7030aff4ad374caf76da34a7e1d784178e
parent63bb3b8e079975b7d90a0e2f11c956cf789a5931 (diff)
univorc mono
-rw-r--r--Resources/tooltips_en.py14
-rw-r--r--Resources/univorc.csd56
-rwxr-xr-xSynthLab/SynthLabConstants.py4
-rw-r--r--SynthLab/SynthLabParametersWindow.py13
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: