Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOli <olpc@localhost.localdomain>2007-03-05 08:14:38 (GMT)
committer Oli <olpc@localhost.localdomain>2007-03-05 08:14:38 (GMT)
commit6bd5a3bdfbb5b2e134e335e7aa7df59d52c82e45 (patch)
tree48ef17fbc8eb43e39c5e23780542f145d80c3680
parent7f308b9abead976f4ce7bc23ee85bb8c5558a8bb (diff)
algo stuff
-rw-r--r--Edit/MainWindow.py2
-rwxr-xr-xGeneration/GenerationConstants.py6
-rwxr-xr-xGeneration/GenerationParametersWindow.py36
-rw-r--r--Generation/GenerationRythm.py5
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: