diff options
author | Oli <olpc@localhost.localdomain> | 2007-03-05 08:14:38 (GMT) |
---|---|---|
committer | Oli <olpc@localhost.localdomain> | 2007-03-05 08:14:38 (GMT) |
commit | 6bd5a3bdfbb5b2e134e335e7aa7df59d52c82e45 (patch) | |
tree | 48ef17fbc8eb43e39c5e23780542f145d80c3680 | |
parent | 7f308b9abead976f4ce7bc23ee85bb8c5558a8bb (diff) |
algo stuff
-rw-r--r-- | Edit/MainWindow.py | 2 | ||||
-rwxr-xr-x | Generation/GenerationConstants.py | 6 | ||||
-rwxr-xr-x | Generation/GenerationParametersWindow.py | 36 | ||||
-rw-r--r-- | Generation/GenerationRythm.py | 5 |
4 files changed, 25 insertions, 24 deletions
diff --git a/Edit/MainWindow.py b/Edit/MainWindow.py index 4623439..3e25850 100644 --- a/Edit/MainWindow.py +++ b/Edit/MainWindow.py @@ -53,7 +53,7 @@ class MainWindow( SubActivity ): Config.INSTRUMENTS["kalimba"], Config.INSTRUMENTS["kalimba"], Config.INSTRUMENTS["kalimba"], - Config.INSTRUMENTS["drum1kit"] ] + Config.INSTRUMENTS["drum2kit"] ] if len(self.trackInstrument) != Config.NUMBER_OF_TRACKS: raise 'error' self.drumIndex = Config.NUMBER_OF_TRACKS - 1 diff --git a/Generation/GenerationConstants.py b/Generation/GenerationConstants.py index a014ba4..452428c 100755 --- a/Generation/GenerationConstants.py +++ b/Generation/GenerationConstants.py @@ -6,11 +6,11 @@ class GenerationConstants: #STANDALONE_BEAT_LENGTH = 12 # Default parameters for algorithmic generation - DEFAULT_DENSITY = 0.7 + DEFAULT_DENSITY = 0.4 DEFAULT_RYTHM_REGULARITY = .75 - DEFAULT_STEP = 0.2 + DEFAULT_STEP = 0.5 DEFAULT_PITCH_REGULARITY = 0.5 - DEFAULT_ARTICULE = 0.7 + DEFAULT_ARTICULE = 0.8 DEFAULT_SILENCE = 0.2 DEFAULT_RYTHM_METHOD = 0 diff --git a/Generation/GenerationParametersWindow.py b/Generation/GenerationParametersWindow.py index dea630f..6ccc6f4 100755 --- a/Generation/GenerationParametersWindow.py +++ b/Generation/GenerationParametersWindow.py @@ -56,9 +56,9 @@ class GenerationParametersWindow( gtk.VBox ): XYSliderBox1 = self.formatRoundBox( RoundFixed(), Config.PANEL_COLOR ) XYSliderBox1.set_size_request( 250, 250 ) XYButton1 = ImageToggleButton( Config.IMAGE_ROOT+"XYbut.png", Config.IMAGE_ROOT+"XYbutDown.png", backgroundFill=Config.PANEL_COLOR ) - self.XAdjustment1 = gtk.Adjustment( 100, 0, 200, 1, 1, 1 ) + self.XAdjustment1 = gtk.Adjustment( self.rythmDensity*100, 0, 100, 1, 1, 1 ) self.XAdjustment1.connect("value-changed", self.handleXAdjustment1) - self.YAdjustment1 = gtk.Adjustment( 100, 0, 200, 1, 1, 1 ) + self.YAdjustment1 = gtk.Adjustment( self.rythmRegularity*100, 0, 100, 1, 1, 1 ) self.YAdjustment1.connect("value-changed", self.handleYAdjustment1) xySlider1 = XYSlider( XYSliderBox1, XYButton1, self.XAdjustment1, self.YAdjustment1, False, True ) XYSlider1UpBox.pack_start( xySlider1, False, False ) @@ -86,9 +86,9 @@ class GenerationParametersWindow( gtk.VBox ): XYSliderBox2 = self.formatRoundBox( RoundFixed(), Config.PANEL_COLOR ) XYSliderBox2.set_size_request( 250, 250 ) XYButton2 = ImageToggleButton( Config.IMAGE_ROOT+"XYbut.png", Config.IMAGE_ROOT+"XYbutDown.png", backgroundFill=Config.PANEL_COLOR ) - self.XAdjustment2 = gtk.Adjustment( 100, 0, 200, 1, 1, 1 ) + self.XAdjustment2 = gtk.Adjustment( self.pitchRegularity*100, 0, 100, 1, 1, 1 ) self.XAdjustment2.connect("value-changed", self.handleXAdjustment2) - self.YAdjustment2 = gtk.Adjustment( 100, 0, 200, 1, 1, 1 ) + self.YAdjustment2 = gtk.Adjustment( self.pitchStep*100, 0, 100, 1, 1, 1 ) self.YAdjustment2.connect("value-changed", self.handleYAdjustment2) xySlider2 = XYSlider( XYSliderBox2, XYButton2, self.XAdjustment2, self.YAdjustment2, False, True ) XYSlider2UpBox.pack_start( xySlider2, False, False ) @@ -116,9 +116,9 @@ class GenerationParametersWindow( gtk.VBox ): XYSliderBox3 = self.formatRoundBox( RoundFixed(), Config.PANEL_COLOR ) XYSliderBox3.set_size_request( 250, 250 ) XYButton3 = ImageToggleButton( Config.IMAGE_ROOT+"XYbut.png", Config.IMAGE_ROOT+"XYbutDown.png", backgroundFill=Config.PANEL_COLOR ) - self.XAdjustment3 = gtk.Adjustment( 100, 0, 200, 1, 1, 1 ) + self.XAdjustment3 = gtk.Adjustment( self.duration*100, 0, 100, 1, 1, 1 ) self.XAdjustment3.connect("value-changed", self.handleXAdjustment3) - self.YAdjustment3 = gtk.Adjustment( 100, 0, 200, 1, 1, 1 ) + self.YAdjustment3 = gtk.Adjustment( self.silence*100, 0, 100, 1, 1, 1 ) self.YAdjustment3.connect("value-changed", self.handleYAdjustment3) xySlider3 = XYSlider( XYSliderBox3, XYButton3, self.XAdjustment3, self.YAdjustment3, False, True ) XYSlider3UpBox.pack_start( xySlider3, False, False ) @@ -310,27 +310,27 @@ class GenerationParametersWindow( gtk.VBox ): def handleXAdjustment1( self, data ): - self.rythmDensity = self.XAdjustment1.value / 200 + self.rythmDensity = self.XAdjustment1.value * .01 self.slider1Label.queue_draw() def handleYAdjustment1( self, data ): - self.rythmRegularity = self.YAdjustment1.value / 200 + self.rythmRegularity = self.YAdjustment1.value * .01 self.slider1Label.queue_draw() def handleXAdjustment2( self, data ): - self.pitchRegularity = self.XAdjustment2.value / 200 + self.pitchRegularity = self.XAdjustment2.value * .01 self.slider2Label.queue_draw() def handleYAdjustment2( self, data ): - self.pitchStep = self.YAdjustment2.value / 200 + self.pitchStep = self.YAdjustment2.value * .01 self.slider2Label.queue_draw() def handleXAdjustment3( self, data ): - self.duration = self.XAdjustment3.value / 200 + self.duration = self.XAdjustment3.value * .01 self.slider3Label.queue_draw() def handleYAdjustment3( self, data ): - self.silence = self.YAdjustment3.value / 200 + self.silence = self.YAdjustment3.value * .01 self.slider3Label.queue_draw() @@ -428,12 +428,12 @@ class GenerationParametersWindow( gtk.VBox ): self.pattern = state['pattern'] self.scale = state['scale'] - self.XAdjustment1.set_value(self.rythmDensity*200) - self.YAdjustment1.set_value(self.rythmRegularity*200) - self.XAdjustment2.set_value(self.pitchRegularity*200) - self.YAdjustment2.set_value(self.pitchStep*200) - self.XAdjustment3.set_value(self.duration*200) - self.YAdjustment3.set_value(self.silence*200) + self.XAdjustment1.set_value(self.rythmDensity*100) + self.YAdjustment1.set_value(self.rythmRegularity*100) + self.XAdjustment2.set_value(self.pitchRegularity*100) + self.YAdjustment2.set_value(self.pitchStep*100) + self.XAdjustment3.set_value(self.duration*100) + self.YAdjustment3.set_value(self.silence*100) def saveState( self, state ): pass diff --git a/Generation/GenerationRythm.py b/Generation/GenerationRythm.py index ea1bf24..5709977 100644 --- a/Generation/GenerationRythm.py +++ b/Generation/GenerationRythm.py @@ -1,6 +1,6 @@ import Utils import random - +from math import sqrt import Config from Generation.GenerationConstants import GenerationConstants @@ -89,6 +89,7 @@ class GenerationRythm: return rythmSequence def drumRythmSequence(self, parameters ): + density = sqrt(parameters.density) rythmSequence = [] binSelection = [] downBeats = [] @@ -140,7 +141,7 @@ class GenerationRythm: for downBeat in downBeats: upBeats.append( ( downBeat[ 0 ] + Config.TICKS_PER_BEAT / 4 , downBeat[ 1 ] ) ) - for i in range( int( parameters.density * registerDensity * len( downBeats ) ) ): + for i in range( int( density * registerDensity * len( downBeats ) ) ): if random.randint( 0, 100 ) < ( parameters.rythmRegularity * 100 * downBeatRecurence ) and binSelection.count( 1 ) < len( downBeats ): binSelection.append( 1 ) else: |