10
#=========================================================================
12
class MixerStrip(gtk.Frame):
14
__gtype_name__ = 'MixerStrip'
16
#_____________________________________________________________________
18
def __init__(self, project, instrument, mixview, mainview):
19
gtk.Container.__init__(self)
20
self.project = project
21
self.instrument = instrument
22
self.mixview = mixview
23
self.mainview = mainview
26
self.vbox = gtk.VBox()
29
self.minbutt = gtk.Button()
30
img = gtk.image_new_from_stock(gtk.STOCK_GOTO_BOTTOM, gtk.ICON_SIZE_MENU)
31
self.minbutt.set_image(img)
32
self.minbutt.connect("clicked", self.EmitMinimise)
34
self.vbox.pack_start(self.minbutt, False)
37
self.vu = VUWidget(self, self.mainview)
38
self.vbox.pack_start(self.vu, True, True)
43
img = gtk.image_new_from_stock(gtk.STOCK_MEDIA_RECORD, gtk.ICON_SIZE_BUTTON)
44
self.recButton = gtk.ToggleButton("")
45
self.recButton.set_property("image", img)
46
self.recButton.connect("toggled", self.OnArm)
48
self.muteButton = gtk.ToggleButton("")
49
self.muteButton.connect("toggled", self.OnMute)
52
soloimg.set_from_file(os.path.join(Globals.JOKOSHER_PATH, "images", "solo.png"))
53
self.soloButton = gtk.ToggleButton("")
54
self.soloButton.set_image(soloimg)
55
self.soloButton.connect("toggled", self.OnSolo)
57
hb.add(self.recButton)
58
hb.add(self.muteButton)
59
hb.add(self.soloButton)
60
self.vbox.pack_start(hb, False, False)
64
imgsize = gtk.icon_size_lookup(gtk.ICON_SIZE_MENU)[0]
65
pixbuf = self.instrument.pixbuf.scale_simple(imgsize, imgsize, gtk.gdk.INTERP_BILINEAR)
67
image.set_from_pixbuf(pixbuf)
68
hb.pack_start(image, False, False)
70
self.label = gtk.Label(instrument.name)
71
self.label.set_max_width_chars(6)
72
hb.pack_start(self.label, True, True)
74
self.vbox.pack_end(hb, False, False)
80
#_____________________________________________________________________
82
def OnMute(self, widget):
84
self.instrument.ToggleMuted(False)
86
#_____________________________________________________________________
88
def OnArm(self, widget):
90
self.instrument.ToggleArmed()
92
#_____________________________________________________________________
94
def OnSolo(self, widget):
96
self.instrument.ToggleSolo(False)
98
#_____________________________________________________________________
100
def EmitMinimise(self, widget):
101
self.emit("minimise")
103
#_____________________________________________________________________
108
self.label.set_text(self.instrument.name)
109
self.recButton.set_active(self.instrument.isArmed)
111
self.muteButton.set_active(self.instrument.actuallyIsMuted)
112
if self.instrument.actuallyIsMuted:
113
self.muteButton.set_image(gtk.image_new_from_icon_name("stock_volume-mute", gtk.ICON_SIZE_BUTTON))
115
self.muteButton.set_image(gtk.image_new_from_icon_name("stock_volume", gtk.ICON_SIZE_BUTTON))
118
self.soloButton.set_active(self.instrument.isSolo)
120
self.Updating = False
122
#_____________________________________________________________________
125
return self.instrument.level
127
#_____________________________________________________________________
130
return self.instrument.volume
132
#_____________________________________________________________________
134
def SetVolume(self, vol):
135
self.instrument.SetVolume(vol)
137
#_____________________________________________________________________
139
#=========================================================================