envoi pan et velocity en fonction de la position du pointeur.
[minwii.git] / src / app / config.py
index 8251872..d8bdd6c 100755 (executable)
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
 """
 constantes de configuration
 
@@ -6,18 +7,80 @@ $URL$
 """
 
 import pygame
+import os.path
+
+_here = os.path.abspath(__file__).split(os.path.sep)[:-1]
+def _computePath(path) :
+    path = path.split('/')
+    path = _here + path
+    path = os.path.abspath(os.path.sep.join(path))
+    return path
+
+
 pygame.font.init()
 
+
 # playingscreen
-FRAMERATE = 50
-BORDER = 0 # 5px
+FRAMERATE = 100
 FIRST_HUE = 0.6
 OFF_LUMINANCE = 0.2
 OFF_SATURATION = 1
 ON_TOP_LUMINANCE = 0.6
 ON_BOTTOM_LUMINANCE = 0.9
 ON_SATURATION = 1
-ON_COLUMN_OVERSIZING = 1.75
+ON_COLUMN_OVERSIZING = 2
 ON_COLUMN_ALPHA = 1
-FONT = pygame.font.Font(None, 80)
+font_file = _computePath('fonts/Arial Unicode.ttf')
+NOTES_FONT = pygame.font.Font(font_file, 50)
+LYRICS_FONT = pygame.font.Font(None, 80)
 FONT_COLOR = (0,0,0)
+MIDI_VELOCITY_RANGE = (64, 127)
+MIDI_PAN_RANGE = (32, 96)
+
+SONG_FILE_PATH = _computePath('../../chansons')
+
+INSTRUMENTS = (
+    {'name'   : 'accordeon',
+     'bank'   : 0,
+     'preset' : 23
+    },
+    {'name' : 'celesta',
+     'bank'   : 0,
+     'preset' : 8,
+     'octave' : 1
+    },
+    {'name' : 'flute',
+     'bank'   : 0,
+     'preset' : 73
+    },
+    {'name' : 'guitare',
+     'bank'   : 0,
+     'preset' : 24,
+     'octave' : -1
+    },
+    {'name' : 'orgue',
+     'bank'   : 0,
+     'preset' : 19
+    },
+    {'name' : 'piano',
+     'bank'   : 0,
+     'preset' : 0
+    },
+    {'name' : 'tuba',
+     'bank'   : 0,
+     'preset' : 58,
+     'octave' : -2
+    },
+    {'name' : 'violon',
+     'bank'   : 0,
+     'preset' : 40
+    },
+    {'name' : 'violoncelle',
+     'bank'   : 0,
+     'preset' : 42,
+     'octave' : -2
+    },
+)
+
+for i in INSTRUMENTS :
+    i['octave'] = i.get('octave', 0)
\ No newline at end of file