Changeset - 115dd48e15a9
[Not reviewed]
default
0 2 0
dmcc - 22 years ago 2002-07-23 01:13:38

latest changes. couldn't commit lightboard for some reason
2 files changed with 18 insertions and 2 deletions:
0 comments (0 inline, 0 general)
light8/Config.py
Show inline comments
 
@@ -226,192 +226,208 @@ subs["*1-01-0-sarah"] = { "sidefill2" : 
 
    "side r" : 100, "main 11" : 100, "main 10" : 100, "main 3" : 100,
 
    "main 2" : 100, "main 5" : 100, "main 4" : 100, "main 7" : 100,
 
    "hotbox2" : 91, "main 9" : 100, "main 8" : 100, "b34" : 100,
 
    "edge" : 80, "marry2" : 100, "marry1" : 100,}
 
subs["*1-01-0-sarah"] = { "sidefill2" : 37, "sidefill1" : 39,
 
    "cycright" : 24, "upfill3" : 31, "upfill2" : 62, "upfill1" : 27,
 
    "b34" : 34, "b25" : 100, "side l" : 50, "b22" : 89,
 
    "desk2" : 30, "phone" : 80, "hotbox1" : 43, "upfill4" : 39, "b24" : 100,
 
    "side r" : 46, "main 11" : 100, "main 10" : 100, "main 3" : 5,
 
    "main 2" : 92, "main 5" : 100, "main 4" : 100, "main 7" : 100,
 
    "hotbox2" : 52, "main 9" : 58, "main 8" : 0, "cycleft" : 24,
 
    "edge" : 24, "marry2" : 71, "marry1" : 62,}
 
subs["*1-05-0-down"] = { "sidefill2" : 100, "sidefill1" : 100,
 
    "cycright" : 36, "upfill3" : 37, "upfill2" : 37, "upfill1" : 2,
 
    "side l" : 100,  "b25" : 100, "cycleft" : 18, "b23" : 100,
 
    "desk1" : 19, "desk2" : 31, "b22" : 100, "hotbox2" : 17, "upfill4" : 2,
 
    "b24" : 100, "side r" : 82, "main 11" : 89, "main 10" : 100,
 
    "main 3" : 85, "main 2" : 100, "main 5" : 100, "main 4" : 100,
 
    "main 7" : 100, "main 9" : 100, "main 8" : 100, "b34" : 13, "edge" : 37,
 
    "b13" : 100,}
 
subs["*1-05-0"] = { "sidefill2" : 68, "sidefill1" : 65, "cycright" : 42,
 
    "main 11" : 11, "main 10" : 22, "b34" : 0, "b25" : 67, "side l" : 100,
 
    "b23" : 67, "b22" : 67, "desk2" : 31, "desk1" : 19, "hotbox2" : 0,
 
    "b24" : 67, "side r" : 82, "upfill3" : 37, "upfill2" : 37, "main 3" : 53,
 
    "main 2" : 68, "main 5" : 68, "main 4" : 68, "main 7" : 22, "main 9" : 22,
 
    "main 8" : 22, "cycleft" : 24, "edge" : 0, "b13" : 100,}
 
subs["*1-05-0"] = { "sidefill2" : 68, "sidefill1" : 65, "cycright" : 42,
 
    "main 11" : 11, "main 10" : 22, "b34" : 0, "b25" : 67, "side l" : 100,
 
    "b23" : 67, "b22" : 67, "desk2" : 31, "desk1" : 19, "hotbox2" : 91,
 
    "hotbox1" : 100, "b24" : 67, "side r" : 82, "upfill3" : 61, "upfill2" : 61,
 
    "main 3" : 53, "main 2" : 68, "main 5" : 68, "main 4" : 68, "main 7" : 22,
 
    "main 9" : 22, "main 8" : 20, "cycleft" : 24, "edge" : 0, "b13" : 100,
 
    "marry2" : 19,}
 
