Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- import wx
- import Kernel
- from Kernel import Manager as KM
- import Core
- from random import randint
- PyXAL = KM.get_component("PyXAL").object
- common = os.path.expandvars('%COMMONPROGRAMFILES%')
- audio = os.path.join(common, 'Enterbrain', 'RGSS', 'Standard', 'Audio', 'BGS')
- TEST_FILES = [
- os.path.join(audio, '001-Wind01.ogg'),
- os.path.join(audio, '005-Rain01.ogg'),
- os.path.join(audio, '017-Creature01.ogg')
- ]
- class MemoryLeakTest ( wx.Frame ):
- def __init__( self, parent ):
- wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size( 500,300 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )
- mainsizer = wx.BoxSizer( wx.VERTICAL )
- self.mainpanel = wx.Panel( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
- panelsizer = wx.BoxSizer( wx.VERTICAL )
- self.TEST = wx.Button( self.mainpanel, wx.ID_ANY, u"CLICK ME!", wx.DefaultPosition, wx.DefaultSize, 0 )
- panelsizer.Add( self.TEST, 1, wx.EXPAND |wx.ALL, 0 )
- self.mainpanel.SetSizer( panelsizer )
- self.mainpanel.Layout()
- panelsizer.Fit( self.mainpanel )
- mainsizer.Add( self.mainpanel, 1, wx.EXPAND |wx.ALL, 0 )
- self.SetSizer( mainsizer )
- self.Layout()
- self.Centre( wx.BOTH )
- self.TEST.Bind( wx.EVT_BUTTON, self.TEST_DESTROY )
- self.SetUpXAL()
- self.player = None
- self.sound = None
- self.file = None
- def SetUpXAL(self):
- try:
- PyXAL.EnableLogging(True, os.path.abspath("log"))
- PyXAL.Init(self.GetHandle(), True)
- print "XAL Setup"
- except:
- pass
- def __del__( self ):
- PyXAL.Destroy()
- print "XAL Destroyed"
- def TEST_DESTROY( self, event ):
- path = TEST_FILES[randint(0, 2)]
- if self.sound is not None:
- PyXAL.Mgr.destroySound(self.sound)
- self.sound = PyXAL.Mgr.createSound(path)
- app = wx.PySimpleApp()
- frame = MemoryLeakTest(None)
- frame.Show(True)
- app.MainLoop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement