From: Digital X. <dig...@us...> - 2007-03-15 19:24:12
|
Update of /cvsroot/openrpg/openrpg1/orpg/tools In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv27976/orpg/tools Modified Files: orpg_sound.py Log Message: Added a Volume Control Fixed a Set Range issue on *nix Index: orpg_sound.py =================================================================== RCS file: /cvsroot/openrpg/openrpg1/orpg/tools/orpg_sound.py,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** orpg_sound.py 10 Mar 2007 17:14:15 -0000 1.24 --- orpg_sound.py 15 Mar 2007 19:24:10 -0000 1.25 *************** *** 12,16 **** try: self.mc = wx.media.MediaCtrl(self) ! self.mc.Hide() self.OldPlayer = False self.Bind(wx.media.EVT_MEDIA_LOADED, self.OnMediaLoaded) --- 12,16 ---- try: self.mc = wx.media.MediaCtrl(self) ! #self.mc.Hide() self.OldPlayer = False self.Bind(wx.media.EVT_MEDIA_LOADED, self.OnMediaLoaded) *************** *** 31,52 **** self.playDict = {} ! self.slider = wx.Slider(self, -1, 0, 0, 0, size=wx.Size(300, -1)) ! self.Bind(wx.EVT_SLIDER, self.onSeek, self.slider) self.loopSound = False self.seeking = False # setup the layout sizer = wx.GridBagSizer(hgap=1, vgap=1) ! sizer.Add(self.playList, (0,0)) ! sizer.Add(btn2, (0,1)) ! sizer.Add(btn3, (0,2)) ! sizer.Add(self.slider, (0,3), flag=wx.EXPAND) sizer.AddGrowableCol(0) sizer.AddGrowableCol(3) self.SetSizer(sizer) self.SetAutoLayout(True) ! self.Fit() self.Bind(wx.EVT_CHOICE, self.PlaySelected, self.playList) --- 31,73 ---- self.playDict = {} + self.ctrlBtn = wx.Button(self, -1, "Show Controls") + self.Bind(wx.EVT_BUTTON, self.OnShow, self.ctrlBtn) + ! self.pslider = wx.Slider(self, -1, 0, 0, 0, size=wx.Size(100, -1)) ! self.Bind(wx.EVT_SLIDER, self.onSeek, self.pslider) ! ! self.pos = wx.StaticText(self, wx.ID_ANY, "Position:") ! self.pslider.Hide() ! self.pos.Hide() ! ! self.vol = wx.StaticText(self, wx.ID_ANY, "Volume:") ! self.vslider = wx.Slider(self, -1, 0, 0, 0, size=wx.Size(50, -1)) ! self.Bind(wx.EVT_SLIDER, self.onVol, self.vslider) ! self.vslider.SetRange(0, 100) ! self.vslider.SetValue(100) ! self.vslider.Hide() ! self.vol.Hide() self.loopSound = False self.seeking = False + self.lastlen = 0 # setup the layout sizer = wx.GridBagSizer(hgap=1, vgap=1) ! sizer.Add(self.playList, (0,0), span=(1,2)) ! sizer.Add(btn2, (0,2)) ! sizer.Add(btn3, (0,3)) ! sizer.Add(self.ctrlBtn, (0,4)) ! sizer.Add(self.pos, (1,0), flag=wx.ALIGN_CENTER) ! sizer.Add(self.pslider, (1,1), flag=wx.EXPAND) ! sizer.Add(self.vol, (1,2), flag=wx.ALIGN_CENTER) ! sizer.Add(self.vslider, (1,3), flag=wx.EXPAND) sizer.AddGrowableCol(0) sizer.AddGrowableCol(3) + sizer.SetEmptyCellSize((0,0)) self.SetSizer(sizer) self.SetAutoLayout(True) ! #self.Fit() self.Bind(wx.EVT_CHOICE, self.PlaySelected, self.playList) *************** *** 139,142 **** --- 160,181 ---- self.timer.Stop() + def OnShow(self, evt): + if self.ctrlBtn.GetLabel() == "Show Controls": + self.ctrlBtn.SetLabel("Hide Controls") + self.pos.Show() + self.pslider.Show() + self.vol.Show() + self.vslider.Show() + else: + self.ctrlBtn.SetLabel("Show Controls") + self.pos.Hide() + self.pslider.Hide() + self.vol.Hide() + self.vslider.Hide() + + def onVol(self, evt): + vol = float(self.vslider.GetValue())/100 + self.mc.SetVolume(vol) + def OnTimer(self, args): if not self.OldPlayer: *************** *** 146,153 **** self.stopBtn.Disable() ! self.slider.SetRange(0, self.mc.Length()) if not self.seeking: ! self.slider.SetValue(self.mc.Tell()) if self.mc.GetState() != wx.media.MEDIASTATE_PLAYING and self.loopSound: --- 185,194 ---- self.stopBtn.Disable() ! if self.mc.Length() > 0 and self.lastlen != self.mc.Length(): ! self.pslider.SetRange(0, self.mc.Length()) ! self.lastlen = self.mc.Length() if not self.seeking: ! self.pslider.SetValue(self.mc.Tell()) if self.mc.GetState() != wx.media.MEDIASTATE_PLAYING and self.loopSound: *************** *** 162,166 **** else: ! self.slider.SetValue(info[1]) wx.CallAfter(self.onSeek, None) --- 203,207 ---- else: ! self.pslider.SetValue(info[1]) wx.CallAfter(self.onSeek, None) |