subs["*1-05-0-down"] = { "sidefill2" : 70, "sidefill1" : 70, "cycright" : 0,
 
    "upfill3" : 25, "upfill2" : 25, "upfill1" : 15, "b34" : 13, 
 
    "b25" : 100, "side l" : 100, "b23" : 100, "desk1" : 19, "desk2" : 31,
 
    "b22" : 100, "hotbox2" : 17, "upfill4" : 15, "b24" : 100, "side r" : 82,
 
    "main 11" : 89, "main 10" : 100, "main 3" : 85, "main 2" : 100,
 
    "main 5" : 100, "main 4" : 100, "main 7" : 100, "main 9" : 100,
 
    "main 8" : 100, "cycleft" : 0, "edge" : 37, "b13" : 100,}
 
subs["*1-08-30-full"] = { "cycright" : 10, "main 11" : 38, "main 10" : 36,
 
    "upfill1" : 0, "sidefill2" : 0, "b25" : 100, "side l" : 38, "b23" : 100,
 
    "b22" : 100, "desk2" : 0, "oran3" : 64, "upfill4" : 0, "side r" : 38,
 
    "upfill3" : 0, "blue3" : 100, "upfill2" : 0, "gree2" : 15, "gree3" : 15,
 
    "cafe2" : 100, "gree1" : 15, "gree4" : 15, "marry2" : 38, "marry1" : 38,
 
    "cuba1" : 23, "cuba2" : 0, "red3" : 27, "red2" : 27, "sidefill1" : 0,
 
    "b24" : 100, "red4" : 45, "b34" : 28, "cycleft" : 10, "b32" : 43,
 
    "hotbox2" : 38, "hotbox1" : 38, "blue1" : 100, "oran2" : 64,
 
    "oran1" : 64, "blue2" : 100, "blue4" : 100, "oran4" : 64, "main 3" : 38,
 
    "main 2" : 38, "main 5" : 0, "main 4" : 38, "main 7" : 0, "phone" : 31,
 
    "main 9" : 38, "main 8" : 38, "edge" : 0, "cafe1" : 100, "red1" : 27,}
 
subs["*2-02-0"] = { "main 2" : 53, "main 5" : 18, "main 10" : 53,
 
    "main 7" : 42, "main 9" : 60, "main 8" : 36, "b24" : 52, "b23" : 76,
 
    "side r" : 34, "blue1" : 63, "marry2" : 38, "blue3" : 63, "blue2" : 63,
 
    "blue4" : 63, "main 4" : 24,}
 
subs["*2-03-20-luck-c"] = { "main 5" : 0, "main 10" : 0, "main 7" : 0,
 
    "b24" : 100, "b23" : 100, "b32" : 0, "hotbox2" : 0, "hotback" : 0,
 
    "b13" : 31, "rock" : 0, "marry2" : 0, "main 4" : 78,}
 
subs["*2-05-2-boat"] = { "sidefill2" : 43, "cycright" : 0, "main 11" : 84,
 
    "main 10" : 84, "upfill1" : 0, "b24" : 100, "b23" : 100, "b22" : 100,
 
    "desk2" : 84, "desk1" : 44, "hotbox2" : 95, "hotbox1" : 21, "upfill4" : 0,
 
    "b32" : 52, "upfill3" : 34, "upfill2" : 0, "main 3" : 72, "main 5" : 83,
 
    "main 4" : 100, "main 7" : 100, "main 9" : 100, "main 8" : 100,
 
    "rock" : 43, "marry2" : 100, "marry1" : 75, "cuba2" : 65,}
 
subs["*2-06-0"] = { "cycright" : 100, "main 11" : 55, "main 10" : 55,
 
    "upfill1" : 48, "hotbox2" : 43, "b34" : 30, "b24" : 100, "b23" : 100,
 
    "main 7" : 30, "desk2" : 23, "b22" : 14, "main 9" : 30, "hotbox1" : 71,
 
    "main 2" : 30, "b32" : 23, "rock" : 17, "marry2" : 34, "marry1" : 69,
 
    "upfill4" : 48, "side r" : 30,}
 
