changeset 102:e04f7b552bcd

- scroll wheel works everywhere - scroll wheel works everywhere - interface is white on black - subs that start scenes are white - more status information, startup process kinda cleaned up
author dmcc
date Sun, 14 Jul 2002 08:01:24 +0000
parents a995fd1a8f03
children ddd3c8f04640
files light8/Config.py light8/ExtSliderMapper.py light8/Fader.py light8/Lightboard.py light8/Xfader.py light8/panels.py light8/rsn.py light8/stage.py light8/uihelpers.py
diffstat 9 files changed, 127 insertions(+), 84 deletions(-) [+]
line wrap: on
line diff
--- a/light8/Config.py	Sun Jul 14 02:44:27 2002 +0000
+++ b/light8/Config.py	Sun Jul 14 08:01:24 2002 +0000
@@ -89,17 +89,17 @@
 
 subs[('house', 'black')]={ 'house': 100, }
 
-subs['*1-01-0']={ 'b22': 100, 'b24': 100, 'b25': 100, 'b34': 100, 'cycleft': 41, 'cycright': 41, 'desk2': 78, 'edge': 80, 'hotbox1': 43, 'hotbox2': 91, 'main 10': 100, 'main 11': 100, 'main 2': 100, 'main 3': 100, 'main 4': 100, 'main 5': 100, 'main 7': 100, 'main 8': 100, 'main 9': 100, 'marry1': 100, 'marry2': 100, 'side l': 100, 'side r': 100, 'sidefill1': 100, 'sidefill2': 100, 'upfill1': 56, 'upfill2': 91, 'upfill3': 60, 'upfill4': 68, }
+subs[('*1-01-0', 'white')]={ 'b22': 100, 'b24': 100, 'b25': 100, 'b34': 100, 'cycleft': 41, 'cycright': 41, 'desk2': 78, 'edge': 80, 'hotbox1': 43, 'hotbox2': 91, 'main 10': 100, 'main 11': 100, 'main 2': 100, 'main 3': 100, 'main 4': 100, 'main 5': 100, 'main 7': 100, 'main 8': 100, 'main 9': 100, 'marry1': 100, 'marry2': 100, 'side l': 100, 'side r': 100, 'sidefill1': 100, 'sidefill2': 100, 'upfill1': 56, 'upfill2': 91, 'upfill3': 60, 'upfill4': 68, }
 
 subs['*1-01-9 end conversations']={ 'b22': 63, 'b23': 12, 'b24': 42, 'b25': 63, 'b34': 63, 'cuba1': 63, 'cuba2': 42, 'cycleft': 25, 'cycright': 25, 'desk2': 12, 'edge': 13, 'hotbox1': 37, 'hotbox2': 63, 'main 10': 63, 'main 11': 63, 'main 2': 63, 'main 3': 26, 'main 4': 63, 'main 5': 100, 'main 7': 63, 'main 8': 63, 'main 9': 63, 'marry1': 100, 'marry2': 63, 'side l': 63, 'side r': 63, 'sidefill1': 26, 'sidefill2': 63, 'upfill1': 29, 'upfill2': 63, 'upfill3': 43, 'upfill4': 29, }
 
-subs['*1-02-0']={ 'b22': 100, 'b23': 100, 'b24': 100, 'b32': 14, 'cuba2': 38, 'cycright': 63, 'desk1': 53, 'desk2': 65, 'hotbox1': 25, 'hotbox2': 100, 'main 10': 100, 'main 11': 100, 'main 4': 100, 'main 5': 70, 'main 7': 100, 'main 8': 100, 'main 9': 100, 'marry1': 61, 'marry2': 47, 'rock': 23, 'sidefill2': 51, 'upfill2': 6, 'upfill3': 55, }
+subs[('*1-02-0', 'white')]={ 'b22': 100, 'b23': 100, 'b24': 100, 'b32': 14, 'cuba2': 38, 'cycright': 63, 'desk1': 53, 'desk2': 65, 'hotbox1': 25, 'hotbox2': 100, 'main 10': 100, 'main 11': 100, 'main 4': 100, 'main 5': 70, 'main 7': 100, 'main 8': 100, 'main 9': 100, 'marry1': 61, 'marry2': 47, 'rock': 23, 'sidefill2': 51, 'upfill2': 6, 'upfill3': 55, }
 
 subs['*1-02-1 desk solo']={ 'b22': 100, 'b23': 100, 'b24': 22, 'cycright': 37, 'desk1': 53, 'desk2': 89, 'hotbox1': 25, 'hotbox2': 7, 'main 10': 22, 'main 11': 22, 'main 3': 9, 'main 4': 22, 'main 7': 100, 'main 8': 22, 'main 9': 22, 'marry1': 61, 'marry2': 22, 'rock': 14, }
 
-subs['*1-03-0']={ 'phone': 100, 'upfill2':50, 'upfill3':50, }
+subs[('*1-03-0', 'white')]={ 'phone': 100, 'upfill2':50, 'upfill3':50, }
 
-subs['*1-04-00-dance']={ 'b32': 43, 'b34': 30, 'cycleft': 19, 'cycright': 19, 'desk2': 24, 'hotback': 100, 'hotbox1': 42, 'hotbox2': 78, 'main 10': 100, 'main 11': 46, 'main 2': 46, 'main 3': 46, 'main 4': 46, 'main 5': 100, 'main 7': 100, 'main 8': 46, 'main 9': 46, 'red1': 100, 'red2': 100, 'red3': 100, 'red4': 100, 'upfill1': 26, 'upfill2': 46, 'upfill3': 32, 'upfill4': 26, }
+subs[('*1-04-00-dance', 'white')]={ 'b32': 43, 'b34': 30, 'cycleft': 19, 'cycright': 19, 'desk2': 24, 'hotback': 100, 'hotbox1': 42, 'hotbox2': 78, 'main 10': 100, 'main 11': 46, 'main 2': 46, 'main 3': 46, 'main 4': 46, 'main 5': 100, 'main 7': 100, 'main 8': 46, 'main 9': 46, 'red1': 100, 'red2': 100, 'red3': 100, 'red4': 100, 'upfill1': 26, 'upfill2': 46, 'upfill3': 32, 'upfill4': 26, }
 
 subs['*1-04-01 dark tables']={ 'b23': 67, 'b24': 67, 'b32': 2, 'b34': 12, 'blue1': 33, 'blue2': 33, 'blue3': 33, 'blue4': 33, 'cycleft': 19, 'cycright': 19, 'desk2': 24, 'edge': 9, 'hotback': 100, 'hotbox1': 46, 'hotbox2': 45, 'main 10': 100, 'main 11': 46, 'main 2': 46, 'main 3': 13, 'main 4': 100, 'main 7': 100, 'main 8': 29, 'main 9': 100, 'red1': 100, 'red2': 100, 'red3': 100, 'red4': 100, 'upfill1': 26, 'upfill4': 26, }
 
