implémentation de tous les modes.
[minwii.git] / src / app / config.py
index 827c5a4..f98238b 100755 (executable)
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
 """
 constantes de configuration
 
@@ -6,11 +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
-BORDER = 0 # 5px
+FRAMERATE = 100
 FIRST_HUE = 0.6
 OFF_LUMINANCE = 0.2
 OFF_SATURATION = 1
@@ -19,6 +30,58 @@ 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
\ No newline at end of file
+MIDI_VELOCITY_RANGE = (64, 127)
+MIDI_PAN_RANGE = (32, 96)
+MIDI_VELOCITY_WRONG_NOTE_ATTN = 0.5
+
+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