subs["*1-01-0-justback"] = { "sidefill2" : 100, "sidefill1" : 100,
 
    "cycright" : 41, "upfill3" : 60, "upfill2" : 91, "upfill1" : 56,
 
    "side l" : 100,  "b25" : 100, "cycleft" : 41, "b22" : 100,
 
    "desk2" : 78, "hotbox2" : 91, "hotbox1" : 43, "upfill4" : 68,
 
    "b24" : 100, "side r" : 100, "main 11" : 100, "main 10" : 100,
 
    "main 3" : 100, "main 2" : 100, "main 5" : 100, "main 4" : 100,
 
    "main 7" : 100, "main 9" : 100, "main 8" : 100, "b34" : 100,
 
    "edge" : 80, "marry2" : 100, "marry1" : 100,}
 
subs["*1-01-0-justleft"] = { "sidefill2" : 100, "sidefill1" : 100,
 
    "cycright" : 41, "upfill3" : 60, "upfill2" : 91, "upfill1" : 56,
 
    "side l" : 100,  "b25" : 100, "cycleft" : 41, "b22" : 100,
 
    "desk2" : 78, "hotbox2" : 91, "hotbox1" : 43, "upfill4" : 68,
 
    "b24" : 100, "side r" : 100, "main 11" : 100, "main 10" : 100,
 
    "main 3" : 100, "main 2" : 100, "main 5" : 100, "main 4" : 100,
 
    "main 7" : 100, "main 9" : 100, "main 8" : 100, "b34" : 100,
 
    "edge" : 80, "marry2" : 100, "marry1" : 100,}
 
subs["*1-01-0-justleft"] = { "sidefill2" : 100, "sidefill1" : 100,
 
    "cycright" : 0, "upfill3" : 0, "upfill2" : 0, "upfill1" : 0,
 
    "b34" : 7,  "b25" : 0, "side l" : 100, "b22" : 100,
 
    "desk2" : 78, "hotbox2" : 10, "hotbox1" : 43, "upfill4" : 0,
 
    "b24" : 0, "side r" : 100, "main 11" : 0, "main 10" : 100, "main 3" : 100,
 
    "main 2" : 100, "main 5" : 100, "main 4" : 100, "main 7" : 0,
 
    "main 9" : 0, "main 8" : 0, "cycleft" : 0, "edge" : 80, "marry2" : 100,
 
    "marry1" : 100,}
 
subs["*1-01-0-justback"] = { "sidefill2" : 100, "sidefill1" : 100,
 
    "cycright" : 41, "upfill3" : 60, "upfill2" : 91, "upfill1" : 56,
 
    "b34" : 100,  "b25" : 100, "side l" : 100, "b22" : 100,
 
    "desk2" : 78, "hotbox2" : 91, "hotbox1" : 43, "upfill4" : 68,
 
    "b24" : 100, "side r" : 100, "main 11" : 100, "main 10" : 100,
 
    "main 3" : 100, "main 2" : 100, "main 5" : 100, "main 4" : 100,
 
    "main 7" : 100, "main 9" : 100, "main 8" : 100, "cycleft" : 41,
 
    "edge" : 80, "marry2" : 100, "marry1" : 100,}
 
subs["*1-01-0-justright"] = { "sidefill2" : 100, "sidefill1" : 100,
 
    "cycright" : 41, "upfill3" : 60, "upfill2" : 91, "upfill1" : 56,
 
    "side l" : 100,  "b25" : 100, "cycleft" : 41, "b22" : 100,
 
    "desk2" : 78, "hotbox2" : 91, "hotbox1" : 43, "upfill4" : 68,
 
    "b24" : 100, "side r" : 100, "main 11" : 100, "main 10" : 100,
 
    "main 3" : 100, "main 2" : 100, "main 5" : 100, "main 4" : 100,
 
    "main 7" : 100, "main 9" : 100, "main 8" : 100, "b34" : 100,
 
    "edge" : 80, "marry2" : 100, "marry1" : 100,}
 