@@ -111,13 +111,13 @@
 
 subs['*1-04-30-small table']={ 'b22': 100, 'desk1': 50, 'desk2': 34, 'red1': 100, 'upfill1': 62, 'upfill4': 62, }
 
-subs['*1-05-0']={ 'b13': 100, 'b22': 100, 'b23': 100, 'b24': 100, 'b25': 100, 'b34': 13, 'cycleft': 18, 'cycright': 36, 'desk1': 19, 'desk2': 31, 'edge': 37, 'hotbox2': 17, 'main 10': 100, 'main 11': 89, 'main 2': 100, 'main 3': 85, 'main 4': 100, 'main 5': 100, 'main 7': 100, 'main 8': 100, 'main 9': 100, 'side l': 100, 'side r': 82, 'sidefill1': 100, 'sidefill2': 100, 'upfill2': 37, 'upfill3': 37, }
+subs[('*1-05-0', 'white')]={ 'b13': 100, 'b22': 100, 'b23': 100, 'b24': 100, 'b25': 100, 'b34': 13, 'cycleft': 18, 'cycright': 36, 'desk1': 19, 'desk2': 31, 'edge': 37, 'hotbox2': 17, 'main 10': 100, 'main 11': 89, 'main 2': 100, 'main 3': 85, 'main 4': 100, 'main 5': 100, 'main 7': 100, 'main 8': 100, 'main 9': 100, 'side l': 100, 'side r': 82, 'sidefill1': 100, 'sidefill2': 100, 'upfill2': 37, 'upfill3': 37, }
 
-subs['*1-06-0']={ 'b22': 49, 'b23': 100, 'b24': 100, 'b25': 100, 'b32': 80, 'b34': 100, 'cycright': 53, 'desk2': 78, 'hotbox2': 100, 'main 10': 100, 'main 11': 100, 'main 2': 100, 'main 5': 100, 'main 7': 100, 'main 8': 100, 'main 9': 100, 'marry2': 100, 'rock': 60, 'side l': 100, 'side r': 100, 'sidefill1': 59, 'sidefill2': 100, }
+subs[('*1-06-0', 'white')]={ 'b22': 49, 'b23': 100, 'b24': 100, 'b25': 100, 'b32': 80, 'b34': 100, 'cycright': 53, 'desk2': 78, 'hotbox2': 100, 'main 10': 100, 'main 11': 100, 'main 2': 100, 'main 5': 100, 'main 7': 100, 'main 8': 100, 'main 9': 100, 'marry2': 100, 'rock': 60, 'side l': 100, 'side r': 100, 'sidefill1': 59, 'sidefill2': 100, }
 
-subs['*1-07-0']={ 'b22': 82, 'b23': 100, 'b24': 100, 'b25': 64, 'b34': 28, 'blue1': 93, 'blue2': 93, 'blue3': 93, 'blue4': 93, 'edge': 12, 'hotbox2': 11, 'main 10': 37, 'main 11': 37, 'main 2': 37, 'main 3': 25, 'main 4': 37, 'main 5': 37, 'main 7': 37, 'main 8': 37, 'main 9': 37, 'marry1': 37, 'side l': 49, 'side r': 36, 'sidefill1': 37, 'sidefill2': 37, 'upfill2': 18, 'upfill3': 6, }
+subs[('*1-07-0', 'white')]={ 'b22': 82, 'b23': 100, 'b24': 100, 'b25': 64, 'b34': 28, 'blue1': 93, 'blue2': 93, 'blue3': 93, 'blue4': 93, 'edge': 12, 'hotbox2': 11, 'main 10': 37, 'main 11': 37, 'main 2': 37, 'main 3': 25, 'main 4': 37, 'main 5': 37, 'main 7': 37, 'main 8': 37, 'main 9': 37, 'marry1': 37, 'side l': 49, 'side r': 36, 'sidefill1': 37, 'sidefill2': 37, 'upfill2': 18, 'upfill3': 6, }
 
-subs['*1-08-00-left cafe']={ 'b22': 40, 'cafe1': 71, 'edge': 41, }
+subs[('*1-08-00-left cafe', 'white')]={ 'b22': 40, 'cafe1': 71, 'edge': 41, }
 
 subs['*1-08-10-right cafe']={ 'b32': 10, 'b34': 31, 'cafe2': 100, 'cuba1': 53, 'cuba2': 76, }
 
@@ -129,11 +129,11 @@
 
 subs['*1-08-30-full']={ 'b22': 100, 'b23': 100, 'b24': 100, 'b25': 100, 'b32': 23, 'b34': 24, 'blue1': 15, 'blue2': 15, 'blue3': 15, 'blue4': 15, 'cafe1': 100, 'cafe2': 50, 'cycleft': 15, 'cycright': 15, 'desk2': 30, 'edge': 31, 'gree1': 15, 'gree2': 15, 'gree3': 15, 'gree4': 15, 'hotbox1': 38, 'hotbox2': 38, 'main 10': 38, 'main 11': 38, 'main 2': 38, 'main 3': 38, 'main 4': 38, 'main 5': 38, 'main 7': 38, 'main 8': 38, 'main 9': 38, 'marry1': 38, 'marry2': 38, 'oran1': 82, 'oran2': 82, 'oran3': 82, 'oran4': 82, 'phone': 31, 'red1': 77, 'red2': 77, 'red3': 77, 'red4': 95, 'side l': 38, 'side r': 38, 'sidefill1': 38, 'sidefill2': 38, 'upfill1': 100, 'upfill2': 100, 'upfill3': 100, 'upfill4': 100, }
 
