envoi des événements NOTEON et NOTEOFF du synthé.
[minwii.git] / src / app / config.py
index 119f141..1c2b9bd 100755 (executable)
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
 """
 constantes de configuration
 
@@ -6,10 +7,21 @@ $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
+FRAMERATE = 100
 BORDER = 0 # 5px
 FIRST_HUE = 0.6
 OFF_LUMINANCE = 0.2
@@ -19,5 +31,56 @@ ON_BOTTOM_LUMINANCE = 0.9
 ON_SATURATION = 1
 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)
+DEFAULT_MIDI_VELOCITY = 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