def __init__(self, parent, utility, vlcwrap, bg, border=True): wx.Panel.__init__(self, parent, -1) self.__check_thread() self.utility = utility self.parent = parent self.border = border self.SetBackgroundColour(DEFAULT_BACKGROUND) self.volume = 0.48 self.oldvolume = 0.48 self.estduration = None self.fullscreen_enabled = False self.fullscreenwindow = None self.play_enabled = False self.stop_enabled = False self.scroll_enabled = False vSizer = wx.BoxSizer(wx.VERTICAL) if border: self.SetMinSize((34, -1)) images = ("minimize.png", "maximize.png") images = [ os.path.join(self.utility.getPath(), LIBRARYNAME, "Main", "vwxGUI", "images", image) for image in images ] self.header = PlayerHeader(self, self, bg, [], images[0], images[1]) vSizer.Add(self.header, 0, wx.EXPAND) hSizer = wx.BoxSizer(wx.HORIZONTAL) self.leftLine = wx.Panel(self, size=(1, -1)) self.leftLine.SetBackgroundColour(bg) mainbox = wx.BoxSizer(wx.VERTICAL) self.rightLine = wx.Panel(self, size=(1, -1)) self.rightLine.SetBackgroundColour(bg) hSizer.Add(self.leftLine, 0, wx.EXPAND) hSizer.Add(mainbox, 1, wx.EXPAND) hSizer.Add(self.rightLine, 0, wx.EXPAND) vSizer.Add(hSizer, 1, wx.EXPAND) footer = ListFooter(self) footer.SetBackgroundColour(bg) vSizer.Add(footer, 0, wx.EXPAND) else: mainbox = vSizer self.vlcwrap = vlcwrap if vlcwrap is not None: self.vlcwin = VLCLogoWindow(self, utility, vlcwrap, bg, animate=True) self.vlcwin.SetMinSize(EmbeddedPlayerPanel.VIDEO_SIZE) if border: player_img = os.path.join(self.utility.getPath(), LIBRARYNAME, "Main", "vwxGUI", 'images', 'player.png') self.player_img = wx.StaticBitmap( self, -1, wx.BitmapFromImage(wx.Image(player_img, wx.BITMAP_TYPE_ANY))) mainbox.Add(self.player_img, 0, wx.ALIGN_CENTER | wx.TOP, 5) mainbox.Add(self.vlcwin, 1, wx.EXPAND, 0) self.ctrlsizer = wx.BoxSizer(wx.HORIZONTAL) self.slider = ProgressSlider(self, self.utility) self.slider.SetRange(0, 1) self.slider.SetValue(0) self.mute = SwitchButton(self, name='mt') self.mute.Bind(wx.EVT_LEFT_UP, self.MuteClicked) self.ppbtn = PlayerSwitchButton( self, os.path.join(self.utility.getPath(), LIBRARYNAME, 'Video', 'Images'), 'pause', 'play') self.ppbtn.Bind(wx.EVT_LEFT_UP, self.PlayPause) self.ppbtn.setSelected(2) self.sbtn = PlayerButton( self, os.path.join(self.utility.getPath(), LIBRARYNAME, 'Video', 'Images'), 'stop') self.sbtn.Bind(wx.EVT_LEFT_UP, self.OnStop) self.sbtn.setSelected(2) volumebox = wx.BoxSizer(wx.HORIZONTAL) self.vol1 = PlayerButton( self, os.path.join(self.utility.getPath(), LIBRARYNAME, 'Video', 'Images'), 'vol1') self.vol1.Bind(wx.EVT_MOUSE_EVENTS, self.mouseAction) self.vol2 = PlayerButton( self, os.path.join(self.utility.getPath(), LIBRARYNAME, 'Video', 'Images'), 'vol2') self.vol2.Bind(wx.EVT_MOUSE_EVENTS, self.mouseAction) self.vol3 = PlayerButton( self, os.path.join(self.utility.getPath(), LIBRARYNAME, 'Video', 'Images'), 'vol3') self.vol3.Bind(wx.EVT_MOUSE_EVENTS, self.mouseAction) self.vol4 = PlayerButton( self, os.path.join(self.utility.getPath(), LIBRARYNAME, 'Video', 'Images'), 'vol4') self.vol4.Bind(wx.EVT_MOUSE_EVENTS, self.mouseAction) self.vol5 = PlayerButton( self, os.path.join(self.utility.getPath(), LIBRARYNAME, 'Video', 'Images'), 'vol5') self.vol5.Bind(wx.EVT_MOUSE_EVENTS, self.mouseAction) self.vol6 = PlayerButton( self, os.path.join(self.utility.getPath(), LIBRARYNAME, 'Video', 'Images'), 'vol6') self.vol6.Bind(wx.EVT_MOUSE_EVENTS, self.mouseAction) volumebox.Add(self.vol1, 0, wx.ALIGN_CENTER_VERTICAL) volumebox.Add(self.vol2, 0, wx.ALIGN_CENTER_VERTICAL) volumebox.Add(self.vol3, 0, wx.ALIGN_CENTER_VERTICAL) volumebox.Add(self.vol4, 0, wx.ALIGN_CENTER_VERTICAL) volumebox.Add(self.vol5, 0, wx.ALIGN_CENTER_VERTICAL) volumebox.Add(self.vol6, 0, wx.ALIGN_CENTER_VERTICAL) self.updateVol(self.volume) self.fsbtn = PlayerButton( self, os.path.join(self.utility.getPath(), LIBRARYNAME, 'Video', 'Images'), 'fullScreen') self.fsbtn.Bind(wx.EVT_LEFT_UP, self.FullScreen) self.fsbtn.setSelected(2) self.ctrlsizer.Add(self.ppbtn, 0, wx.ALIGN_CENTER_VERTICAL) self.ctrlsizer.Add(self.sbtn, 0, wx.ALIGN_CENTER_VERTICAL) self.ctrlsizer.Add(self.slider, 1, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND) self.ctrlsizer.Add(self.mute, 0, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND) self.ctrlsizer.Add(volumebox, 0, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND) self.ctrlsizer.Add(self.fsbtn, 0, wx.ALIGN_CENTER_VERTICAL) mainbox.Add(self.ctrlsizer, 0, wx.ALIGN_BOTTOM | wx.EXPAND | wx.LEFT | wx.RIGHT, 3) if border: self.vlcwin.Show(False) self.ctrlsizer.ShowItems(False) # Arno: until we figure out how to show in-playback prebuffering info self.statuslabel = wx.StaticText(self) vSizer.Add(self.statuslabel, 0, wx.EXPAND) self.SetSizer(vSizer) self.playtimer = None self.update = False self.timer = None
def __init__(self, parent, utility, vlcwrap, logopath): wx.Panel.__init__(self, parent, -1) self.utility = utility self.estduration = None #self.SetBackgroundColour(wx.WHITE) self.SetBackgroundColour(wx.BLACK) mainbox = wx.BoxSizer(wx.VERTICAL) if vlcwrap is None: size = (320, 64) else: size = (320, 240) self.vlcwin = VLCLogoWindow(self, size, vlcwrap, logopath, animate=False) self.vlcwrap = vlcwrap # Arno: until we figure out how to show in-playback prebuffering info self.statuslabel = wx.StaticText(self, -1, 'Loading player...') self.statuslabel.SetForegroundColour(wx.WHITE) if vlcwrap is not None: ctrlsizer = wx.BoxSizer(wx.HORIZONTAL) #self.slider = wx.Slider(self, -1) self.slider = ProgressSlider(self, self.utility, imgprefix='4frame') self.slider.SetRange(0, 1) self.slider.SetValue(0) self.oldvolume = None self.ppbtn = PlayerSwitchButton( self, os.path.join(self.utility.getPath(), LIBRARYNAME, 'Images'), 'pause', 'play') self.ppbtn.Bind(wx.EVT_LEFT_UP, self.PlayPause) self.volumebox = wx.BoxSizer(wx.HORIZONTAL) self.volumeicon = PlayerSwitchButton( self, os.path.join(self.utility.getPath(), LIBRARYNAME, 'Images'), 'volume', 'mute') self.volumeicon.Bind(wx.EVT_LEFT_UP, self.Mute) self.volume = VolumeSlider(self, self.utility, imgprefix='4frame') self.volume.SetRange(0, 100) self.volumebox.Add(self.volumeicon, 0, wx.ALIGN_CENTER_VERTICAL) self.volumebox.Add(self.volume, 0, wx.ALIGN_CENTER_VERTICAL, 0) self.fsbtn = PlayerButton( self, os.path.join(self.utility.getPath(), LIBRARYNAME, 'Images'), 'fullScreen') self.fsbtn.Bind(wx.EVT_LEFT_UP, self.FullScreen) self.save_button = PlayerSwitchButton( self, os.path.join(self.utility.getPath(), LIBRARYNAME, 'Images'), 'saveDisabled', 'save') self.save_button.Bind(wx.EVT_LEFT_UP, self.Save) self.save_callback = lambda: None ctrlsizer.Add(self.ppbtn, 0, wx.ALIGN_CENTER_VERTICAL) ctrlsizer.Add(self.slider, 1, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND) ctrlsizer.Add(self.volumebox, 0, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND) ctrlsizer.Add(self.fsbtn, 0, wx.ALIGN_CENTER_VERTICAL) ctrlsizer.Add(self.save_button, 0, wx.ALIGN_CENTER_VERTICAL) mainbox.Add(self.vlcwin, 1, wx.EXPAND, 1) mainbox.Add(self.statuslabel, 0, wx.EXPAND | wx.LEFT | wx.RIGHT, 30) if vlcwrap is not None: mainbox.Add(ctrlsizer, 0, wx.ALIGN_BOTTOM | wx.EXPAND, 1) self.SetSizerAndFit(mainbox) self.playtimer = None self.update = False self.timer = None