-subs['*1-09-0']={ 'b22': 32, 'b23': 21, 'b24': 21, 'b25': 62, 'b34': 9, 'blue1': 92, 'blue2': 92, 'blue3': 92, 'blue4': 92, 'cafe1': 37, 'cafe2': 37, 'desk2': 16, 'gree1': 53, 'gree2': 53, 'gree3': 53, 'gree4': 53, 'main 10': 43, 'main 11': 37, 'main 2': 61, 'main 5': 64, 'main 8': 47, 'main 9': 38, 'marry2': 9, 'oran1': 31, 'oran2': 31, 'oran3': 31, 'oran4': 31, 'red1': 100, 'red2': 100, 'red3': 100, 'red4': 100, 'upfill1': 30, 'upfill2': 43, 'upfill3': 43, 'upfill4': 30, }
+subs[('*1-09-0', 'white')]={ 'b22': 32, 'b23': 21, 'b24': 21, 'b25': 62, 'b34': 9, 'blue1': 92, 'blue2': 92, 'blue3': 92, 'blue4': 92, 'cafe1': 37, 'cafe2': 37, 'desk2': 16, 'gree1': 53, 'gree2': 53, 'gree3': 53, 'gree4': 53, 'main 10': 43, 'main 11': 37, 'main 2': 61, 'main 5': 64, 'main 8': 47, 'main 9': 38, 'marry2': 9, 'oran1': 31, 'oran2': 31, 'oran3': 31, 'oran4': 31, 'red1': 100, 'red2': 100, 'red3': 100, 'red4': 100, 'upfill1': 30, 'upfill2': 43, 'upfill3': 43, 'upfill4': 30, }
 
-subs['*1-10-0']={ 'b13': 15, 'b22': 44, 'b23': 20, 'b24': 34, 'b25': 34, 'b32': 27, 'b34': 34, 'blue1': 84, 'blue2': 54, 'cuba1': 5, 'desk1': 17, 'desk2': 11, 'hotbox2': 34, 'main 10': 34, 'main 11': 34, 'main 2': 34, 'main 3': 25, 'main 4': 25, 'main 5': 34, 'main 7': 34, 'main 8': 34, 'main 9': 34, 'rock': 3, 'side l': 23, 'side r': 14, 'sidefill1': 6, 'sidefill2': 23, }
+subs[('*1-10-0', 'white')]={ 'b13': 15, 'b22': 44, 'b23': 20, 'b24': 34, 'b25': 34, 'b32': 27, 'b34': 34, 'blue1': 84, 'blue2': 54, 'cuba1': 5, 'desk1': 17, 'desk2': 11, 'hotbox2': 34, 'main 10': 34, 'main 11': 34, 'main 2': 34, 'main 3': 25, 'main 4': 25, 'main 5': 34, 'main 7': 34, 'main 8': 34, 'main 9': 34, 'rock': 3, 'side l': 23, 'side r': 14, 'sidefill1': 6, 'sidefill2': 23, }
 
-subs['*2-01-0-dance']={ 'b32': 43, 'b34': 30, 'cycleft': 19, 'cycright': 19, 'desk2': 24, 'hotback': 100, 'hotbox1': 42, 'hotbox2': 78, 'main 10': 100, 'main 11': 46, 'main 2': 46, 'main 3': 46, 'main 4': 46, 'main 5': 100, 'main 7': 100, 'main 8': 46, 'main 9': 46, 'red1': 100, 'red2': 100, 'red3': 100, 'red4': 100, 'upfill1': 26, 'upfill2': 46, 'upfill3': 32, 'upfill4': 26, }
+subs[('*2-01-0-dance', 'white')]={ 'b32': 43, 'b34': 30, 'cycleft': 19, 'cycright': 19, 'desk2': 24, 'hotback': 100, 'hotbox1': 42, 'hotbox2': 78, 'main 10': 100, 'main 11': 46, 'main 2': 46, 'main 3': 46, 'main 4': 46, 'main 5': 100, 'main 7': 100, 'main 8': 46, 'main 9': 46, 'red1': 100, 'red2': 100, 'red3': 100, 'red4': 100, 'upfill1': 26, 'upfill2': 46, 'upfill3': 32, 'upfill4': 26, }
 
 subs['*2-01-01-solo']={ 'b23': 100, 'b24': 100, 'b32': 43, 'cycleft': 55, 'cycright': 55, 'desk2': 24, 'hotback': 100, 'hotbox1': 42, 'hotbox2': 78, 'main 7': 100, 'red1': 100, 'red2': 100, 'red3': 100, 'red4': 100, 'upfill1': 67, 'upfill2': 1, 'upfill4': 67, }
 
@@ -145,11 +145,11 @@
 
 subs['*2-01-3-small table']={ 'b22': 56, 'b25': 5, 'desk1': 47, 'desk2': 58, 'main 3': 18, 'main 9': 11, 'red1': 100, 'upfill1': 62, 'upfill4': 62, }
 
-subs['*2-02-0']={ 'b23': 76, 'b24': 52, 'main 10': 53, 'main 2': 53, 'main 4': 24, 'main 5': 18, 'main 7': 42, 'main 8': 36, 'main 9': 60, 'marry2': 38, 'side r': 34, }
+subs[('*2-02-0', 'white')]={ 'b23': 76, 'b24': 52, 'main 10': 53, 'main 2': 53, 'main 4': 24, 'main 5': 18, 'main 7': 42, 'main 8': 36, 'main 9': 60, 'marry2': 38, 'side r': 34, }
 
 subs['*2-02-1-works']={'upfill2':50,'upfill3':50,'cycright':50}
 
