# -*- coding: utf-8 -*-
"""
constantes de configuration

$Id$
$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 = 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 = 2
ON_COLUMN_ALPHA = 1
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)
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)