subs["*1-01-0-justright"] = { "sidefill2" : 100, "sidefill1" : 0,
 
    "cycright" : 0, "upfill3" : 0, "upfill2" : 0, "upfill1" : 0,
 
    "b34" : 100,  "b25" : 100, "side l" : 0, "b22" : 0,
 
    "desk2" : 0, "hotbox2" : 0, "hotbox1" : 0, "upfill4" : 0, "b24" : 100,
 
    "side r" : 100, "main 11" : 0, "main 10" : 0, "main 3" : 0, "main 2" : 100,
 
    "main 5" : 100, "main 4" : 0, "main 7" : 0, "main 9" : 100, "main 8" : 100,
 
    "cycleft" : 0, "edge" : 0, "marry2" : 7, "marry1" : 100,}
 
subs["*1-01-0-justleft"] = { "sidefill2" : 0, "sidefill1" : 100,
 
    "cycright" : 0, "upfill3" : 0, "upfill2" : 0, "upfill1" : 0,
 
    "b34" : 7,  "b25" : 0, "side l" : 100, "b22" : 100,
 
    "desk2" : 78, "hotbox2" : 10, "hotbox1" : 0, "upfill4" : 0, "b24" : 0,
 
    "side r" : 0, "main 11" : 0, "main 10" : 100, "main 3" : 100,
 
    "main 2" : 100, "main 5" : 100, "main 4" : 100, "main 7" : 0,
 
    "main 9" : 0, "main 8" : 0, "cycleft" : 0, "edge" : 80, "marry2" : 100,
 
    "marry1" : 0,}
 
subs["*1-01-0-justback"] = { "b32" : 7, "sidefill2" : 47, "sidefill1" : 47,
 
    "cycright" : 41, "upfill3" : 60, "upfill2" : 91, "upfill1" : 56,
 
    "b34" : 16, "b25" : 16, "side l" : 0, "b23" : 16,
 
    "b22" : 16, "desk2" : 0, "desk1" : 0, "hotbox2" : 7, "hotbox1" : 0,
 
    "upfill4" : 68, "b24" : 16, "side r" : 0, "main 11" : 100, "main 10" : 100,
 
    "main 3" : 13, "main 2" : 13, "main 5" : 13, "main 4" : 100,
 
    "main 7" : 100, "phone" : 0, "main 9" : 14, "main 8" : 13, "cycleft" : 41,
 
    "edge" : 0, "b13" : 16, "rock" : 0, "marry2" : 16, "marry1" : 16,
 
    "cuba1" : 16, "cuba2" : 0,}
 
subs["*1-01-0-justright"] = { "sidefill2" : 100, "sidefill1" : 0,
 
    "cycright" : 0, "upfill3" : 0, "upfill2" : 0, "upfill1" : 0,
 
    "b34" : 100, "b25" : 100, "side l" : 0, "b22" : 0,
 
    "desk2" : 0, "hotbox2" : 0, "hotbox1" : 0, "upfill4" : 0, "b24" : 100,
 
    "side r" : 100, "main 11" : 0, "main 10" : 0, "main 3" : 0, "main 2" : 100,
 
    "main 5" : 100, "main 4" : 0, "main 7" : 0, "phone" : 100, "main 9" : 100,
 
    "main 8" : 100, "cycleft" : 0, "edge" : 0, "marry2" : 7, "marry1" : 100,}
 

	
 
subs["*2-06-0"] = { "cycright" : 100, "main 11" : 55, "main 10" : 55,
 
    "upfill1" : 48, "main 7" : 30, "b34" : 0, "main 9" : 30, "b24" : 100,
 
    "b23" : 100, "b22" : 0, "desk2" : 23, "edge" : 0, "hotbox2" : 79,
 
    "hotbox1" : 71, "upfill4" : 48, "b32" : 51, "rock" : 17, "marry2" : 34,
 
    "marry1" : 69, "main 2" : 30, "side r" : 30,}
 
subs["patio right"] = { "phone" : 0, "patio2" : 0, "cuba2" : 0,
 
    "b34" : 34, "main 9" : 0, "b25" : 16, "cuba1" : 76, "b32" : 0,}
 
subs["patio left"] = { "main 3" : 31, "edge" : 54, "b13" : 0,
 
    "patio1" : 0, "cafe1" : 40, "desk1" : 0,}
 