-subs['*2-03-00-open dance']={ 'b22': 11, 'blue1': 70, 'blue2': 70, 'blue3': 70, 'blue4': 92, 'cuba1': 20, 'gree1': 75, 'gree2': 75, 'gree3': 75, 'gree4': 75, 'hotback': 40, 'main 10': 40, 'main 11': 28, 'main 2': 60, 'main 4': 45, 'main 5': 20, 'main 8': 26, 'main 9': 42, 'red1': 75, 'red2': 75, 'red3': 75, 'red4': 97, 'side l': 31, 'side r': 31, 'upfill1': 27, 'upfill2': 31, 'upfill3': 26, 'upfill4': 17, }
+subs[('*2-03-00-open dance', 'white')]={ 'b22': 11, 'blue1': 70, 'blue2': 70, 'blue3': 70, 'blue4': 92, 'cuba1': 20, 'gree1': 75, 'gree2': 75, 'gree3': 75, 'gree4': 75, 'hotback': 40, 'main 10': 40, 'main 11': 28, 'main 2': 60, 'main 4': 45, 'main 5': 20, 'main 8': 26, 'main 9': 42, 'red1': 75, 'red2': 75, 'red3': 75, 'red4': 97, 'side l': 31, 'side r': 31, 'upfill1': 27, 'upfill2': 31, 'upfill3': 26, 'upfill4': 17, }
 
 subs['*2-03-10-dialogue']={ 'b13': 60, 'b22': 62, 'b23': 64, 'b24': 19, 'b25': 16, 'blue1': 70, 'blue2': 70, 'blue3': 70, 'blue4': 92, 'cuba1': 59, 'gree1': 75, 'gree2': 75, 'gree3': 75, 'gree4': 75, 'hotback': 40, 'main 10': 48, 'main 11': 40, 'main 2': 54, 'main 4': 45, 'main 5': 20, 'main 8': 22, 'main 9': 73, 'red1': 75, 'red2': 75, 'red3': 75, 'red4': 97, 'side l': 31, 'side r': 31, 'sidefill1': 20, 'sidefill2': 20, 'upfill1': 27, 'upfill2': 31, 'upfill3': 26, 'upfill4': 17, }
 
@@ -161,21 +161,21 @@
 
 subs['*2-03-20-luck-r']={ 'b25': 100, }
 
-subs['*2-04-0']={ 'b13': 39, 'b22': 50, 'b23': 67, 'b24': 67, 'b25': 71, 'b32': 57, 'b34': 34, 'blue1': 63, 'blue2': 63, 'blue3': 63, 'blue4': 63, 'cycright': 18, 'desk1': 24, 'desk2': 26, 'hotbox2': 59, 'main 10': 5, 'main 11': 5, 'main 2': 5, 'main 3': 45, 'main 5': 56, 'main 7': 5, 'main 8': 5, 'main 9': 5, 'marry2': 50, 'rock': 20, 'side r': 34, 'upfill1': 70, 'upfill4': 70, }
+subs[('*2-04-0', 'white')]={ 'b13': 39, 'b22': 50, 'b23': 67, 'b24': 67, 'b25': 71, 'b32': 57, 'b34': 34, 'blue1': 63, 'blue2': 63, 'blue3': 63, 'blue4': 63, 'cycright': 18, 'desk1': 24, 'desk2': 26, 'hotbox2': 59, 'main 10': 5, 'main 11': 5, 'main 2': 5, 'main 3': 45, 'main 5': 56, 'main 7': 5, 'main 8': 5, 'main 9': 5, 'marry2': 50, 'rock': 20, 'side r': 34, 'upfill1': 70, 'upfill4': 70, }
 
-subs['*2-05-0']={ 'b22': 100, 'b23': 100, 'b24': 100, 'b32': 14, 'cuba2': 9, 'desk1': 53, 'desk2': 65, 'hotbox1': 25, 'hotbox2': 100, 'main 10': 100, 'main 11': 100, 'main 4': 100, 'main 5': 70, 'main 7': 100, 'main 8': 100, 'main 9': 100, 'marry1': 61, 'marry2': 47, 'rock': 23, 'sidefill2': 25, 'upfill2': 6, 'upfill3': 34, }
+subs[('*2-05-0', 'white')]={ 'b22': 100, 'b23': 100, 'b24': 100, 'b32': 14, 'cuba2': 9, 'desk1': 53, 'desk2': 65, 'hotbox1': 25, 'hotbox2': 100, 'main 10': 100, 'main 11': 100, 'main 4': 100, 'main 5': 70, 'main 7': 100, 'main 8': 100, 'main 9': 100, 'marry1': 61, 'marry2': 47, 'rock': 23, 'sidefill2': 25, 'upfill2': 6, 'upfill3': 34, }
 
 subs['*2-05-1-dream']={ 'desk2': 42, 'dream': 100, 'main 11': 7, 'upfill2': 16, }
 
 subs['*2-05-2-boat']={ 'b22': 100, 'b23': 100, 'b24': 100, 'b32': 52, 'cuba2': 65, 'cycright': 55, 'desk1': 44, 'desk2': 84, 'hotbox1': 21, 'hotbox2': 95, 'main 10': 84, 'main 11': 84, 'main 3': 72, 'main 4': 100, 'main 5': 83, 'main 7': 100, 'main 8': 100, 'main 9': 100, 'marry1': 75, 'marry2': 100, 'rock': 43, 'sidefill2': 43, 'upfill2': 55, 'upfill3': 31, }
 
