Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--GUI/SynthLab/SynthLabParametersWindow.py16
-rwxr-xr-xGUI/SynthLab/SynthLabWindow.py6
-rw-r--r--Resources/SynthFiles/synthFile1bin12288 -> 12288 bytes
-rw-r--r--Resources/univorc.csd3
-rwxr-xr-xSynthLab/SynthLabConstants.py6
-rwxr-xr-xSynthLab/SynthObjectsParameters.py13
6 files changed, 32 insertions, 12 deletions
diff --git a/GUI/SynthLab/SynthLabParametersWindow.py b/GUI/SynthLab/SynthLabParametersWindow.py
index 4418949..d130e37 100644
--- a/GUI/SynthLab/SynthLabParametersWindow.py
+++ b/GUI/SynthLab/SynthLabParametersWindow.py
@@ -42,7 +42,10 @@ class SynthLabParametersWindow( gtk.Window ):
types = SynthLabConstants.CHOOSE_TYPE[self.objectType]
types2 = SynthLabConstants.CHOOSE_TYPE2[self.objectType]
- self.choosenType = self.synthObjectsParameters.types[self.instanceID]
+ if self.instanceID != 12:
+ self.choosenType = self.synthObjectsParameters.types[self.instanceID]
+ else:
+ self.choosenType = 0
self.initRadioButton( types, types2, self.typeCallback, self.typeBox, self.choosenType )
self.mainBox.pack_start(self.typeBox)
@@ -187,7 +190,8 @@ class SynthLabParametersWindow( gtk.Window ):
self.slider2Val = '%.2f' % self.p2Adjust.value
self.slider3Val = '%.2f' % self.p3Adjust.value
self.slider4Val = '%.2f' % self.p4Adjust.value
- self.synthObjectsParameters.setType(self.instanceID, self.choosenType)
+ if self.instanceID != 12:
+ self.synthObjectsParameters.setType(self.instanceID, self.choosenType)
sliderListValue = [ self.p1Adjust.value, self.p2Adjust.value, self.p3Adjust.value, self.p4Adjust.value ]
if self.objectType == 0:
for i in range(4):
@@ -198,9 +202,11 @@ class SynthLabParametersWindow( gtk.Window ):
elif self.objectType == 2:
for i in range(4):
self.synthObjectsParameters.setFxParameter((self.instanceID % 4)*4+i, sliderListValue[i])
-
- self.writeTables( self.synthObjectsParameters.types, self.synthObjectsParameters.controlsParameters,
- self.synthObjectsParameters.sourcesParameters, self.synthObjectsParameters.fxsParameters )
+ else:
+ for i in range(4):
+ self.synthObjectsParameters.setOutputParameter(i, sliderListValue[i])
+ if self.instanceID != 12:
+ self.writeTables( self.synthObjectsParameters.types, self.synthObjectsParameters.controlsParameters, self.synthObjectsParameters.sourcesParameters, self.synthObjectsParameters.fxsParameters )
self.tooltipsUpdate()
diff --git a/GUI/SynthLab/SynthLabWindow.py b/GUI/SynthLab/SynthLabWindow.py
index 348299d..595cb33 100755
--- a/GUI/SynthLab/SynthLabWindow.py
+++ b/GUI/SynthLab/SynthLabWindow.py
@@ -121,7 +121,7 @@ class SynthLabWindow( gtk.Window ):
self.add(self.mainBox)
self.writeTables( self.synthObjectsParameters.types, self.synthObjectsParameters.controlsParameters, self.synthObjectsParameters.sourcesParameters, self.synthObjectsParameters.fxsParameters )
- self.presetCallback(self.presets,0)
+# self.presetCallback(self.presets,0)
def onKeyPress(self,widget,event):
midiPitch = KEY_MAP[event.hardware_keycode]
@@ -157,7 +157,7 @@ class SynthLabWindow( gtk.Window ):
def playNote( self, midiPitch ):
cpsPitch = 261.626*pow(1.0594633, midiPitch-36)
- mess = "perf.InputMessage('i5203 0 " + str(self.duration) + " " + str(cpsPitch) + "')"
+ mess = "perf.InputMessage('i5203 0 " + str(self.duration) + " " + str(cpsPitch) + " " + " " .join([str(n) for n in self.synthObjectsParameters.getOutputParameters()]) + "')"
self.csnd.sendText( mess )
def handleClose( self, widget, data ):
@@ -514,6 +514,7 @@ class SynthLabWindow( gtk.Window ):
state['controls'] = self.synthObjectsParameters.controlsParameters
state['sources'] = self.synthObjectsParameters.sourcesParameters
state['fxs'] = self.synthObjectsParameters.fxsParameters
+ state['envelope'] = self.synthObjectsParameters.outputParameters
state['locations'] = self.locations
state['connections'] = self.connections
state['duration'] = self.duration
@@ -523,6 +524,7 @@ class SynthLabWindow( gtk.Window ):
self.synthObjectsParameters.controlsParameters = state['controls']
self.synthObjectsParameters.sourcesParameters = state['sources']
self.synthObjectsParameters.fxsParameters = state['fxs']
+ self.synthObjectsParameters.outputParameters = state['envelope']
self.locations = state['locations']
self.connections = state['connections']
self.duration = state['duration']
diff --git a/Resources/SynthFiles/synthFile1 b/Resources/SynthFiles/synthFile1
index d896dcf..ea87ae9 100644
--- a/Resources/SynthFiles/synthFile1
+++ b/Resources/SynthFiles/synthFile1
Binary files differ
diff --git a/Resources/univorc.csd b/Resources/univorc.csd
index 748f91a..dfe6c2b 100644
--- a/Resources/univorc.csd
+++ b/Resources/univorc.csd
@@ -510,6 +510,9 @@ iFxOut4 table 15, 5206
aout = (aSource1*iSourceOut1)+(aSource2*iSourceOut2)+(aSource3*iSourceOut3)+(aSource4*iSourceOut4)+(aFx1*iFxOut1)+(aFx2*iFxOut2)+(aFx3*iFxOut3)+(aFx4*iFxOut4)
+kenv adsr p5*p3, p6*p3, p7, p8*p3
+aout = aout*kenv
+
gasynth = aout
outs aout, aout
diff --git a/SynthLab/SynthLabConstants.py b/SynthLab/SynthLabConstants.py
index ae48d74..b95abdb 100755
--- a/SynthLab/SynthLabConstants.py
+++ b/SynthLab/SynthLabConstants.py
@@ -35,8 +35,10 @@ class SynthLabConstants:
FX_TYPES = ['wguide', 'distort','filter', 'ring', 'reverb', 'harmon']
FX_TYPES_SEL = ['wguidesel', 'distortsel','filtersel', 'ringsel', 'reverbsel', 'harmonsel']
FX_TYPES_PLUS = ['wguide+', 'distort+','filter+', 'ring+', 'reverb+', 'harmon+']
- CHOOSE_TYPE = [CONTROL_TYPES, SOURCE_TYPES, FX_TYPES]
- CHOOSE_TYPE2 = [CONTROL_TYPES_SEL, SOURCE_TYPES_SEL, FX_TYPES_SEL]
+ OUTPUT_TYPE = ['adsr']
+ OUTPUT_TYPE_SEL = ['adsrsel']
+ CHOOSE_TYPE = [CONTROL_TYPES, SOURCE_TYPES, FX_TYPES, OUTPUT_TYPE]
+ CHOOSE_TYPE2 = [CONTROL_TYPES_SEL, SOURCE_TYPES_SEL, FX_TYPES_SEL, OUTPUT_TYPE_SEL]
CHOOSE_TYPE_PLUS = [CONTROL_TYPES_PLUS, SOURCE_TYPES_PLUS, FX_TYPES_PLUS]
PRESET = ['docu1', 'docu2', 'docu3', 'docu4', 'docu5', 'docu6', 'docu7', 'docu8', 'docu9', 'docu10']
diff --git a/SynthLab/SynthObjectsParameters.py b/SynthLab/SynthObjectsParameters.py
index cfb64b6..e5efbcb 100755
--- a/SynthLab/SynthObjectsParameters.py
+++ b/SynthLab/SynthObjectsParameters.py
@@ -5,10 +5,11 @@ class SynthObjectsParameters:
self.controlsParameters = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
self.sourcesParameters = [1,.5,5,1,1,.5,5,1,1,.5,5,1,1,.5,5,1]
self.fxsParameters = [100,3000,.8,1,100,3000,.8,1,100,3000,.8,1,100,3000,.8,1]
- self.choiceParamsSet = [self.controlsParameters, self.sourcesParameters, self.fxsParameters]
+ self.outputParameters = [.01, .05, .9, .05]
+ self.choiceParamsSet = [self.controlsParameters, self.sourcesParameters, self.fxsParameters, self.outputParameters]
def update( self ):
- self.choiceParamsSet = [self.controlsParameters, self.sourcesParameters, self.fxsParameters]
+ self.choiceParamsSet = [self.controlsParameters, self.sourcesParameters, self.fxsParameters, self.outputParameters]
def getTypes( self ):
return self.types
@@ -22,6 +23,9 @@ class SynthObjectsParameters:
def getFxsParameters( self ):
return self.fxsParameters
+ def getOutputParameters( self ):
+ return self.outputParameters
+
def setType( self, pos, value ):
self.types[pos] = value
@@ -32,4 +36,7 @@ class SynthObjectsParameters:
self.sourcesParameters[pos] = value
def setFxParameter( self, pos, value ):
- self.fxsParameters[pos] = value
+ self.fxsParameters[pos] = value
+
+ def setOutputParameter( self, pos, value ):
+ self.outputParameters[pos] = value