From a0705d8ff9b25c1172e38925ec27bb28f9e5a1e9 Mon Sep 17 00:00:00 2001 From: Aleksey Lim Date: Mon, 28 Feb 2011 16:13:13 +0000 Subject: Revert "fixing simlimking build error" This reverts commit 0c8e687ce284d7599b9bfb7c578b0fc7fb32c493. Since common/ directory will be copied to .xo in setup.py anyway. --- (limited to 'common/Config.py') diff --git a/common/Config.py b/common/Config.py new file mode 100644 index 0000000..9a2757b --- /dev/null +++ b/common/Config.py @@ -0,0 +1,302 @@ +# -*- coding: utf-8 -*- +import os, sys, time +from sugar.activity.activity import get_bundle_path, get_activity_root +from sugar import env +import logging + +#QUICKLOAD = os.path.isfile("QUICKLOAD") # skip loading inessential comenents to speed things up + +FEATURES_OGG = None +FEATURES_MIC = None +FEATURES_LAB = None +FEATURES_NEWSOUNDS = None +FEATURES_GRAB_MOUSE = None + +if os.path.isfile("DEBUG"): + f = open("DEBUG") + l = f.read(10) + f.close() + if len(l): DEBUG = int( l ) + else: DEBUG = 99 +else: + DEBUG = int(os.getenv("TAMTAM_DEBUG", "0")) + +logging.debug("Debug Level %d" % (DEBUG)) + +#PATHS + +TAM_TAM_ROOT = get_bundle_path() +INSTANCE_DIR = os.path.join(get_activity_root(), 'instance') +TMP_DIR = os.path.join(get_activity_root(), 'tmp') + +logging.debug('INFO: loaded TAMTAM_ROOT=%s' % TAM_TAM_ROOT) + +DATA_DIR = os.path.join(get_activity_root(), 'data') +SNDS_INFO_DIR = os.path.join(get_activity_root(), 'data', 'snds_info') +FILES_DIR = os.path.join(TAM_TAM_ROOT, "common", "Resources") +SOUNDS_DIR = os.path.join(FILES_DIR, "Sounds", "") +IMAGE_ROOT = os.path.join(FILES_DIR, "Images", "") + +for i in (INSTANCE_DIR, DATA_DIR, SNDS_INFO_DIR, TMP_DIR): + if not os.path.isdir(i): os.makedirs(i) + +#PLUGIN +PLUGIN_DEBUG = os.getenv("CSOUND_LOGFILE", "") +PLUGIN_VERBOSE = DEBUG +PLUGIN_UNIVORC = os.path.join(FILES_DIR, "tamtamorc.csd") +PLUGIN_KSMPS = 64 +PLUGIN_RATE = 16000 + +## PLUGIN ALSA PARAMETERS: +PLUGIN_PERIOD = 256 #512 +PLUGIN_NPERIODS = 2 + +############## +## SOUNDS +############## + +ARECORD = "arecord " + os.getenv("TAMTAM_ARECORD", + "-f S16_LE -t wav -r 16000 -c2 -D hw:0,0") + +LOW, MID, HIGH, PUNCH = range( 4 ) + +INSTRUMENT_TABLE_OFFSET = 5000 +INST_FREE = 5000 +INST_TIED = 5001 +INST_SIMP = 5011 +INST_PERC = 5021 + +CATEGORIES = ['all','animals','concret','keyboard','people','percussions','strings','winds'] + +if FEATURES_MIC or FEATURES_LAB: + CATEGORIES.append('mysounds') + +#CSOUND COMMANDS +CSOUND_LOAD_INSTRUMENT = 'f%d 0 0 -1 "%s" 0 0 0' +CSOUND_MIC_RECORD = 'i5201 0 5 %d' +CSOUND_UNLOAD_TABLES = 'i%d 0 0.1 %d' % (INST_FREE, 150) # removed magic number +CSOUND_NOTE_OFF = 'i %s.%s .2 0.01 1. 0. 0. 0.5 %d 0 0 0 0' %('%d','%d',INSTRUMENT_TABLE_OFFSET) +CSOUND_LOAD_LS_INSTRUMENT = 'f4999 0 0 -1 \"%s\" 0 0 0' +CSOUND_PLAY_LS_NOTE = 'i %i 0 -1' +CSOUND_STOP_LS_NOTE = 'i 5022 0 0.5' +CSOUND_RECORD_PERF = 'i5400 0 -1 "%s"' +CSOUND_STOP_RECORD_PERF = 'i5401 4 1 "%s"' + + +################# +## GUI CONSTANTS +################# + +LANGUAGE = 'En' +MAIN_WINDOW_PADDING = 5 + +BG_COLOR = '#404040' +FG_COLOR = '#818286' + +NOTE_HEIGHT = 9 # pixels +NOTE_IMAGE_PADDING = 6 +NOTE_IMAGE_PADDING_MUL2 = NOTE_IMAGE_PADDING*2 +NOTE_IMAGE_TAIL = 1059 +NOTE_IMAGE_ENDLENGTH = 12 +HIT_HEIGHT = 13 # pixels +HIT_IMAGE_PADDING = 6 +HIT_IMAGE_PADDING_MUL2 = HIT_IMAGE_PADDING*2 +TRACK_SPACING = 4 +TRACK_SPACING_DIV2 = TRACK_SPACING//2 +TRACK_COLORS = [ ( "#00290B", "#00E847" ), \ + ( "#3F0200", "#E72500" ), \ + ( "#002642", "#0090EA" ), \ + ( "#313D00", "#F9EF00" ), \ + ( "#17083B", "#4A00ED" ) ] +#TRACK_COLORS = [ ( "#00591B", "#00E847" ), \ +# ( "#6F1200", "#E72500" ), \ +# ( "#004682", "#0090EA" ), \ +# ( "#716D00", "#F9EF00" ), \ +# ( "#37187B", "#4A00ED" ) ] +BEAT_COLOR = "#999999" +BEAT_LINE_SIZE = 2 +PLAYHEAD_COLOR = "#666666" +PLAYHEAD_SIZE = 2 +PLAYHEAD_SIZE_DIV2 = PLAYHEAD_SIZE/2.0 +MARQUEE_COLOR = "#FFFFFF" +MARQUEE_SIZE = 2 + +PAGE_BORDER_SIZE = 2 +PAGE_SELECTED_BORDER_SIZE = 5 +PAGE_WIDTH = 100 +PAGE_HEIGHT = 25 + +PAGE_THUMBNAIL_WIDTH = 92 +PAGE_THUMBNAIL_WIDTH_DIV2 = PAGE_THUMBNAIL_WIDTH/2 +PAGE_THUMBNAIL_HEIGHT = 65 + +THUMBNAIL_TRACK_RECT = [ ( 2, 4, 83, 10 ), \ + ( 2, 14, 83, 10 ), \ + ( 2, 24, 83, 10 ), \ + ( 2, 34, 83, 10 ), \ + ( 2, 44, 83, 13 ) ] +THUMBNAIL_DRAG_COLOR = "#000000" +THUMBNAIL_TRACK_COLOR = "#FF0000" +THUMBNAIL_SELECTED_COLOR = "#2266FF" +THUMBNAIL_DISPLAYED_COLOR = "#CC1133" + +TOOLBAR_BCK_COLOR = '#404040' +WHITE_COLOR = '#FFFFFF' +### miniTamTam/SYNTHLAB SPECIFIC ### +INST_BCK_COLOR = '#999999' +PANEL_BCK_COLOR = '#CCCCCC' +PANEL_COLOR = '#CCCCCC' +SL_LINE_COLOR = "#666666" +SL_HIGHLIGHT_COLOR = "#FFFFFF" +SL_OVER_WIRE_COLOR = "#FFFFFF" +SL_OVER_GATE_COLOR = "#00FF18" +SL_OVER_GATE_REJECT_COLOR = "#B30000" +PANEL_RADIUS = 10 +PANEL_SPACING = 2 + +###Instrument Panel### +CATEGORY_BCK_COLOR = '#222222' +INSTRUMENT_GRID_COLOR = '#CCCCCC' + +###Welcome Screen Specific### +WS_PANEL_COLOR = '#404040' +WS_BCK_COLOR = '#CCCCCC' + +# hardware keycodes for mod keys +MOD_LSHIFT = 50 +MOD_RSHIFT = 62 +MOD_LCTRL = 37 +MOD_RCTRL = 109 +MOD_LALT = 64 +MOD_RALT = 113 + + + +######## +## Things that don't belong! +####### +class _ModKeys: + def __init__( self ): + self.shiftDown = False + self.ctrlDown = False + self.altDown = False + + def keyPress( self, code ): + if code == MOD_LSHIFT or code == MOD_RSHIFT: self.shiftDown = True + elif code == MOD_LCTRL or code == MOD_RCTRL: self.ctrlDown = True + elif code == MOD_LALT or code == MOD_RALT: self.altDown = True + + def keyRelease( self, code ): + if code == MOD_LSHIFT or code == MOD_RSHIFT: self.shiftDown = False + elif code == MOD_LCTRL or code == MOD_RCTRL: self.ctrlDown = False + elif code == MOD_LALT or code == MOD_RALT: self.altDown = False + +ModKeys = _ModKeys() + + +############ +## EDIT DEFAULTS +############ + +#DEFAULTS +PLAYER_TEMPO = 100 +PLAYER_TEMPO_LOWER = 30 +PLAYER_TEMPO_UPPER = 160 +DEFAULT_VOLUME = 50 + +#NUMERICAL CONSTANTS +NUMBER_OF_POSSIBLE_PITCHES = 25 +MINIMUM_PITCH = 24 +MAXIMUM_PITCH = MINIMUM_PITCH + NUMBER_OF_POSSIBLE_PITCHES - 1 +NUMBER_OF_POSSIBLE_PITCHES_DRUM = 13 +PITCH_STEP_DRUM = 2 +MINIMUM_PITCH_DRUM = 24 +MAXIMUM_PITCH_DRUM = MINIMUM_PITCH_DRUM + PITCH_STEP_DRUM*(NUMBER_OF_POSSIBLE_PITCHES_DRUM - 1) +MINIMUM_NOTE_DURATION = 1 # ticks +MS_PER_MINUTE = 60000.0 +TICKS_PER_BEAT = 12 +TICKS_PER_BEAT_DIV2 = TICKS_PER_BEAT/2 +MAXIMUM_BEATS = 12 # maximum beats per page +NUMBER_OF_TRACKS = 5 +NUMBER_OF_PAGES = 2 + +MINIMUM_AMPLITUDE = 0 +MAXIMUM_AMPLITUDE = 1 + +DEFAULT_GRID = 3 +DEFAULT_GRID_DIV2 = DEFAULT_GRID / 2.0 + + +#################### +## ToolTips +#################### +from Tooltips import Tooltips + + +#################### +## KeyMapping +#################### + +LOOP_KEYS = [17, 18, 19, 20, 21, 32, 33, 34, 35, 45, 46, 47, 48, 51, 60, 61] +# Key = Hardware Keycode Value = Note + +KEY_MAP_PIANO = {24:36, #Q + 25:38, #W + 26:40, #E + 27:41, #R + 28:43, #T + 29:45, #Y + 30:47, #U + 31:48, #I + + 11:37, #2 + 12:39, #3 + 14:42, #5 + 15:44, #6 + 16:46, #7 + + 39:25, #S + 40:27, #D + 42:30, #G + 43:32, #H + 44:34, #J + 46:37, #L + + 52:24, #Z + 53:26, #X + 54:28, #C + 55:29, #V + 56:31, #B + 57:33, #N + 58:35, #M + 59:36} #, + +KEY_MAP_NOTPIANO = {24:24, #Q + 25:25, #W + 26:26, #E + 27:27, #R + 28:28, #T + 29:29, #Y + 30:30, #U + 31:31, #I + 32:32, #O + 33:33, #P + + 38:34, #A + 39:35, #S + 40:36, #D + 41:37, #F + 42:38, #G + 43:39, #H + 44:40, #J + 45:41, #K + 46:42, #L + + 52:43, #Z + 53:44, #X + 54:45, #C + 55:46, #V + 56:47, #B + 57:48} #N + +KEY_MAP = KEY_MAP_PIANO -- cgit v0.9.1