-subs['*2-06-0']={ 'b22': 14, 'b23': 100, 'b24': 100, 'b32': 23, 'b34': 30, 'cycright': 100, 'desk2': 23, 'hotbox1': 49, 'hotbox2': 43, 'main 10': 55, 'main 11': 55, 'main 2': 30, 'main 7': 30, 'main 9': 30, 'marry1': 69, 'marry2': 34, 'rock': 17, 'side r': 30, 'upfill1': 48, 'upfill4': 48, }
+subs[('*2-06-0', 'white')]={ 'b22': 14, 'b23': 100, 'b24': 100, 'b32': 23, 'b34': 30, 'cycright': 100, 'desk2': 23, 'hotbox1': 49, 'hotbox2': 43, 'main 10': 55, 'main 11': 55, 'main 2': 30, 'main 7': 30, 'main 9': 30, 'marry1': 69, 'marry2': 34, 'rock': 17, 'side r': 30, 'upfill1': 48, 'upfill4': 48, }
 
 subs['*2-06-1-patio right']={ 'patio2': 100, }
 
 subs['*2-06-2 patio left']={ 'patio1': 100, }
 
-subs['*2-07-0']={ 'b22': 100, 'b23': 100, 'b24': 100, 'b25': 100, 'b34': 100, 'cycleft': 41, 'cycright': 41, 'desk2': 78, 'edge': 63, 'hotbox1': 14, 'hotbox2': 5, 'main 10': 100, 'main 11': 100, 'main 2': 100, 'main 3': 83, 'main 4': 100, 'main 5': 100, 'main 7': 100, 'main 8': 100, 'main 9': 100, 'marry1': 100, 'marry2': 100, 'phone': 62, 'side l': 100, 'side r': 100, 'sidefill1': 83, 'sidefill2': 100, 'upfill1': 56, 'upfill2': 100, 'upfill3': 69, 'upfill4': 56, }
+subs[('*2-07-0', 'white')]={ 'b22': 100, 'b23': 100, 'b24': 100, 'b25': 100, 'b34': 100, 'cycleft': 41, 'cycright': 41, 'desk2': 78, 'edge': 63, 'hotbox1': 14, 'hotbox2': 5, 'main 10': 100, 'main 11': 100, 'main 2': 100, 'main 3': 83, 'main 4': 100, 'main 5': 100, 'main 7': 100, 'main 8': 100, 'main 9': 100, 'marry1': 100, 'marry2': 100, 'phone': 62, 'side l': 100, 'side r': 100, 'sidefill1': 83, 'sidefill2': 100, 'upfill1': 56, 'upfill2': 100, 'upfill3': 69, 'upfill4': 56, }
 
 subs['*curtain']={ 'b22': 73, 'b24': 73, 'b25': 73, 'b34': 73, 'desk2': 57, 'edge': 58, 'hotbox2': 73, 'main 10': 73, 'main 11': 73, 'main 2': 73, 'main 3': 73, 'main 4': 73, 'main 5': 73, 'main 7': 73, 'main 8': 73, 'main 9': 73, 'marry1': 73, 'marry2': 73, 'phone': 58, 'side l': 73, 'side r': 73, 'sidefill1': 23, 'sidefill2': 23, 'upfill1': 9, 'upfill2': 68, 'upfill3': 18, 'upfill4': 9, }
 
--- a/light8/ExtSliderMapper.py	Sun Jul 14 02:44:27 2002 +0000
+++ b/light8/ExtSliderMapper.py	Sun Jul 14 08:01:24 2002 +0000
@@ -10,7 +10,7 @@
 Callbacks do this, and we typically don't care about what they have to say. """
 
 from Tix import *
-from uihelpers import FancyDoubleVar
+from uihelpers import FancyDoubleVar, get_selection
 
 stdfont = ('Arial', 8)
 
@@ -33,6 +33,7 @@
         self.statuslabel = None # tells us sync status
         self.lastbgcolor = None # last background color drawn to avoid 
                                 # unnecessary redraws
+        self.subnames = [] # we need to keep track of this for idiotic reasons
     def sync(self, *args):
         self.synced.set(1)
         self.color_bg()
@@ -74,6 +75,17 @@
         self.check_synced()
         self.color_bg()
     def set_subname(self, newname):
+        try:
+            self.listbox.listbox.select_clear(0, END)
+        except IndexError:
+            pass
+        try:
+            newindex = self.subnames.index(newname)
+            self.listbox.listbox.select_set(newindex)
+            self.listbox.listbox.see(newindex)
+        except ValueError:
+            pass
+
         self.subname.set(newname)
         self.unsync()
         self.color_bg()
@@ -132,24 +144,29 @@
     def get_level_pair(self):
         'Returns suitable output for ExtSliderMapper.get_levels()'
         return (self.subname.get(), self.extlevel.get())
+    def listbox_cb(self, *args):
+        self.subname.set(self.subnames[get_selection(self.listbox.listbox)-0])
     def draw_interface(self, master, subnames):
         'Draw interface into master, given a list of submaster names'
-        frame = Frame(master)
-        c = ComboBox(frame, variable=self.subname, dropdown=0)
-        c.slistbox.listbox.insert(END, "disconnected")
-        # c.listbox.insert(END, "disconnected")
+        self.subnames = subnames
+        frame = Frame(master, bg='black')
+        self.listbox = ScrolledListBox(frame, scrollbar='y', bg='black')
+        self.listbox.listbox.bind("<<ListboxSelect>>", self.listbox_cb, add=1)
+        self.listbox.listbox.configure(font=stdfont, exportselection=0, 
+            selectmode=BROWSE, bg='black', fg='white')
+        self.listbox.vsb.configure(troughcolor='black')
+        # self.listbox.listbox.insert(END, "disconnected")
         for s in subnames:
-            c.slistbox.listbox.insert(END, s)
-            # c.listbox.insert(END, s)
-        c.entry.configure(width=12, font=stdfont)
-        c.slistbox.listbox.configure(font=stdfont, exportselection=0)
-        statframe = Frame(frame)
+            self.listbox.listbox.insert(END, s)
+        statframe = Frame(frame, bg='black')
 
-        self.statuslabel = Label(statframe, text="No sync", width=15, font=stdfont)
+        self.statuslabel = Label(statframe, text="No sync", width=15, 
+            font=stdfont)
         self.statuslabel.grid(columnspan=2, sticky=W)
         ilabel = Label(statframe, text="Input", fg='blue', font=stdfont)
         ilabel.grid(row=1, sticky=W)
