diff options
-rw-r--r-- | GUI/SynthLab/SynthLabParametersWindow.py | 16 | ||||
-rwxr-xr-x | GUI/SynthLab/SynthLabWindow.py | 6 | ||||
-rw-r--r-- | Resources/SynthFiles/synthFile1 | bin | 12288 -> 12288 bytes | |||
-rw-r--r-- | Resources/univorc.csd | 3 | ||||
-rwxr-xr-x | SynthLab/SynthLabConstants.py | 6 | ||||
-rwxr-xr-x | SynthLab/SynthObjectsParameters.py | 13 |
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 Binary files differindex d896dcf..ea87ae9 100644 --- a/Resources/SynthFiles/synthFile1 +++ b/Resources/SynthFiles/synthFile1 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 |