subs["*2-06-0"] = { "cycright" : 100, "main 11" : 13, "main 10" : 0,
 
    "upfill1" : 48, "b34" : 0, "b24" : 100, "b23" : 100, "b22" : 0,
 
    "desk2" : 23, "hotbox2" : 83, "hotbox1" : 51, "upfill4" : 48,
 
    "b32" : 41, "main 2" : 60, "main 4" : 85, "main 7" : 30, "main 9" : 70,
 
    "edge" : 0, "rock" : 0, "marry2" : 34, "marry1" : 64, "side r" : 30,}
 

	
 
# don't screw up!
 
subs['*2-06-1-patio right']=subs['patio right'].copy()
 

	
 
subs['*2-06-2 patio left']=subs['patio left'].copy()
 
subs["*2-07-0"] = { "sidefill2" : 100, "sidefill1" : 83, "cycright" : 41,
 
    "main 11" : 100, "main 10" : 100, "upfill1" : 56, "b34" : 100,
 
    "b25" : 100, "cycleft" : 41, "b23" : 100, "b22" : 100, "side l" : 100,
 
    "hotbox2" : 5, "hotbox1" : 14, "upfill4" : 56, "b24" : 100, "desk2" : 78,
 
    "upfill3" : 69, "upfill2" : 100, "main 3" : 83, "main 2" : 100,
 
    "main 5" : 100, "main 4" : 100, "main 7" : 100, "phone" : 62,
 
    "main 9" : 100, "main 8" : 100, "edge" : 63, "marry2" : 100,
 
    "marry1" : 100, "xmas" : 99, "side r" : 100,}
 
subs["*2-06-0"] = { "cycright" : 100, "main 11" : 13, "main 10" : 0,
 
    "upfill1" : 48, "b34" : 0, "b24" : 100, "b23" : 62, "b22" : 0,
 
    "desk2" : 23, "hotbox2" : 89, "hotbox1" : 88, "upfill4" : 48,
 
    "b32" : 0, "main 2" : 63, "main 4" : 97, "main 7" : 42, "main 9" : 52,
 
    "edge" : 0, "rock" : 0, "marry2" : 0, "marry1" : 41, "side r" : 0,}
 
subs["*2-02-0"] = { "main 2" : 53, "main 5" : 18, "main 4" : 24,
 
    "main 7" : 42, "main 9" : 60, "main 8" : 36, "b24" : 52, "b23" : 76,
 
    "side r" : 34, "blue1" : 72, "marry2" : 38, "blue3" : 72, "blue2" : 72,
 
    "blue4" : 72, "main 10" : 53,}
 
subs["*2-03-20-luckcover"] = { "red3" : 75, "red2" : 75, "red1" : 75,
 
    "b24" : 20, "upfill3" : 26, "upfill2" : 31, "upfill1" : 27, "red4" : 97,
 
    "b25" : 20, "side l" : 31, "b23" : 20, "b22" : 20, "upfill4" : 17,
 
    "side r" : 31, "blue1" : 70, "blue3" : 70, "blue2" : 70, "blue4" : 92,
 
    "main 7" : 100, "gree2" : 75, "gree3" : 75, "gree1" : 75, "gree4" : 75,
 
    "hotback" : 40, "main 8" : 0, "cuba1" : 5,}
 
subs["*1-01-0-justback"] = { "sidefill2" : 47, "sidefill1" : 47,
 
    "cycright" : 41, "upfill3" : 60, "main 10" : 100, "upfill1" : 56,
 
    "b34" : 16, "b25" : 16, "side l" : 0, "b23" : 16, "b22" : 16,
 
    "b32" : 7, "desk1" : 0, "hotbox2" : 100, "hotbox1" : 72, "upfill4" : 68,
 
    "b24" : 16, "desk2" : 0, "main 11" : 100, "upfill2" : 91, "main 3" : 13,
 
    "main 2" : 13, "main 5" : 13, "main 4" : 100, "main 7" : 100,
 
    "phone" : 0, "main 9" : 14, "main 8" : 13, "cycleft" : 41, "edge" : 0,
 
    "b13" : 16, "rock" : 0, "marry2" : 16, "marry1" : 16, "cuba1" : 16,
 
    "cuba2" : 0, "side r" : 0,}
 