-        extlabel = Label(statframe, textvariable=self.extlevel, width=5, font=stdfont)
+        extlabel = Label(statframe, textvariable=self.extlevel, width=5, 
+            font=stdfont)
         extlabel.grid(row=1, column=1)
         rlabel = Label(statframe, text="Real", font=stdfont)
         rlabel.grid(row=2, sticky=W)
@@ -159,17 +176,17 @@
             command=self.disconnect, padx=0, pady=0, font=stdfont)
         disc_button.grid(row=3, columnspan=2)
         statframe.pack(side=BOTTOM, expand=1, fill=BOTH)
-        c.pack(expand=1, fill=BOTH)
+        self.listbox.pack(expand=1, fill=BOTH)
         frame.pack(side=LEFT, expand=1, fill=BOTH)
 
-        self.widgets = [frame, c, statframe, self.statuslabel, ilabel, extlabel,
-                        rlabel, self.sublabel, disc_button]
+        self.widgets = [frame, self.listbox, statframe, self.statuslabel, 
+                        ilabel, extlabel, rlabel, self.sublabel, disc_button]
 
 class ExtSliderMapper(Frame):
     def __init__(self, parent, sliderlevels, sliderinput, filename='slidermapping',
                  numsliders=4):
         'Slider levels is scalelevels, sliderinput is an ExternalInput object'
-        Frame.__init__(self, parent)
+        Frame.__init__(self, parent, bg='black')
         self.parent = parent
         self.sliderlevels = sliderlevels
         self.sliderinput = sliderinput
@@ -213,6 +230,7 @@
             try:
                 v = self.sliderlevels[slidermap.get_mapping()]
                 slidermap.set_sublevel_var(v)
+                # print "ESM: Yes submaster named", slidermap.get_mapping()
             except KeyError:
                 name = slidermap.get_mapping()
                 if name != 'disconnected':
@@ -233,24 +251,33 @@
             if m.issynced()])
     def draw_interface(self):
         self.reallevellabels = []
-        subchoiceframe = Frame(self)
+        subchoiceframe = Frame(self, bg='black')
         for m in self.current_mappings:
             m.draw_interface(subchoiceframe, self.subnames)
         subchoiceframe.pack()
         
-        presetframe = Frame(self)
-        Label(presetframe, text="Preset:").pack(side=LEFT)
+        presetframe = Frame(self, bg='black')
+        Label(presetframe, text="Preset:", font=('Arial', 10), bg='black', 
+            fg='white').pack(side=LEFT)
         self.presetcombo = ComboBox(presetframe, variable=self.current_preset, 
-                                    editable=1, command=self.apply_preset)
+                                    editable=1, command=self.apply_preset,
+                                    dropdown=1)
+        self.presetcombo.slistbox.configure(bg='black')
+        self.presetcombo.slistbox.listbox.configure(bg='black', fg='white')
+        self.presetcombo.entry.configure(bg='black', fg='white')
         self.draw_presets()
         self.presetcombo.pack(side=LEFT)
