Advertisement
Guest User

Untitled

a guest
Nov 26th, 2011
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.83 KB | None | 0 0
  1. import os
  2. import wx
  3. import Kernel
  4. from Kernel import Manager as KM
  5. import Core
  6. from random import randint
  7.  
  8. PyXAL = KM.get_component("PyXAL").object
  9.  
  10. common = os.path.expandvars('%COMMONPROGRAMFILES%')
  11. audio = os.path.join(common, 'Enterbrain', 'RGSS', 'Standard', 'Audio', 'BGS')
  12.  
  13. TEST_FILES = [
  14.         os.path.join(audio, '001-Wind01.ogg'),
  15.         os.path.join(audio, '005-Rain01.ogg'),
  16.         os.path.join(audio, '017-Creature01.ogg')
  17.     ]
  18.  
  19. class MemoryLeakTest ( wx.Frame ):
  20.    
  21.     def __init__( self, parent ):
  22.         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 )
  23.  
  24.         mainsizer = wx.BoxSizer( wx.VERTICAL )
  25.         self.mainpanel = wx.Panel( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
  26.         panelsizer = wx.BoxSizer( wx.VERTICAL )
  27.         self.TEST = wx.Button( self.mainpanel, wx.ID_ANY, u"CLICK ME!", wx.DefaultPosition, wx.DefaultSize, 0 )
  28.         panelsizer.Add( self.TEST, 1, wx.EXPAND |wx.ALL, 0 )
  29.         self.mainpanel.SetSizer( panelsizer )
  30.         self.mainpanel.Layout()
  31.         panelsizer.Fit( self.mainpanel )
  32.         mainsizer.Add( self.mainpanel, 1, wx.EXPAND |wx.ALL, 0 )
  33.         self.SetSizer( mainsizer )
  34.         self.Layout()
  35.         self.Centre( wx.BOTH )
  36.         self.TEST.Bind( wx.EVT_BUTTON, self.TEST_DESTROY )
  37.         self.SetUpXAL()
  38.         self.player = None
  39.         self.sound = None
  40.         self.file = None
  41.        
  42.  
  43.     def SetUpXAL(self):
  44.         try:
  45.             PyXAL.EnableLogging(True, os.path.abspath("log"))
  46.             PyXAL.Init(self.GetHandle(), True)
  47.             print "XAL Setup"
  48.         except:
  49.             pass
  50.    
  51.     def __del__( self ):
  52.         PyXAL.Destroy()
  53.         print "XAL Destroyed"
  54.    
  55.     def TEST_DESTROY( self, event ):
  56.         path = TEST_FILES[randint(0, 2)]
  57.         if self.sound is not None:
  58.             PyXAL.Mgr.destroySound(self.sound)
  59.         self.sound = PyXAL.Mgr.createSound(path)
  60.  
  61. app = wx.PySimpleApp()
  62. frame = MemoryLeakTest(None)
  63. frame.Show(True)
  64. app.MainLoop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement