<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>events.py</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -34,8 +34,7 @@ license = &quot;&quot;&quot; Copyright (C) 2008 Rodrigo Pinheiro Marques de Araujo
 
 
 import gtk
-from play import play_events, stop_events, FileFormatError
-from record import record_events, stop_record, save_buffer, load_file
+from events import EventRepeater, EventRecorder 
 import os
 import thread
 import pynotify
@@ -48,6 +47,8 @@ class App(object):
         self.setup_icon()
         self.load_menu()
         self.file_load = None
+        self.recorder = EventRecorder()
+        self.repeater = EventRepeater()
 
 
     def setup_icon(self):
@@ -127,27 +128,28 @@ class App(object):
 
 
     def menu_item_callback(self, widget, item):
-        if item ==  &quot;SRR&quot;:
+        if item ==  &quot;SRR&quot;: # start record
             gtk.gdk.threads_init()
-            thread.start_new_thread(record_events, ())
+            thread.start_new_thread(self.recorder.record_events, ())
             gtk.gdk.threads_leave()
-        elif item == &quot;STR&quot;:
-            stop_record()
-        elif item == &quot;SRE&quot;:
+        elif item == &quot;STR&quot;: # stop record
+            self.recorder.stop = True
+        elif item == &quot;SRE&quot;: # start repeater
+            self.repeater.buffer = self.recorder.buffer
             gtk.gdk.threads_init()
-            thread.start_new_thread(play_events, (self.show_notify_error,))
+            thread.start_new_thread(self.repeater.play_events, (self.show_notify_error,))
             gtk.gdk.threads_leave()
-        elif item == &quot;STE&quot;:
-            stop_events()
-        elif item == &quot;SEV&quot;:
+        elif item == &quot;STE&quot;: # stop repeater
+            self.repeater.stop = True
+        elif item == &quot;SEV&quot;: # save events
             self.save_events()
-        elif item == &quot;LEV&quot;:
+        elif item == &quot;LEV&quot;: # load events
             self.load_events()
         elif item == &quot;About&quot;:
             self.show_about()
         else:
-            stop_record()
-            stop_events()
+            self.recorder.stop = True
+            self.repeater.stop = True
             gtk.main_quit()
 
 
@@ -200,11 +202,15 @@ class App(object):
             if response == gtk.RESPONSE_OK:
                 path = filechooser.get_filename()
                 try:
-                    load_file(path)
+                    self.recorder.load_file(path)
                     self.file_load = path
                     break
                 except IOError:
-                    dialog = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, &quot;Permission denied!&quot;)
+                    dialog = gtk.MessageDialog(None, 
+                                                0, 
+                                                gtk.MESSAGE_ERROR, 
+                                                gtk.BUTTONS_OK, 
+                                                &quot;Permission denied!&quot;)
                     dialog.run()
                     dialog.destroy()
             else:
@@ -238,10 +244,14 @@ class App(object):
 
             if path != None:
                 try:
-                    save_buffer(path)
+                    self.recorder.save_buffer(path)
                     break
                 except IOError:
-                    dialog = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, &quot;Permission denied!&quot;)
+                    dialog = gtk.MessageDialog(None, 
+                                                0, 
+                                                gtk.MESSAGE_ERROR, 
+                                                gtk.BUTTONS_OK, 
+                                                &quot;Permission denied!&quot;)
                     dialog.run()
                     dialog.destroy()
 
@@ -251,7 +261,9 @@ class App(object):
  
 
     def popup_menu(self, widget, button, ctime):
-        self.menu.popup(None, None, gtk.status_icon_position_menu, button, ctime, widget)
+        self.menu.popup(None, None, 
+                        gtk.status_icon_position_menu, 
+                        button, ctime, widget)
 
     def run(self):
         pynotify.init(&quot;XorgRecord&quot;)</diff>
      <filename>xorgrecord.py</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>play.py</filename>
    </removed>
    <removed>
      <filename>record.py</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>372c3cef0906a674a309cfa4994adee9568ebc8f</id>
    </parent>
  </parents>
  <author>
    <name>Rodrigo Pinheiro Marques de Ara&#250;jo</name>
    <email>fenrrir@gmail.com</email>
  </author>
  <url>http://github.com/fenrrir/xorgrecord/commit/19fffc898af2b402bcbab8e592de972f42405f05</url>
  <id>19fffc898af2b402bcbab8e592de972f42405f05</id>
  <committed-date>2008-06-14T09:00:29-07:00</committed-date>
  <authored-date>2008-06-14T09:00:29-07:00</authored-date>
  <message>usando classes</message>
  <tree>9681c5d737999f4bd2d1f02feb50c8f38b13552b</tree>
  <committer>
    <name>Rodrigo Pinheiro Marques de Ara&#250;jo</name>
    <email>fenrrir@gmail.com</email>
  </committer>
</commit>