-        Button(presetframe, text="Add", padx=0, pady=0, 
+        Button(presetframe, text="Add", padx=0, pady=0, bg='black', 
+                fg='white', font=stdfont, 
                 command=self.add_preset).pack(side=LEFT)
-        Button(presetframe, text="Delete", padx=0, pady=0, 
+        Button(presetframe, text="Delete", padx=0, pady=0, bg='black', 
+                fg='white', font=stdfont,
                 command=self.delete_preset).pack(side=LEFT)
-        Button(presetframe, text="Disconnect", padx=0, pady=0, 
+        Button(presetframe, text="Disconnect", padx=0, pady=0, bg='black', 
+                fg='white', font=stdfont,
                 command=self.disconnect_all).pack(side=LEFT)
-        Button(presetframe, text="Reload", padx=0, pady=0, 
+        Button(presetframe, text="Reload", padx=0, pady=0, bg='black', 
+                fg='white', font=stdfont,
                 command=self.load_presets).pack(side=LEFT)
         presetframe.pack(side=BOTTOM)
     def apply_preset(self, preset):
--- a/light8/Fader.py	Sun Jul 14 02:44:27 2002 +0000
+++ b/light8/Fader.py	Sun Jul 14 08:01:24 2002 +0000
@@ -2,6 +2,7 @@
 from time import time # time is on my side
 from util import subsetdict
 from FlyingFader import FlyingFader
+from uihelpers import get_selection
 
 # statuses are:
 # stopped - no cue is loaded or cue is stopped
@@ -10,11 +11,6 @@
 
 stdfont = ('Arial', 10)
 
-def get_selection(listbox):
-    'Given a listbox, returns first selection as integer'
-    selection = int(listbox.curselection()[0]) # blech
-    return selection
-
 class Fader(Frame):
     'User interface for cue fader'
     def __init__(self, master, cues, scalelevels):
--- a/light8/Lightboard.py	Sun Jul 14 02:44:27 2002 +0000
+++ b/light8/Lightboard.py	Sun Jul 14 08:01:24 2002 +0000
@@ -38,13 +38,16 @@
         self.get_data()
         self.buildinterface()
         self.load()
+        print "Light 8.8: Enterring backgroundloop"
         self.backgroundloop()
         self.updatestagelevels()
         
     def buildinterface(self):
+        print "Light 8.8: Constructing interface..."
         for w in self.master.winfo_children():
             w.destroy()
 
+        print "\tstage"
         stage_tl = toplevelat('stage')
         s = stage.Stage(stage_tl)
         stage.createlights(s)
@@ -56,16 +59,19 @@
         scene_tl = toplevelat('scenes')
         effect_tl = toplevelat('effect')
 
+        print "\tslider patching"
         mapping_tl = toplevelat('mapping')
         self.slidermapper = ExtSliderMapper.ExtSliderMapper(mapping_tl, 
                                                             self.scalelevels, 
                                                             ExternalSliders())
         self.slidermapper.pack()
 
+        print "\tsubmaster control"
         self.subpanels = Subpanels(sub_tl, effect_tl, scene_tl, self, self.scalelevels,
                                    Subs, self.xfader, self.changelevel,
                                    self.subediting, Subs.longestsubname())
 
+        print "\tlevel display"
         leveldisplay_tl = toplevelat('leveldisplay')
         leveldisplay_tl.bind('<Escape>', sys.exit)
 
@@ -74,12 +80,16 @@
             self.channel_levels[i].config(text=self.oldlevels[i])
             colorlabel(self.channel_levels[i])
 
+        print "\tconsole"
         Console(self)
 
         # root frame
+        print "\tcontrol panel"
+        self.master.configure(bg='black')
         controlpanel = Controlpanel(self.master, self.xfader, self.refresh, 
             self.quit, self.toggle_jostle)
         
+        print "\tcrossfader"
         xf=Frame(self.master)
         xf.pack(side='right')
 
@@ -91,15 +101,18 @@
         self.xfader.setupwidget(xf)
         controlpanel.pack()
 
-        cuefader_tl = toplevelat('cuefader')
-        cuefader = Fader(cuefader_tl, Subs.cues, self.scalelevels)
-        cuefader.pack()
+        print "\tcue fader (skipped)"
+        # cuefader_tl = toplevelat('cuefader')
+        # cuefader = Fader(cuefader_tl, Subs.cues, self.scalelevels)
+        # cuefader.pack()
+        print "Light 8.8: Everything's under control"
+
 
     def get_data(self,*args):
         Subs.reload_data(self.DUMMY)
         Patch.reload_data(self.DUMMY)
-        print "Patch:", Patch.patch
-        print "Subs:", ', '.join(Subs.subs.keys())
+        print "Light 8.8:", len(Patch.patch), "dimmers patched"
+        print "Light 8.8:", len(Subs.subs), "submasters loaded"
 
     def refresh(self, *args):
         'rebuild interface, reload data'
@@ -176,7 +189,7 @@
                 else:
                     numlab['bg'] = 'red'
             else:
-                numlab['bg'] = 'lightPink'
+                numlab['bg'] = 'grey40'
 
         self.oldlevels[:] = levels[:] # replace the elements in oldlevels - don't make a new list (Subediting is watching it)
             
@@ -198,7 +211,7 @@
             filename = '/tmp/light9.prefs'
             if self.DUMMY:
                 filename += '.dummy'
-            print "Loading from", filename
+            print "Light 8.8: Loading from", filename
             file = open(filename, 'r')
             p = cPickle.load(file)
             for s, v in p.scalelevels.items():
--- a/light8/Xfader.py	Sun Jul 14 02:44:27 2002 +0000
+++ b/light8/Xfader.py	Sun Jul 14 08:01:24 2002 +0000
@@ -45,7 +45,7 @@
     def height(self):
         return int(self['height'])
     def setupwidget(self,parent):
-        Canvas.__init__(self,parent,width=150,height=150,bg="#ff0000")
+        Canvas.__init__(self,parent,width=150,height=150,bg="grey40")
         self.pack(side='bottom')
         self.create_rectangle(5,5,self.width()-5,self.height()-5)
         self.create_line(0,self.height()/2,150,self.height()/2)
--- a/light8/panels.py	Sun Jul 14 02:44:27 2002 +0000
+++ b/light8/panels.py	Sun Jul 14 08:01:24 2002 +0000
@@ -11,7 +11,7 @@
 
 class Controlpanel(Frame):
     def __init__(self, parent, xfader, refresh_cb, quit_cb, jostle_cb):
-        Frame.__init__(self,parent)
+        Frame.__init__(self,parent, bg='black')
         controlpanel = self
         for txt,cmd in (
             ('Quit',       quit_cb),
@@ -21,18 +21,17 @@
             ('Clear X',     lambda: xfader.clearallbuttons('x')),
             ('On -> Y',     lambda: xfader.grab('y')),
             ('Clear Y',     lambda: xfader.clearallbuttons('y'))):
-            Button(controlpanel, text=txt, command=cmd).pack(side='top', 
-                fill='x')
+            Button(controlpanel, text=txt, command=cmd, bg='black', 
+                fg='white').pack(side='top', fill='x')
         # jostle button
-        Checkbutton(controlpanel, text="Jostle", 
+        Checkbutton(controlpanel, text="Jostle", bg='black', fg='white',
             command=jostle_cb).pack(side=TOP, fill=X)
 
 class Console:
     def __init__(self,lightboard):
-        print "Light 8: Everything's under control"
         t=toplevelat('console')
-        self.frame = Frame(t)
-        self.entry=Entry(self.frame)
+        self.frame = Frame(t, bg='black')
+        self.entry=Entry(self.frame, bg='black', fg='white')
         self.entry.pack(expand=1, fill='x')
         self.entry.bind('<Return>',
                         lambda evt: self.execute(evt, self.entry.get()))
@@ -57,15 +56,15 @@
             # frame for this channel
             f = Frame(frames[channel > (num_channels/2)])
             # channel number -- will turn yellow when being altered
-            num_lab = Label(f, text=str(channel), width=3, bg='lightPink', 
-                font=stdfont, padx=0, pady=0, bd=0, height=1)
+            num_lab = Label(f, text=str(channel), width=3, bg='grey40', 
+                fg='white', font=stdfont, padx=0, pady=0, bd=0, height=1)
             num_lab.pack(side='left')
             self.number_labels.append(num_lab)
 
             # text description of channel
             Label(f, text=Patch.get_channel_name(channel), width=8, 
                 font=stdfont, anchor='w', padx=0, pady=0, bd=0, 
-                height=1).pack(side='left')
+                height=1, bg='black', fg='white').pack(side='left')
 
             # current level of channel, shows intensity with color
             l = Label(f, width=3, bg='lightBlue', font=stdfont, anchor='e', 
@@ -88,7 +87,7 @@
         sublist.sort()
 
         for p in scenesparent,effectsparent,scenes:
-            sw = ScrolledWindow(p)
+            sw = ScrolledWindow(p, bg='black')
             for but,units in ( (4,-4),(5,4) ):
                 sw.window.bind("<ButtonPress-%s>"%but,lambda ev,s=sw.vsb,u=units: s.tk.call('tkScrollByUnits',s,'hv',u))
 
@@ -128,7 +127,7 @@
                 width1=longestname
 
             # make frame that surrounds the whole submaster
-            f=Frame(parent, bd=1, relief='raised')
+            f=Frame(parent, bd=1, relief='raised', bg='black')
             f.pack(fill='both',exp=1,side=side2)
             
 
@@ -151,6 +150,10 @@
                             orient=orient1,
                             labelwidth=width1,
                             **scaleopts)
+            s.configure(bg='black')
+            s.label.configure(bg='black', fg='white')
+            s.vlabel.configure(bg='black', fg='white')
+            s.scale.configure(bg='black', fg='white')
 
             # tell subediting what widgets to highlight when it's
             # editing a sub
@@ -181,7 +184,7 @@
                         ("SaveStg",lambda l=lightboard,name=name: l.save_sub(name,l.stageassub(),refresh=1)),
                         ):
             eb = Button(f,text=txt,font=stdfont,padx=0,pady=0,
-                        bd=1,command=cmd)
+                        bd=1,command=cmd, bg='black', fg='white')
             eb.pack(side=side1,fill='both',padx=0,pady=0)
             
     def axisbuttons(self,f,s,xfader,stdfont,side1,name):
@@ -189,7 +192,8 @@
             cvar=IntVar()
             eb_color = ('red', 'green')[axis == 'y']
             cb=Togglebutton(f,text=axis.upper(),variable=cvar,font=stdfont, 
-                            padx=3, pady=0, bd=1, downcolor=eb_color)
+                            padx=3, pady=0, bd=1, downcolor=eb_color, 
+                            bg='black', fg='white')
             cb.pack(side=side1,fill='both', padx=0, pady=0)
             s.bind('<Key-%s>'%axis, lambda ev,cb=cb: cb.invoke)
             xfader.registerbutton(name,axis,cvar)
--- a/light8/rsn.py	Sun Jul 14 02:44:27 2002 +0000
+++ b/light8/rsn.py	Sun Jul 14 08:01:24 2002 +0000
@@ -10,11 +10,11 @@
 
 if len(sys.argv) >= 2:
     DUMMY = 0
-    print "This is the real thing, baby"
+    print "Light 8.8: This is the real thing, baby"
     window_title = "Light 8.8 (On Air)"
 else:
     DUMMY = 1
-    print "Dummy mode"
+    print "Light 8.8: Dummy mode"
     window_title = "Light 8.8 (Bogus)"
 
 root = Tk()
@@ -22,12 +22,15 @@
 root.wm_geometry('+462+470')
 root.tk_focusFollowsMouse()
 
+
 parportdmx = io.ParportDMX()
 
 if not DUMMY:
     # this turns the parportdmx from dummy to live
+    print "Light 8.8: Preparing DMX interface..."
     parportdmx.golive()
 
+print "Light 8.8: And this...is Mr. Lightboard"
 mr_lightboard = Lightboard(root,parportdmx,DUMMY)
 # root.tk_setPalette('gray40')
 
@@ -36,6 +39,7 @@
 #
 # start net slider server in separate thread 
 #
+print "Light 8.8: External input server spawned"
 import ExternalInput, thread
 thread.start_new_thread(ExternalInput.start_server,())
 
@@ -44,6 +48,7 @@
 root.bind_class("all","<ButtonPress-4>",lambda ev: eventtoparent(ev,"<ButtonPress-4>"))
 root.bind_class("all","<ButtonPress-5>",lambda ev: eventtoparent(ev,"<ButtonPress-5>"))
 
+print 'Light 8.8: "Uh...Shiny McShine?"'
 root.mainloop() # Receiver switches main
 
 #import profile
--- a/light8/stage.py	Sun Jul 14 02:44:27 2002 +0000
+++ b/light8/stage.py	Sun Jul 14 08:01:24 2002 +0000
@@ -71,7 +71,7 @@
     def setimage(self,stageimage):
         img = Image('photo',file=stageimage)
         self.img=img # can't lose this!
-        print img.width()
+        # print img.width()
 #        self.create_image(0,0,anchor='nw',image=img)
 #        self.config(width=img.width(),height=img.height())
 
--- a/light8/uihelpers.py	Sun Jul 14 02:44:27 2002 +0000
+++ b/light8/uihelpers.py	Sun Jul 14 08:01:24 2002 +0000
@@ -16,7 +16,7 @@
 }
 
 def make_frame(parent):
-    f = Frame(parent, bd=0)
+    f = Frame(parent, bd=0, bg='black')
     f.pack(side='left')
     return f
 
@@ -75,7 +75,12 @@
     print ""
     
 def eventtoparent(ev,sequence):
-    "passes an event to the parent"
+    "passes an event to the parent, screws up TixComboBoxes"
+
+    wid_class = str(ev.widget.__class__)
+    if wid_class == 'Tix.ComboBox' or wid_class == 'Tix.TixSubWidget':
+        return
+
     evdict={}
     for x in ['state', 'time', 'y', 'x', 'serial']:
         evdict[x]=getattr(ev,x)
@@ -208,8 +213,10 @@
         else:
             print "FancyDoubleVar: attempted to delete named %s which wasn't set to any function" % name
 
-
-
+def get_selection(listbox):
+    'Given a listbox, returns first selection as integer'
+    selection = int(listbox.curselection()[0]) # blech
+    return selection
 
 if __name__=='__main__':
     root=Tk()
@@ -221,12 +228,3 @@
     t.pack()
     Entry(root,textvariable=iv).pack()
     root.mainloop()
-
-
-
-
-
-
-
-
-