subs["*2-06-0"] = { "cycright" : 100, "main 11" : 13, "main 10" : 0,
 
    "upfill1" : 48, "b34" : 0, "b24" : 100, "b23" : 62, "b22" : 0,
 
    "desk2" : 0, "hotbox2" : 64, "hotbox1" : 88, "upfill4" : 48,
 
    "b32" : 0, "main 2" : 63, "main 4" : 97, "main 7" : 42, "main 9" : 52,
 
    "edge" : 0, "rock" : 0, "marry2" : 0, "marry1" : 41, "side r" : 0,}
 
subs["*cuba floor show"] = { "cycright" : 100, "main 11" : 13, "main 10" : 0,
 
    "upfill1" : 48, "b34" : 0, "b24" : 100, "b23" : 62, "b22" : 0,
 
    "desk2" : 0, "hotbox2" : 64, "hotbox1" : 88, "upfill4" : 48,
 
    "b32" : 0, "main 2" : 63, "main 4" : 97, "main 7" : 42, "main 9" : 52,
 
    "edge" : 0, "rock" : 0, "marry2" : 0, "marry1" : 41, "side r" : 0,}
 
subs["*cuba floor show"] = { "cycright" : 100, "main 11" : 13,
 
    "main 10" : 0, "upfill1" : 48, "b34" : 0, "b24" : 100, "b23" : 62,
 
    "b22" : 0, "b32" : 0, "hotbox2" : 64, "hotbox1" : 88, "upfill4" : 48,
 
    "desk2" : 0, "main 2" : 63, "main 5" : 47, "main 4" : 86, "main 7" : 66,
 
    "main 9" : 52, "edge" : 0, "rock" : 0, "marry2" : 0, "marry1" : 96,
 
    "hotback" : 57, "side r" : 0,}
light8/panels.py
Show inline comments
 
"""some of the panels"""
 
from __future__ import nested_scopes
 

	
 
from Tix import *
 
from uihelpers import *
 
import Patch
 
from FlyingFader import FlyingFader
 

	
 
stdfont = ('Arial', 8)
 
monofont = ('Courier', 8)
 

	
 
class Controlpanel(Frame):
 
    def __init__(self, parent, xfader, refresh_cb, quit_cb, jostle_cb, 
 
                 whatsup_cb):
 
                 whatsup_cb=None):
 
        Frame.__init__(self,parent, bg='black')
 
        controlpanel = self
 
        for txt,cmd in (
 
            ('Quit',       quit_cb),
 
            ('Refresh',    refresh_cb),
 
            ('Clear all', xfader.clearallbuttons),
 
            ('On -> X',     lambda: xfader.grab('x')),
 
            ('Clear X',     lambda: xfader.clearallbuttons('x')),
 
            ('On -> Y',     lambda: xfader.grab('y')),
 
            ('Clear Y',     lambda: xfader.clearallbuttons('y')),
 
            ("What's up?",     whatsup_cb)):
 
            Button(controlpanel, text=txt, command=cmd, bg='black', 
 
                fg='white').pack(side='top', fill='x')
 
                fg='white',font=stdfont, padx=0, pady=0).pack(side='top', fill='x')
 
        # jostle button
 
        Checkbutton(controlpanel, text="Jostle", bg='black', fg='white',
 
            command=jostle_cb).pack(side=TOP, fill=X)
 

	
 
class Console:
 
    def __init__(self,lightboard):
 
        t=toplevelat('console')
 
        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()))
 
        self.frame.pack(fill=BOTH, expand=1)
 
        self.lightboard=lightboard
 
    
 
    def execute(self, evt, str):
 
        if str[0] == '*': # make a new sub from the current levels
 
            self.lightboard.save_sub(str,self.lightboard.stageassub())
 
        else:
 
            print '>>>', str
 
            print eval(str)
 
            self.frame.focus()
 

	
 
