Just a little fix, these lines:
175 + self.area = drawing_area
176 + self.drawing_area.queue_draw()
have to be:
175 + self.area = drawing_area
176 + self.area.queue_draw()
Otherwise it wont work.
About *Player class, perhaps it'd be fine to merge CairoPlayer and GtkCairoPlayer (let's still think about it a little); although the base Player class could be useful, as it could be tested without a GUI, and cause it could be subclassed by a future Wx/Qt/web/whatever based GUI.
Completely agree on the cleaning part.
Just a little fix, these lines: area.queue_ draw() queue_draw( )
175 + self.area = drawing_area
176 + self.drawing_
have to be:
175 + self.area = drawing_area
176 + self.area.
Otherwise it wont work.
About *Player class, perhaps it'd be fine to merge CairoPlayer and GtkCairoPlayer (let's still think about it a little); although the base Player class could be useful, as it could be tested without a GUI, and cause it could be subclassed by a future Wx/Qt/web/whatever based GUI.