class Leveldisplay:
 
    def __init__(self, parent, channel_levels, num_channels=68):
 
        frames = (make_frame(parent), make_frame(parent))
 
        channel_levels[:]=[]
 
        self.number_labels = []
 
        for channel in range(1, num_channels+1):
 

	
 
            # 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='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, 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', 
 
                      padx=1, pady=0, bd=0, height=1)
 
            l.pack(side='left')
 
            colorlabel(l)
 
            channel_levels.append(l)
 
            f.pack(side='top')
 

	
 
        self.channel_levels = channel_levels
 
        # channel_levels is an output - changelevel will use it to access 
 
        # these labels
 

	
 
class Subpanels:
 
    def __init__(self, scenesparent, effectsparent, scenes, lightboard,
 
                 scalelevels, Subs, xfader,
 
                 changelevel, subediting, longestname):
 
        
 
        sublist = Subs.subs.items()
 
        sublist.sort()
 

	
 
        for p in scenesparent,effectsparent,scenes:
 
            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))
 

	
 
            sw.pack(expand=1,fill=BOTH)
 
            if p==scenesparent:
 
                scenesparent = sw.window
 
            elif p==effectsparent:
 
                effectsparent = sw.window
 
            else:
 
                scenes=sw.window
 

	
 
        for name, sub in sublist:
 
            # choose one of the sub panels to add to
 
            if sub.is_effect:
 
                parent=effectsparent
 
                side1='bottom'
 
                side2='left'
 
                orient1='vert'
 
                end1=0
 
                end2=1
 
                width1=len(name)
 
            elif name.startswith("*") and name[1].isdigit():
 
                parent=scenes
 
                side1='right'
 
                side2='top'
 
                orient1='horiz'
 
                end1=1
 
                end2=0
 
                width1=longestname
 
            else:
 
                parent=scenesparent
 
                side1='right'
 
                side2='top'
 
                orient1='horiz'
 
                end1=1
 
                end2=0
 
                width1=longestname
 

	
 
            # make frame that surrounds the whole submaster
 
            f=Frame(parent, bd=1, relief='raised', bg='black')
 
            f.pack(fill='both',exp=1,side=side2)
 
            
 

	
 
            # make DoubleVar (there might be one left around from
 
            # before a refresh)
 
            if name not in scalelevels:
 
                # scalelevels[name]=FancyDoubleVar()
 
                scalelevels[name]=DoubleVar()
 

	
 
            sub.set_slider_var(scalelevels[name])
 

	
 
            scaleopts = {'troughcolor' : 'grey70'}
 
            if sub.color:
 
                scaleopts['troughcolor'] = sub.color
 

	
 
            s = FlyingFader(f, label=str(name), variable=scalelevels[name],
 
                            showvalue=0, length=100,
 
                            width=14, sliderlength=14,
 
                            to=end1,res=.001,from_=end2,bd=1, font=stdfont,
 
                            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
 
            for w in (s,s.label,s.vlabel, s.scale):
 
                subediting.register(subname=name,widget=w)
 

	
 
            if not sub.is_effect:
 
                self.subeditingbuttons(f,side1,sub,name,lightboard,subediting)
 

	
 
            self.axisbuttons(f,s,xfader,stdfont,side1,name)
 

	
 
            s.pack(side='left', fill=BOTH, expand=1)
 

	
 
            # effects frame?
 
            sframe = Frame(f,bd=2,relief='groove')
 
            sub.draw_tk(sframe)
 
            sframe.pack(side='left',fill='y')
 

	
 
    def subediting_edit(self,subediting,sub):
 
        subediting.setsub(sub)
 
        
 
    def subediting_save(self,name,sub,lightboard):
 
        lightboard.save_sub(name,sub.getlevels(),refresh=0)
 
        
 
    def subeditingbuttons(self,f,side1,sub,name,lightboard,subediting):
 
        for txt,cmd in (("Edit",lambda subediting=subediting,sub=sub: self.subediting_edit(subediting,sub)),
 
                        ("Save",lambda sub=sub,name=name,lightboard=lightboard: self.subediting_save(name,sub,lightboard)),
 
                        ("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, bg='black', fg='white')
 
            eb.pack(side=side1,fill='both',padx=0,pady=0)
 
            
 
    def axisbuttons(self,f,s,xfader,stdfont,side1,name):
 
        for axis in ('y','x'):
 
            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, 
 
                            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)
0 comments (0 inline, 0 general)