From 4c4732c6ed8cb0aaa70fb2d4c6e5a958868c5349 Mon Sep 17 00:00:00 2001
From: pin <pin@fe552daf-6dbe-4428-90eb-1537e0879342>
Date: Wed, 19 May 2010 12:28:12 +0000
Subject: [PATCH] =?utf8?q?m=C3=A9nage=20(par=20le=20vide)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit

git-svn-id: https://svn.cri.ensmp.fr/svn/minwii/trunk@173 fe552daf-6dbe-4428-90eb-1537e0879342
---
 src/controllers/Wiimote.py                    |  133 --
 src/controllers/__init__.py                   |    0
 src/cursor/WarpingCursor.py                   |  155 --
 src/cursor/__init__.py                        |    0
 src/cursor/cursorImages/black/0.png           |  Bin 1499 -> 0 bytes
 src/cursor/cursorImages/black/1.png           |  Bin 1618 -> 0 bytes
 src/cursor/cursorImages/black/10.png          |  Bin 1393 -> 0 bytes
 src/cursor/cursorImages/black/2.png           |  Bin 1769 -> 0 bytes
 src/cursor/cursorImages/black/3.png           |  Bin 1917 -> 0 bytes
 src/cursor/cursorImages/black/4.png           |  Bin 2034 -> 0 bytes
 src/cursor/cursorImages/black/5.png           |  Bin 2154 -> 0 bytes
 src/cursor/cursorImages/black/6.png           |  Bin 2358 -> 0 bytes
 src/cursor/cursorImages/black/7.png           |  Bin 2450 -> 0 bytes
 src/cursor/cursorImages/black/8.png           |  Bin 2627 -> 0 bytes
 src/cursor/cursorImages/black/9.png           |  Bin 2550 -> 0 bytes
 src/cursor/cursorImages/black/cursorBlack.svg |   99 --
 src/cursor/cursorImages/black/flash.png       |  Bin 904 -> 0 bytes
 src/cursor/cursorImages/blue/0.png            |  Bin 919 -> 0 bytes
 src/cursor/cursorImages/blue/1.png            |  Bin 1021 -> 0 bytes
 src/cursor/cursorImages/blue/10.png           |  Bin 1300 -> 0 bytes
 src/cursor/cursorImages/blue/2.png            |  Bin 1120 -> 0 bytes
 src/cursor/cursorImages/blue/3.png            |  Bin 1212 -> 0 bytes
 src/cursor/cursorImages/blue/4.png            |  Bin 1281 -> 0 bytes
 src/cursor/cursorImages/blue/5.png            |  Bin 1412 -> 0 bytes
 src/cursor/cursorImages/blue/6.png            |  Bin 1542 -> 0 bytes
 src/cursor/cursorImages/blue/7.png            |  Bin 1637 -> 0 bytes
 src/cursor/cursorImages/blue/8.png            |  Bin 1788 -> 0 bytes
 src/cursor/cursorImages/blue/9.png            |  Bin 1773 -> 0 bytes
 src/cursor/cursorImages/blue/cursorBlue.svg   |   99 --
 src/cursor/cursorImages/green/0.png           |  Bin 923 -> 0 bytes
 src/cursor/cursorImages/green/1.png           |  Bin 1022 -> 0 bytes
 src/cursor/cursorImages/green/10.png          |  Bin 1362 -> 0 bytes
 src/cursor/cursorImages/green/2.png           |  Bin 1131 -> 0 bytes
 src/cursor/cursorImages/green/3.png           |  Bin 1243 -> 0 bytes
 src/cursor/cursorImages/green/4.png           |  Bin 1331 -> 0 bytes
 src/cursor/cursorImages/green/5.png           |  Bin 1495 -> 0 bytes
 src/cursor/cursorImages/green/6.png           |  Bin 1617 -> 0 bytes
 src/cursor/cursorImages/green/7.png           |  Bin 1756 -> 0 bytes
 src/cursor/cursorImages/green/8.png           |  Bin 1870 -> 0 bytes
 src/cursor/cursorImages/green/9.png           |  Bin 1882 -> 0 bytes
 src/cursor/cursorImages/green/cursorGreen.svg |   99 --
 src/cursor/cursorImages/red/0.png             |  Bin 897 -> 0 bytes
 src/cursor/cursorImages/red/1.png             |  Bin 1032 -> 0 bytes
 src/cursor/cursorImages/red/10.png            |  Bin 1374 -> 0 bytes
 src/cursor/cursorImages/red/2.png             |  Bin 1127 -> 0 bytes
 src/cursor/cursorImages/red/3.png             |  Bin 1237 -> 0 bytes
 src/cursor/cursorImages/red/4.png             |  Bin 1353 -> 0 bytes
 src/cursor/cursorImages/red/5.png             |  Bin 1462 -> 0 bytes
 src/cursor/cursorImages/red/6.png             |  Bin 1605 -> 0 bytes
 src/cursor/cursorImages/red/7.png             |  Bin 1731 -> 0 bytes
 src/cursor/cursorImages/red/8.png             |  Bin 1850 -> 0 bytes
 src/cursor/cursorImages/red/9.png             |  Bin 1848 -> 0 bytes
 src/cursor/cursorImages/red/cursorRed.svg     |   99 --
 src/data/themes/default/Vera.ttf              |  Bin 65932 -> 0 bytes
 src/data/themes/default/box.down.png          |  Bin 312 -> 0 bytes
 src/data/themes/default/box.hover.png         |  Bin 324 -> 0 bytes
 src/data/themes/default/box.normal.png        |  Bin 242 -> 0 bytes
 src/data/themes/default/box.xcf               |  Bin 2004 -> 0 bytes
 src/data/themes/default/button.down.tga       |  Bin 786 -> 0 bytes
 src/data/themes/default/button.hover.tga      |  Bin 776 -> 0 bytes
 src/data/themes/default/button.normal.tga     |  Bin 729 -> 0 bytes
 src/data/themes/default/check.png             |  Bin 205 -> 0 bytes
 .../themes/default/checkbox.off.hover.tga     |  Bin 442 -> 0 bytes
 .../themes/default/checkbox.off.normal.tga    |  Bin 320 -> 0 bytes
 src/data/themes/default/checkbox.on.hover.tga |  Bin 535 -> 0 bytes
 .../themes/default/checkbox.on.normal.tga     |  Bin 500 -> 0 bytes
 src/data/themes/default/config.txt            |  291 ----
 .../themes/default/console.input.focus.png    |  Bin 224 -> 0 bytes
 .../themes/default/console.input.normal.png   |  Bin 224 -> 0 bytes
 src/data/themes/default/console.png           |  Bin 224 -> 0 bytes
 src/data/themes/default/desktop.png           |  Bin 181 -> 0 bytes
 src/data/themes/default/desktop.xcf           |  Bin 1975 -> 0 bytes
 src/data/themes/default/dialog.bar.png        |  Bin 329 -> 0 bytes
 src/data/themes/default/dialog.close.down.tga |  Bin 677 -> 0 bytes
 .../themes/default/dialog.close.hover.tga     |  Bin 668 -> 0 bytes
 .../themes/default/dialog.close.normal.tga    |  Bin 582 -> 0 bytes
 src/data/themes/default/dialog.png            |  Bin 322 -> 0 bytes
 src/data/themes/default/dot.down.png          |  Bin 549 -> 0 bytes
 src/data/themes/default/dot.hover.png         |  Bin 548 -> 0 bytes
 src/data/themes/default/dot.normal.png        |  Bin 366 -> 0 bytes
 src/data/themes/default/dot.xcf               |  Bin 1930 -> 0 bytes
 src/data/themes/default/down.png              |  Bin 202 -> 0 bytes
 .../themes/default/filebrowser.folder.png     |  Bin 634 -> 0 bytes
 src/data/themes/default/generate.py           |   98 --
 src/data/themes/default/hslider.bar.hover.tga |  Bin 776 -> 0 bytes
 .../themes/default/hslider.bar.normal.tga     |  Bin 729 -> 0 bytes
 src/data/themes/default/hslider.left.tga      |  Bin 372 -> 0 bytes
 src/data/themes/default/hslider.right.tga     |  Bin 372 -> 0 bytes
 src/data/themes/default/hslider.tga           |  Bin 1231 -> 0 bytes
 src/data/themes/default/idot.normal.png       |  Bin 408 -> 0 bytes
 src/data/themes/default/input.focus.png       |  Bin 181 -> 0 bytes
 src/data/themes/default/input.normal.png      |  Bin 208 -> 0 bytes
 src/data/themes/default/left.png              |  Bin 209 -> 0 bytes
 src/data/themes/default/list.item.down.png    |  Bin 190 -> 0 bytes
 src/data/themes/default/list.item.hover.png   |  Bin 172 -> 0 bytes
 src/data/themes/default/list.item.normal.png  |  Bin 172 -> 0 bytes
 src/data/themes/default/list.png              |  Bin 129 -> 0 bytes
 src/data/themes/default/listitem.down.tga     |  Bin 2226 -> 0 bytes
 src/data/themes/default/listitem.hover.tga    |  Bin 2226 -> 0 bytes
 src/data/themes/default/listitem.normal.tga   |  Bin 2322 -> 0 bytes
 src/data/themes/default/menu.down.tga         |  Bin 528 -> 0 bytes
 src/data/themes/default/menu.hover.tga        |  Bin 441 -> 0 bytes
 src/data/themes/default/menu.normal.tga       |  Bin 78 -> 0 bytes
 src/data/themes/default/notes.txt             |    8 -
 src/data/themes/default/out.tga               |  Bin 795 -> 0 bytes
 src/data/themes/default/progressbar.bar.tga   |  Bin 563 -> 0 bytes
 src/data/themes/default/progressbar.tga       |  Bin 412 -> 0 bytes
 src/data/themes/default/radio.off.hover.tga   |  Bin 582 -> 0 bytes
 src/data/themes/default/radio.off.normal.tga  |  Bin 537 -> 0 bytes
 src/data/themes/default/radio.on.hover.tga    |  Bin 637 -> 0 bytes
 src/data/themes/default/radio.on.normal.tga   |  Bin 646 -> 0 bytes
 src/data/themes/default/radio.png             |  Bin 197 -> 0 bytes
 src/data/themes/default/rdot.down.png         |  Bin 525 -> 0 bytes
 src/data/themes/default/rdot.hover.png        |  Bin 529 -> 0 bytes
 src/data/themes/default/rdot.normal.png       |  Bin 370 -> 0 bytes
 src/data/themes/default/right.png             |  Bin 206 -> 0 bytes
 src/data/themes/default/sbox.normal.png       |  Bin 232 -> 0 bytes
 .../default/scroller.slide.bar.hover.tga      |  Bin 342 -> 0 bytes
 .../default/scroller.slide.bar.normal.tga     |  Bin 342 -> 0 bytes
 src/data/themes/default/scroller.slide.h.tga  |  Bin 1278 -> 0 bytes
 src/data/themes/default/scroller.slide.v.tga  |  Bin 1278 -> 0 bytes
 src/data/themes/default/select.arrow.down.tga |  Bin 344 -> 0 bytes
 .../themes/default/select.arrow.hover.tga     |  Bin 363 -> 0 bytes
 .../themes/default/select.arrow.normal.tga    |  Bin 363 -> 0 bytes
 src/data/themes/default/select.arrow.png      |  Bin 156 -> 0 bytes
 .../themes/default/select.option.hover.png    |  Bin 190 -> 0 bytes
 .../themes/default/select.option.normal.png   |  Bin 172 -> 0 bytes
 src/data/themes/default/select.options.png    |  Bin 181 -> 0 bytes
 .../themes/default/select.selected.down.tga   |  Bin 322 -> 0 bytes
 .../themes/default/select.selected.hover.tga  |  Bin 338 -> 0 bytes
 .../themes/default/select.selected.normal.tga |  Bin 282 -> 0 bytes
 src/data/themes/default/slider.bar.hover.tga  |  Bin 776 -> 0 bytes
 src/data/themes/default/slider.bar.normal.tga |  Bin 729 -> 0 bytes
 src/data/themes/default/slider.tga            |  Bin 1231 -> 0 bytes
 src/data/themes/default/tool.down.tga         |  Bin 528 -> 0 bytes
 src/data/themes/default/tool.hover.tga        |  Bin 563 -> 0 bytes
 src/data/themes/default/tool.normal.tga       |  Bin 441 -> 0 bytes
 src/data/themes/default/up.png                |  Bin 195 -> 0 bytes
 src/data/themes/default/vbox.normal.png       |  Bin 233 -> 0 bytes
 src/data/themes/default/vdot.down.png         |  Bin 540 -> 0 bytes
 src/data/themes/default/vdot.hover.png        |  Bin 527 -> 0 bytes
 src/data/themes/default/vdot.normal.png       |  Bin 354 -> 0 bytes
 src/data/themes/default/vsbox.normal.png      |  Bin 224 -> 0 bytes
 src/data/themes/default/vslider.bar.hover.tga |  Bin 1412 -> 0 bytes
 .../themes/default/vslider.bar.normal.tga     |  Bin 1412 -> 0 bytes
 src/data/themes/default/vslider.down.tga      |  Bin 864 -> 0 bytes
 src/data/themes/default/vslider.tga           |  Bin 1231 -> 0 bytes
 src/data/themes/default/vslider.up.tga        |  Bin 864 -> 0 bytes
 src/data/themes/default/x.png                 |  Bin 199 -> 0 bytes
 src/data/themes/gray/Vera.ttf                 |  Bin 65932 -> 0 bytes
 src/data/themes/gray/box.down.png             |  Bin 225 -> 0 bytes
 src/data/themes/gray/box.normal.png           |  Bin 230 -> 0 bytes
 src/data/themes/gray/button.down.png          |  Bin 191 -> 0 bytes
 src/data/themes/gray/button.normal.png        |  Bin 199 -> 0 bytes
 src/data/themes/gray/checkbox.off.down.png    |  Bin 165 -> 0 bytes
 src/data/themes/gray/checkbox.off.normal.png  |  Bin 178 -> 0 bytes
 src/data/themes/gray/checkbox.on.down.png     |  Bin 213 -> 0 bytes
 src/data/themes/gray/checkbox.on.normal.png   |  Bin 216 -> 0 bytes
 src/data/themes/gray/config.txt               |  244 ---
 src/data/themes/gray/console.input.focus.png  |  Bin 224 -> 0 bytes
 src/data/themes/gray/console.input.normal.png |  Bin 224 -> 0 bytes
 src/data/themes/gray/console.png              |  Bin 224 -> 0 bytes
 src/data/themes/gray/desktop.png              |  Bin 131 -> 0 bytes
 src/data/themes/gray/dialog.bar.png           |  Bin 138 -> 0 bytes
 src/data/themes/gray/dialog.close.down.png    |  Bin 270 -> 0 bytes
 src/data/themes/gray/dialog.close.normal.png  |  Bin 217 -> 0 bytes
 src/data/themes/gray/dialog.png               |  Bin 138 -> 0 bytes
 src/data/themes/gray/filebrowser.folder.png   |  Bin 634 -> 0 bytes
 src/data/themes/gray/input.focus.png          |  Bin 181 -> 0 bytes
 src/data/themes/gray/input.normal.png         |  Bin 208 -> 0 bytes
 src/data/themes/gray/list.item.normal.png     |  Bin 172 -> 0 bytes
 src/data/themes/gray/list.png                 |  Bin 129 -> 0 bytes
 src/data/themes/gray/menu.down.png            |  Bin 149 -> 0 bytes
 src/data/themes/gray/menu.hover.png           |  Bin 150 -> 0 bytes
 src/data/themes/gray/menu.normal.png          |  Bin 120 -> 0 bytes
 src/data/themes/gray/menu.option.hover.png    |  Bin 147 -> 0 bytes
 src/data/themes/gray/menu.option.normal.png   |  Bin 131 -> 0 bytes
 src/data/themes/gray/radio.off.down.png       |  Bin 224 -> 0 bytes
 src/data/themes/gray/radio.off.normal.png     |  Bin 238 -> 0 bytes
 src/data/themes/gray/radio.on.down.png        |  Bin 248 -> 0 bytes
 src/data/themes/gray/radio.on.normal.png      |  Bin 250 -> 0 bytes
 src/data/themes/gray/select.arrow.down.png    |  Bin 149 -> 0 bytes
 src/data/themes/gray/select.arrow.normal.png  |  Bin 168 -> 0 bytes
 src/data/themes/gray/select.arrow.png         |  Bin 156 -> 0 bytes
 src/data/themes/gray/select.option.normal.png |  Bin 172 -> 0 bytes
 src/data/themes/gray/select.options.png       |  Bin 181 -> 0 bytes
 .../themes/gray/select.selected.normal.png    |  Bin 135 -> 0 bytes
 src/data/themes/gray/slider.bar.normal.png    |  Bin 181 -> 0 bytes
 src/data/themes/gray/slider.png               |  Bin 145 -> 0 bytes
 src/data/themes/gray/tool.down.png            |  Bin 168 -> 0 bytes
 src/data/themes/gray/tool.normal.png          |  Bin 168 -> 0 bytes
 src/data/themes/tools/config.txt              |   11 -
 src/data/themes/tools/icons48.bkgr.tga        |  Bin 1595 -> 0 bytes
 src/data/themes/tools/icons48.code.tga        |  Bin 1360 -> 0 bytes
 src/data/themes/tools/icons48.draw.tga        |  Bin 1443 -> 0 bytes
 src/data/themes/tools/icons48.eraser.tga      |  Bin 1381 -> 0 bytes
 src/data/themes/tools/icons48.fill.tga        |  Bin 1221 -> 0 bytes
 src/data/themes/tools/icons48.line.tga        |  Bin 1141 -> 0 bytes
 src/data/themes/tools/icons48.pixel.tga       |  Bin 1210 -> 0 bytes
 src/data/themes/tools/icons48.select.tga      |  Bin 1457 -> 0 bytes
 src/data/themes/tools/icons48.tile.tga        |  Bin 1268 -> 0 bytes
 src/dataTools/__init__.py                     |    0
 src/dataTools/odict.py                        | 1399 -----------------
 src/gradients/__init__.py                     |    0
 src/gradients/gradients.py                    |  576 -------
 src/gui/DefaultFamiliarizer.py                |   27 -
 src/gui/DummyInstrumentChoice.py              |   57 -
 src/gui/Familiarizer.py                       |  328 ----
 src/gui/FamiliarizerPGUConfiguration.py       |  237 ---
 src/gui/InstrumentChoice.py                   |  315 ----
 src/gui/MINWiiDialog.py                       |   65 -
 src/gui/PGUConfiguration.py                   |  313 ----
 src/gui/PlayingScreen.py                      |  439 ------
 src/gui/SongFamiliarizer.py                   |  583 -------
 src/gui/SongPlayingScreen.py                  |  736 ---------
 src/gui/StaticFamiliarizer.py                 |  457 ------
 src/gui/__init__.py                           |    0
 src/gui/constants.py                          |  130 --
 src/instruments/Instrument.py                 |   46 -
 src/instruments/__init__.py                   |    0
 .../instrumentImages/accordeon.jpg            |  Bin 31184 -> 0 bytes
 .../instrumentImages/accordeonOld.jpg         |  Bin 129956 -> 0 bytes
 src/instruments/instrumentImages/celesta.jpg  |  Bin 44497 -> 0 bytes
 .../instrumentImages/celestaOld.jpg           |  Bin 269517 -> 0 bytes
 src/instruments/instrumentImages/flute.jpg    |  Bin 35201 -> 0 bytes
 src/instruments/instrumentImages/guitare.jpg  |  Bin 20831 -> 0 bytes
 src/instruments/instrumentImages/orgue.jpg    |  Bin 23105 -> 0 bytes
 src/instruments/instrumentImages/piano.jpg    |  Bin 56087 -> 0 bytes
 src/instruments/instrumentImages/tuba.jpg     |  Bin 16913 -> 0 bytes
 src/instruments/instrumentImages/violon.jpg   |  Bin 15964 -> 0 bytes
 .../instrumentImages/violoncelle.jpg          |  Bin 52483 -> 0 bytes
 src/launcher/__init__.py                      |    0
 src/logging.disabled/EventLog.py              |   69 -
 src/logging.disabled/FamiliarizerLog.py       |  100 --
 src/logging.disabled/Log.py                   |  135 --
 src/logging.disabled/LogPGUAnalyzer.py        |   42 -
 src/logging.disabled/LogPGUPlayer.py          |  237 ---
 src/logging.disabled/PickleableEvent.py       |   24 -
 src/logging.disabled/__init__.py              |    0
 src/mxmMidi/DataTypeConverters.py             |  217 ---
 src/mxmMidi/EventDispatcher.py                |  287 ----
 src/mxmMidi/MidiFileParser.py                 |  192 ---
 src/mxmMidi/MidiInFile.py                     |   55 -
 src/mxmMidi/MidiInStream.py                   |   52 -
 src/mxmMidi/MidiOutFile.py                    |  448 ------
 src/mxmMidi/MidiOutStream.py                  |  471 ------
 src/mxmMidi/MidiToText.py                     |  184 ---
 src/mxmMidi/RawInstreamFile.py                |  108 --
 src/mxmMidi/RawOutstreamFile.py               |   69 -
 src/mxmMidi/__init__.py                       |    6 -
 src/mxmMidi/changes.txt                       |   45 -
 src/mxmMidi/constants.py                      |  210 ---
 src/mxmMidi/example_mimimal_type0.py          |   29 -
 src/mxmMidi/example_print_channel_0.py        |   23 -
 src/mxmMidi/example_print_events.py           |   28 -
 src/mxmMidi/example_print_file.py             |   19 -
 src/mxmMidi/example_transpose_octave.py       |   40 -
 .../experimental/EventDispatcherBase.py       |   76 -
 .../experimental/MidiOutPassThrough.py        |  182 ---
 src/mxmMidi/experimental/MidiOutStreamBase.py |  135 --
 src/mxmMidi/experimental/readme.txt           |    1 -
 src/mxmMidi/midiout/minimal_type0.mid         |  Bin 35 -> 0 bytes
 src/mxmMidi/midiout/transposed.mid            |  Bin 15914 -> 0 bytes
 src/mxmMidi/readme.txt                        |   50 -
 src/mxmMidi/test/midifiles/midiout.mid        |  Bin 1067 -> 0 bytes
 .../test/midifiles/minimal-cubase-type0.mid   |  Bin 59 -> 0 bytes
 .../test/midifiles/minimal-cubase-type1.mid   |  Bin 434 -> 0 bytes
 src/mxmMidi/test/midifiles/minimal.mid        |  Bin 96 -> 0 bytes
 src/mxmMidi/test/midifiles/minimal.txt        |   26 -
 .../test/midifiles/minimal_analyse.txt        |   54 -
 src/mxmMidi/test/midifiles/readme.txt         |    7 -
 src/mxmMidi/test/readme.txt                   |    3 -
 src/mxmMidi/version.txt                       |    1 -
 src/pgu/__init__.py                           |    7 -
 src/pgu/algo.py                               |  143 --
 src/pgu/ani.py                                |   90 --
 src/pgu/engine.py                             |  154 --
 src/pgu/fonts.py                              |  130 --
 src/pgu/gui/__init__.py                       |   32 -
 src/pgu/gui/app.py                            |  279 ----
 src/pgu/gui/area.py                           |  454 ------
 src/pgu/gui/basic.py                          |  136 --
 src/pgu/gui/button.py                         |  351 -----
 src/pgu/gui/const.py                          |   45 -
 src/pgu/gui/container.py                      |  414 -----
 src/pgu/gui/deprecated.py                     |   76 -
 src/pgu/gui/dialog.py                         |  168 --
 src/pgu/gui/document.py                       |  112 --
 src/pgu/gui/form.py                           |   79 -
 src/pgu/gui/group.py                          |   43 -
 src/pgu/gui/input.py                          |  169 --
 src/pgu/gui/keysym.py                         |   72 -
 src/pgu/gui/layout.py                         |  172 --
 src/pgu/gui/menus.py                          |  119 --
 src/pgu/gui/misc.py                           |   43 -
 src/pgu/gui/pguglobals.py                     |    7 -
 src/pgu/gui/select.py                         |  180 ---
 src/pgu/gui/slider.py                         |  279 ----
 src/pgu/gui/style.py                          |   41 -
 src/pgu/gui/surface.py                        |  143 --
 src/pgu/gui/table.py                          |  331 ----
 src/pgu/gui/textarea.py                       |  287 ----
 src/pgu/gui/theme.py                          |  485 ------
 src/pgu/gui/widget.py                         |  377 -----
 src/pgu/hexvid.py                             |  127 --
 src/pgu/high.py                               |  154 --
 src/pgu/html.py                               |  571 -------
 src/pgu/isovid.py                             |  182 ---
 src/pgu/layout.py                             |    4 -
 src/pgu/text.py                               |   61 -
 src/pgu/tilevid.py                            |  195 ---
 src/pgu/timer.py                              |   68 -
 src/pgu/vid.py                                |  560 -------
 313 files changed, 18009 deletions(-)
 delete mode 100755 src/controllers/Wiimote.py
 delete mode 100755 src/controllers/__init__.py
 delete mode 100755 src/cursor/WarpingCursor.py
 delete mode 100755 src/cursor/__init__.py
 delete mode 100755 src/cursor/cursorImages/black/0.png
 delete mode 100755 src/cursor/cursorImages/black/1.png
 delete mode 100755 src/cursor/cursorImages/black/10.png
 delete mode 100755 src/cursor/cursorImages/black/2.png
 delete mode 100755 src/cursor/cursorImages/black/3.png
 delete mode 100755 src/cursor/cursorImages/black/4.png
 delete mode 100755 src/cursor/cursorImages/black/5.png
 delete mode 100755 src/cursor/cursorImages/black/6.png
 delete mode 100755 src/cursor/cursorImages/black/7.png
 delete mode 100755 src/cursor/cursorImages/black/8.png
 delete mode 100755 src/cursor/cursorImages/black/9.png
 delete mode 100755 src/cursor/cursorImages/black/cursorBlack.svg
 delete mode 100644 src/cursor/cursorImages/black/flash.png
 delete mode 100644 src/cursor/cursorImages/blue/0.png
 delete mode 100644 src/cursor/cursorImages/blue/1.png
 delete mode 100644 src/cursor/cursorImages/blue/10.png
 delete mode 100644 src/cursor/cursorImages/blue/2.png
 delete mode 100644 src/cursor/cursorImages/blue/3.png
 delete mode 100644 src/cursor/cursorImages/blue/4.png
 delete mode 100644 src/cursor/cursorImages/blue/5.png
 delete mode 100644 src/cursor/cursorImages/blue/6.png
 delete mode 100644 src/cursor/cursorImages/blue/7.png
 delete mode 100644 src/cursor/cursorImages/blue/8.png
 delete mode 100644 src/cursor/cursorImages/blue/9.png
 delete mode 100644 src/cursor/cursorImages/blue/cursorBlue.svg
 delete mode 100644 src/cursor/cursorImages/green/0.png
 delete mode 100644 src/cursor/cursorImages/green/1.png
 delete mode 100644 src/cursor/cursorImages/green/10.png
 delete mode 100644 src/cursor/cursorImages/green/2.png
 delete mode 100644 src/cursor/cursorImages/green/3.png
 delete mode 100644 src/cursor/cursorImages/green/4.png
 delete mode 100644 src/cursor/cursorImages/green/5.png
 delete mode 100644 src/cursor/cursorImages/green/6.png
 delete mode 100644 src/cursor/cursorImages/green/7.png
 delete mode 100644 src/cursor/cursorImages/green/8.png
 delete mode 100644 src/cursor/cursorImages/green/9.png
 delete mode 100644 src/cursor/cursorImages/green/cursorGreen.svg
 delete mode 100644 src/cursor/cursorImages/red/0.png
 delete mode 100644 src/cursor/cursorImages/red/1.png
 delete mode 100644 src/cursor/cursorImages/red/10.png
 delete mode 100644 src/cursor/cursorImages/red/2.png
 delete mode 100644 src/cursor/cursorImages/red/3.png
 delete mode 100644 src/cursor/cursorImages/red/4.png
 delete mode 100644 src/cursor/cursorImages/red/5.png
 delete mode 100644 src/cursor/cursorImages/red/6.png
 delete mode 100644 src/cursor/cursorImages/red/7.png
 delete mode 100644 src/cursor/cursorImages/red/8.png
 delete mode 100644 src/cursor/cursorImages/red/9.png
 delete mode 100644 src/cursor/cursorImages/red/cursorRed.svg
 delete mode 100644 src/data/themes/default/Vera.ttf
 delete mode 100644 src/data/themes/default/box.down.png
 delete mode 100644 src/data/themes/default/box.hover.png
 delete mode 100644 src/data/themes/default/box.normal.png
 delete mode 100644 src/data/themes/default/box.xcf
 delete mode 100644 src/data/themes/default/button.down.tga
 delete mode 100644 src/data/themes/default/button.hover.tga
 delete mode 100644 src/data/themes/default/button.normal.tga
 delete mode 100644 src/data/themes/default/check.png
 delete mode 100644 src/data/themes/default/checkbox.off.hover.tga
 delete mode 100644 src/data/themes/default/checkbox.off.normal.tga
 delete mode 100644 src/data/themes/default/checkbox.on.hover.tga
 delete mode 100644 src/data/themes/default/checkbox.on.normal.tga
 delete mode 100644 src/data/themes/default/config.txt
 delete mode 100644 src/data/themes/default/console.input.focus.png
 delete mode 100644 src/data/themes/default/console.input.normal.png
 delete mode 100644 src/data/themes/default/console.png
 delete mode 100644 src/data/themes/default/desktop.png
 delete mode 100644 src/data/themes/default/desktop.xcf
 delete mode 100644 src/data/themes/default/dialog.bar.png
 delete mode 100644 src/data/themes/default/dialog.close.down.tga
 delete mode 100644 src/data/themes/default/dialog.close.hover.tga
 delete mode 100644 src/data/themes/default/dialog.close.normal.tga
 delete mode 100644 src/data/themes/default/dialog.png
 delete mode 100644 src/data/themes/default/dot.down.png
 delete mode 100644 src/data/themes/default/dot.hover.png
 delete mode 100644 src/data/themes/default/dot.normal.png
 delete mode 100644 src/data/themes/default/dot.xcf
 delete mode 100644 src/data/themes/default/down.png
 delete mode 100644 src/data/themes/default/filebrowser.folder.png
 delete mode 100644 src/data/themes/default/generate.py
 delete mode 100644 src/data/themes/default/hslider.bar.hover.tga
 delete mode 100644 src/data/themes/default/hslider.bar.normal.tga
 delete mode 100644 src/data/themes/default/hslider.left.tga
 delete mode 100644 src/data/themes/default/hslider.right.tga
 delete mode 100644 src/data/themes/default/hslider.tga
 delete mode 100644 src/data/themes/default/idot.normal.png
 delete mode 100644 src/data/themes/default/input.focus.png
 delete mode 100644 src/data/themes/default/input.normal.png
 delete mode 100644 src/data/themes/default/left.png
 delete mode 100644 src/data/themes/default/list.item.down.png
 delete mode 100644 src/data/themes/default/list.item.hover.png
 delete mode 100644 src/data/themes/default/list.item.normal.png
 delete mode 100644 src/data/themes/default/list.png
 delete mode 100644 src/data/themes/default/listitem.down.tga
 delete mode 100644 src/data/themes/default/listitem.hover.tga
 delete mode 100644 src/data/themes/default/listitem.normal.tga
 delete mode 100644 src/data/themes/default/menu.down.tga
 delete mode 100644 src/data/themes/default/menu.hover.tga
 delete mode 100644 src/data/themes/default/menu.normal.tga
 delete mode 100644 src/data/themes/default/notes.txt
 delete mode 100644 src/data/themes/default/out.tga
 delete mode 100644 src/data/themes/default/progressbar.bar.tga
 delete mode 100644 src/data/themes/default/progressbar.tga
 delete mode 100644 src/data/themes/default/radio.off.hover.tga
 delete mode 100644 src/data/themes/default/radio.off.normal.tga
 delete mode 100644 src/data/themes/default/radio.on.hover.tga
 delete mode 100644 src/data/themes/default/radio.on.normal.tga
 delete mode 100644 src/data/themes/default/radio.png
 delete mode 100644 src/data/themes/default/rdot.down.png
 delete mode 100644 src/data/themes/default/rdot.hover.png
 delete mode 100644 src/data/themes/default/rdot.normal.png
 delete mode 100644 src/data/themes/default/right.png
 delete mode 100644 src/data/themes/default/sbox.normal.png
 delete mode 100644 src/data/themes/default/scroller.slide.bar.hover.tga
 delete mode 100644 src/data/themes/default/scroller.slide.bar.normal.tga
 delete mode 100644 src/data/themes/default/scroller.slide.h.tga
 delete mode 100644 src/data/themes/default/scroller.slide.v.tga
 delete mode 100644 src/data/themes/default/select.arrow.down.tga
 delete mode 100644 src/data/themes/default/select.arrow.hover.tga
 delete mode 100644 src/data/themes/default/select.arrow.normal.tga
 delete mode 100644 src/data/themes/default/select.arrow.png
 delete mode 100644 src/data/themes/default/select.option.hover.png
 delete mode 100644 src/data/themes/default/select.option.normal.png
 delete mode 100644 src/data/themes/default/select.options.png
 delete mode 100644 src/data/themes/default/select.selected.down.tga
 delete mode 100644 src/data/themes/default/select.selected.hover.tga
 delete mode 100644 src/data/themes/default/select.selected.normal.tga
 delete mode 100644 src/data/themes/default/slider.bar.hover.tga
 delete mode 100644 src/data/themes/default/slider.bar.normal.tga
 delete mode 100644 src/data/themes/default/slider.tga
 delete mode 100644 src/data/themes/default/tool.down.tga
 delete mode 100644 src/data/themes/default/tool.hover.tga
 delete mode 100644 src/data/themes/default/tool.normal.tga
 delete mode 100644 src/data/themes/default/up.png
 delete mode 100644 src/data/themes/default/vbox.normal.png
 delete mode 100644 src/data/themes/default/vdot.down.png
 delete mode 100644 src/data/themes/default/vdot.hover.png
 delete mode 100644 src/data/themes/default/vdot.normal.png
 delete mode 100644 src/data/themes/default/vsbox.normal.png
 delete mode 100644 src/data/themes/default/vslider.bar.hover.tga
 delete mode 100644 src/data/themes/default/vslider.bar.normal.tga
 delete mode 100644 src/data/themes/default/vslider.down.tga
 delete mode 100644 src/data/themes/default/vslider.tga
 delete mode 100644 src/data/themes/default/vslider.up.tga
 delete mode 100644 src/data/themes/default/x.png
 delete mode 100644 src/data/themes/gray/Vera.ttf
 delete mode 100644 src/data/themes/gray/box.down.png
 delete mode 100644 src/data/themes/gray/box.normal.png
 delete mode 100644 src/data/themes/gray/button.down.png
 delete mode 100644 src/data/themes/gray/button.normal.png
 delete mode 100644 src/data/themes/gray/checkbox.off.down.png
 delete mode 100644 src/data/themes/gray/checkbox.off.normal.png
 delete mode 100644 src/data/themes/gray/checkbox.on.down.png
 delete mode 100644 src/data/themes/gray/checkbox.on.normal.png
 delete mode 100644 src/data/themes/gray/config.txt
 delete mode 100644 src/data/themes/gray/console.input.focus.png
 delete mode 100644 src/data/themes/gray/console.input.normal.png
 delete mode 100644 src/data/themes/gray/console.png
 delete mode 100644 src/data/themes/gray/desktop.png
 delete mode 100644 src/data/themes/gray/dialog.bar.png
 delete mode 100644 src/data/themes/gray/dialog.close.down.png
 delete mode 100644 src/data/themes/gray/dialog.close.normal.png
 delete mode 100644 src/data/themes/gray/dialog.png
 delete mode 100644 src/data/themes/gray/filebrowser.folder.png
 delete mode 100644 src/data/themes/gray/input.focus.png
 delete mode 100644 src/data/themes/gray/input.normal.png
 delete mode 100644 src/data/themes/gray/list.item.normal.png
 delete mode 100644 src/data/themes/gray/list.png
 delete mode 100644 src/data/themes/gray/menu.down.png
 delete mode 100644 src/data/themes/gray/menu.hover.png
 delete mode 100644 src/data/themes/gray/menu.normal.png
 delete mode 100644 src/data/themes/gray/menu.option.hover.png
 delete mode 100644 src/data/themes/gray/menu.option.normal.png
 delete mode 100644 src/data/themes/gray/radio.off.down.png
 delete mode 100644 src/data/themes/gray/radio.off.normal.png
 delete mode 100644 src/data/themes/gray/radio.on.down.png
 delete mode 100644 src/data/themes/gray/radio.on.normal.png
 delete mode 100644 src/data/themes/gray/select.arrow.down.png
 delete mode 100644 src/data/themes/gray/select.arrow.normal.png
 delete mode 100644 src/data/themes/gray/select.arrow.png
 delete mode 100644 src/data/themes/gray/select.option.normal.png
 delete mode 100644 src/data/themes/gray/select.options.png
 delete mode 100644 src/data/themes/gray/select.selected.normal.png
 delete mode 100644 src/data/themes/gray/slider.bar.normal.png
 delete mode 100644 src/data/themes/gray/slider.png
 delete mode 100644 src/data/themes/gray/tool.down.png
 delete mode 100644 src/data/themes/gray/tool.normal.png
 delete mode 100644 src/data/themes/tools/config.txt
 delete mode 100644 src/data/themes/tools/icons48.bkgr.tga
 delete mode 100644 src/data/themes/tools/icons48.code.tga
 delete mode 100644 src/data/themes/tools/icons48.draw.tga
 delete mode 100644 src/data/themes/tools/icons48.eraser.tga
 delete mode 100644 src/data/themes/tools/icons48.fill.tga
 delete mode 100644 src/data/themes/tools/icons48.line.tga
 delete mode 100644 src/data/themes/tools/icons48.pixel.tga
 delete mode 100644 src/data/themes/tools/icons48.select.tga
 delete mode 100644 src/data/themes/tools/icons48.tile.tga
 delete mode 100644 src/dataTools/__init__.py
 delete mode 100644 src/dataTools/odict.py
 delete mode 100755 src/gradients/__init__.py
 delete mode 100755 src/gradients/gradients.py
 delete mode 100644 src/gui/DefaultFamiliarizer.py
 delete mode 100644 src/gui/DummyInstrumentChoice.py
 delete mode 100644 src/gui/Familiarizer.py
 delete mode 100644 src/gui/FamiliarizerPGUConfiguration.py
 delete mode 100755 src/gui/InstrumentChoice.py
 delete mode 100644 src/gui/MINWiiDialog.py
 delete mode 100644 src/gui/PGUConfiguration.py
 delete mode 100755 src/gui/PlayingScreen.py
 delete mode 100644 src/gui/SongFamiliarizer.py
 delete mode 100644 src/gui/SongPlayingScreen.py
 delete mode 100644 src/gui/StaticFamiliarizer.py
 delete mode 100755 src/gui/__init__.py
 delete mode 100755 src/gui/constants.py
 delete mode 100755 src/instruments/Instrument.py
 delete mode 100755 src/instruments/__init__.py
 delete mode 100755 src/instruments/instrumentImages/accordeon.jpg
 delete mode 100755 src/instruments/instrumentImages/accordeonOld.jpg
 delete mode 100755 src/instruments/instrumentImages/celesta.jpg
 delete mode 100755 src/instruments/instrumentImages/celestaOld.jpg
 delete mode 100755 src/instruments/instrumentImages/flute.jpg
 delete mode 100755 src/instruments/instrumentImages/guitare.jpg
 delete mode 100755 src/instruments/instrumentImages/orgue.jpg
 delete mode 100755 src/instruments/instrumentImages/piano.jpg
 delete mode 100755 src/instruments/instrumentImages/tuba.jpg
 delete mode 100755 src/instruments/instrumentImages/violon.jpg
 delete mode 100755 src/instruments/instrumentImages/violoncelle.jpg
 delete mode 100755 src/launcher/__init__.py
 delete mode 100755 src/logging.disabled/EventLog.py
 delete mode 100644 src/logging.disabled/FamiliarizerLog.py
 delete mode 100755 src/logging.disabled/Log.py
 delete mode 100644 src/logging.disabled/LogPGUAnalyzer.py
 delete mode 100644 src/logging.disabled/LogPGUPlayer.py
 delete mode 100755 src/logging.disabled/PickleableEvent.py
 delete mode 100755 src/logging.disabled/__init__.py
 delete mode 100644 src/mxmMidi/DataTypeConverters.py
 delete mode 100644 src/mxmMidi/EventDispatcher.py
 delete mode 100644 src/mxmMidi/MidiFileParser.py
 delete mode 100644 src/mxmMidi/MidiInFile.py
 delete mode 100644 src/mxmMidi/MidiInStream.py
 delete mode 100644 src/mxmMidi/MidiOutFile.py
 delete mode 100644 src/mxmMidi/MidiOutStream.py
 delete mode 100644 src/mxmMidi/MidiToText.py
 delete mode 100644 src/mxmMidi/RawInstreamFile.py
 delete mode 100644 src/mxmMidi/RawOutstreamFile.py
 delete mode 100644 src/mxmMidi/__init__.py
 delete mode 100644 src/mxmMidi/changes.txt
 delete mode 100644 src/mxmMidi/constants.py
 delete mode 100644 src/mxmMidi/example_mimimal_type0.py
 delete mode 100644 src/mxmMidi/example_print_channel_0.py
 delete mode 100644 src/mxmMidi/example_print_events.py
 delete mode 100644 src/mxmMidi/example_print_file.py
 delete mode 100644 src/mxmMidi/example_transpose_octave.py
 delete mode 100644 src/mxmMidi/experimental/EventDispatcherBase.py
 delete mode 100644 src/mxmMidi/experimental/MidiOutPassThrough.py
 delete mode 100644 src/mxmMidi/experimental/MidiOutStreamBase.py
 delete mode 100644 src/mxmMidi/experimental/readme.txt
 delete mode 100644 src/mxmMidi/midiout/minimal_type0.mid
 delete mode 100644 src/mxmMidi/midiout/transposed.mid
 delete mode 100644 src/mxmMidi/readme.txt
 delete mode 100644 src/mxmMidi/test/midifiles/midiout.mid
 delete mode 100644 src/mxmMidi/test/midifiles/minimal-cubase-type0.mid
 delete mode 100644 src/mxmMidi/test/midifiles/minimal-cubase-type1.mid
 delete mode 100644 src/mxmMidi/test/midifiles/minimal.mid
 delete mode 100644 src/mxmMidi/test/midifiles/minimal.txt
 delete mode 100644 src/mxmMidi/test/midifiles/minimal_analyse.txt
 delete mode 100644 src/mxmMidi/test/midifiles/readme.txt
 delete mode 100644 src/mxmMidi/test/readme.txt
 delete mode 100644 src/mxmMidi/version.txt
 delete mode 100644 src/pgu/__init__.py
 delete mode 100644 src/pgu/algo.py
 delete mode 100644 src/pgu/ani.py
 delete mode 100644 src/pgu/engine.py
 delete mode 100644 src/pgu/fonts.py
 delete mode 100644 src/pgu/gui/__init__.py
 delete mode 100644 src/pgu/gui/app.py
 delete mode 100644 src/pgu/gui/area.py
 delete mode 100644 src/pgu/gui/basic.py
 delete mode 100644 src/pgu/gui/button.py
 delete mode 100644 src/pgu/gui/const.py
 delete mode 100644 src/pgu/gui/container.py
 delete mode 100644 src/pgu/gui/deprecated.py
 delete mode 100644 src/pgu/gui/dialog.py
 delete mode 100644 src/pgu/gui/document.py
 delete mode 100644 src/pgu/gui/form.py
 delete mode 100644 src/pgu/gui/group.py
 delete mode 100644 src/pgu/gui/input.py
 delete mode 100644 src/pgu/gui/keysym.py
 delete mode 100644 src/pgu/gui/layout.py
 delete mode 100644 src/pgu/gui/menus.py
 delete mode 100644 src/pgu/gui/misc.py
 delete mode 100644 src/pgu/gui/pguglobals.py
 delete mode 100644 src/pgu/gui/select.py
 delete mode 100644 src/pgu/gui/slider.py
 delete mode 100644 src/pgu/gui/style.py
 delete mode 100644 src/pgu/gui/surface.py
 delete mode 100644 src/pgu/gui/table.py
 delete mode 100644 src/pgu/gui/textarea.py
 delete mode 100644 src/pgu/gui/theme.py
 delete mode 100644 src/pgu/gui/widget.py
 delete mode 100644 src/pgu/hexvid.py
 delete mode 100644 src/pgu/high.py
 delete mode 100644 src/pgu/html.py
 delete mode 100644 src/pgu/isovid.py
 delete mode 100644 src/pgu/layout.py
 delete mode 100644 src/pgu/text.py
 delete mode 100644 src/pgu/tilevid.py
 delete mode 100644 src/pgu/timer.py
 delete mode 100644 src/pgu/vid.py

diff --git a/src/controllers/Wiimote.py b/src/controllers/Wiimote.py
deleted file mode 100755
index e75cdc3..0000000
--- a/src/controllers/Wiimote.py
+++ /dev/null
@@ -1,133 +0,0 @@
-'''
-Created on 15 juil. 2009
-
-@author: Samuel Benveniste
-'''
-from gui.constants import *
-import fluidsynth
-
-class Wiimote:
-    '''
-    Object representing a Wiimote
-    
-        number:
-            The number of the Wiimote
-        port:
-            The pypm object representing the MIDI port on which the Wiimote emits
-        instrument:
-            The instrument associated with the Wiimote
-        cursor:
-            The cursor associated with the Wiimote
-    '''
-
-    def __init__(self, number, portNumber, port, instrument, cursor):
-        '''
-        Constructor
-        
-            number:
-                The number of the Wiimote
-            portNumber:
-                The number of the port (as numbered by pypm) on which the wiimote emits
-            port:
-                The pypm object representing the MIDI port on which the Wiimote emits
-            instrument:
-                The instrument associated with the Wiimote
-            cursor:
-                The cursor associated with the Wiimote            
-        '''
-        self.number = number
-        self.portNumber = portNumber
-        self.port = port
-        self.instrument = instrument
-        self.cursor = cursor
-        self.numberPlayed = 0
-        
-        self.fs = fs = fluidsynth.Synth()
-        fs.start()
-        soundFont = r"C:\Documents and Settings\Administrator\My Documents\Telechargements\fluid-soundfont-3.1\FluidR3_GM.sf2"
-        self.fsid = fsid = fs.sfload(soundFont)
-        bank = 0
-        preset = 0
-        fs.program_select(0, fsid, bank, preset)
-
-    def __del__(self) :
-        self.fs.delete()
-        
-    def getNoteOnHexCode(self):
-        return (0x90 + self.instrument.channel - 1)
-    
-    def getAftertouchHexCode(self):
-        return (0xA0 + self.instrument.channel - 1)
-    
-    def getCCHexCode(self):
-        return (0xB0 + self.instrument.channel - 1)
-    
-#    def playNote(self, note, velocity):
-#        print 'playNote'
-#        noteNumber = self.instrument.getNote(note)
-#        
-#        if noteNumber != None :
-#            noteOnHexCode = self.getNoteOnHexCode()
-#            CCHexCode = self.getCCHexCode()
-#        else :
-#            noteNumber = defaultInstrumentNote
-#            noteOnHexCode = defaultNoteOnHexCode
-#            CCHexCode = defaultCCHexCode
-#            
-#        self.port.write_short(noteOnHexCode, noteNumber , 127)
-#        self.port.write_short(CCHexCode, 07, velocity)
-
-    def playNoteByNoteNumber(self, midiNoteNumber, velocity):
-        print 'playNoteByNumber'
-        noteNumber = self.instrument.getNoteByNoteNumber(midiNoteNumber)
-        fs = self.fs
-        fs.noteon(0, noteNumber, velocity)
-        
-        return
-        noteNumber = self.instrument.getNoteByNoteNumber(midiNoteNumber)
-        
-        if noteNumber != None :
-            noteOnHexCode = self.getNoteOnHexCode()
-            CCHexCode = self.getCCHexCode()
-        else :
-            noteNumber = defaultInstrumentNote
-            noteOnHexCode = defaultNoteOnHexCode
-            CCHexCode = defaultCCHexCode
-            
-        self.port.write_short(noteOnHexCode, noteNumber , 127)
-        self.port.write_short(CCHexCode, 07, velocity)
-        
-        self.numberPlayed += 1
-        
-#    def stopNote(self, note):
-#        print 'stopNote'
-#        noteNumber = self.instrument.getNote(note)
-#        if noteNumber != None :
-#            noteOnHexCode = self.getNoteOnHexCode()
-#        else :
-#            noteNumber = defaultInstrumentNote
-#            noteOnHexCode = defaultNoteOnHexCode
-#            
-#        self.port.write_short(noteOnHexCode, noteNumber, 0)
-        
-    def stopNoteByNoteNumber(self, midiNoteNumber):
-        print 'stopNoteByNoteNumber'
-        
-        noteNumber = self.instrument.getNoteByNoteNumber(midiNoteNumber)
-        fs = self.fs
-        fs.noteoff(0, noteNumber)
-        
-        return
-        noteNumber = self.instrument.getNoteByNoteNumber(midiNoteNumber)
-        if noteNumber != None :
-            noteOnHexCode = self.getNoteOnHexCode()
-        else :
-            noteNumber = defaultInstrumentNote
-            noteOnHexCode = defaultNoteOnHexCode
-            
-        self.port.write_short(noteOnHexCode, noteNumber, 0)
-        
-#    def allNotesOff(self):
-#        print 'allNoteOff'
-#        CCHexCode = self.getCCHexCode()
-#        self.port.write_short(CCHexCode,123,0)
diff --git a/src/controllers/__init__.py b/src/controllers/__init__.py
deleted file mode 100755
index e69de29..0000000
diff --git a/src/cursor/WarpingCursor.py b/src/cursor/WarpingCursor.py
deleted file mode 100755
index 57985e1..0000000
--- a/src/cursor/WarpingCursor.py
+++ /dev/null
@@ -1,155 +0,0 @@
-'''
-Created on 29 mai 2009
-
-@author: samsam
-'''
-
-import os, sys, math
-
-import pygame
-from pygame.sprite import Sprite
-
-class WarpingCursor(Sprite):
-    '''
-    The class for animating the warping cursor
-        
-        screen:
-            the screen on which the WarpingCursor is painted
-        images:
-            The images constituting the animation of the cursor
-        durations:
-            The duration of each image in the animation
-        centerPosition:
-            The Position of the center of the cursor
-        _imagePointer:
-            A pointer to the current image
-        _animationOffset:
-            The time elapsed since when the current image should have been displayed
-    '''
-    screen = None
-    images = None
-    durations = None
-    centerPosition = None
-    _imagePointer = None
-    _animationOffset = None
-    
-
-    def __init__(self, scr, images, durations, initCenterPosition,flashImage):
-        '''
-        Constructor
-        
-            scr:
-                the screen on which the WarpingCursor is painted
-            images:
-                The images constituting the animation of the cursor
-            durations:
-                The duration of each image in the animation
-            initCenterPosition:
-                The Position of the center of the cursor at the beginning 
-        '''
-        self.screen = scr
-        self.images = images
-        self.flashImagePath = flashImage
-        self.durations = durations
-        self.centerPosition = initCenterPosition
-        self.flashLength = 100
-        self.flashing = False
-        self.image = pygame.image.load(self.images[0]).convert_alpha()
-        self._imagePointer = 0
-        self._animationOffset = 0
-        self._flashTimer = 0        
-    
-    def update(self, elapsedTime, centerPosition):
-        '''
-        Update the cursor's look and position
-        
-            elapsedTime:
-                The time passed since the previous update
-            centerPosition:
-                the new position of the creep
-        '''
-        self._updateImage(elapsedTime)
-        self.centerPosition = centerPosition
-        if self.flashing :
-            self._flashTimer += elapsedTime
-            if self._flashTimer > self.flashLength:
-                self.flashing = False
-    
-    def _updateImage(self, elapsedTime):
-        '''
-        Update the cursor's image
-        
-            elapsedTime:
-                The time passed since the previous update
-        '''
-        self._animationOffset += elapsedTime
-        
-        if self._animationOffset > self.durations[self._imagePointer]:
-            #New animation offset is computed first, before updating the pointer
-            self._animationOffset -= self.durations[self._imagePointer]
-            #point to the next image (restarts from the beginning when it reaches the end)
-            self._imagePointer = (self._imagePointer + 1) % len(self.images)
-            
-        if self.flashing:
-            self.image = pygame.image.load(self.flashImagePath).convert_alpha()                       
-        else :    
-            self.image = pygame.image.load(self.images[self._imagePointer]).convert_alpha()
-        
-    def flash(self,flashLength = None):
-        self._flashTimer = 0
-        self.flashing = True
-        if flashLength:
-            self.flashlength = flashLength
-    
-    def blit(self,surface):
-        '''
-        Draw the circle on surface
-        '''
-        
-        newPos = (self.centerPosition[0] - self.image.get_width() / 2, self.centerPosition[1] - self.image.get_height() / 2)
-        surface.blit(self.image, newPos)
-
-def createImageListFromPath(path, imageCount):
-    '''
-    Create a list of images for a cursor (the concatenation of the original and reversed lists of images).
-    Images must be stored as path/imageNumber.png
-    
-        path:
-            The folder where the images for that cursor are stored
-        imageCount:
-            The number of images in the folder
-    '''
-    
-    tempImages = [''.join([path, '/', str(i), '.png']) for i in range(imageCount)]
-    #tempImagesReversed = tempImages[:]
-    #tempImagesReversed.reverse()
-    #return(tempImages+tempImagesReversed)
-    return(tempImages)  
-
-#testing
-if __name__ == "__main__" :
-    window = pygame.display.set_mode((1680, 1050), pygame.FULLSCREEN)
-    screen = pygame.display.get_surface()
-    clock = pygame.time.Clock()
-    
-    images = createImageListFromPath('cursorImages/black',11)
-    durations = [50 for i in range(22)]
-    position = (400, 300)
-    cursor = WarpingCursor(screen, images, durations, position)
-    
-    while True:
-        # Limit frame speed to 50 FPS
-        #
-        timePassed = clock.tick(50)
-        
-        for event in pygame.event.get():
-            if event.type == pygame.QUIT:
-                sys.exit()
-            if event.type == pygame.MOUSEMOTION:
-                position = event.pos
-        
-        cursor.update(timePassed, position)
-        cursor.blit(screen)
-        pygame.display.flip()
-    
-    
diff --git a/src/cursor/__init__.py b/src/cursor/__init__.py
deleted file mode 100755
index e69de29..0000000
diff --git a/src/cursor/cursorImages/black/0.png b/src/cursor/cursorImages/black/0.png
deleted file mode 100755
index d676349a2e625ff228624850ffab8e94fa4cd5e4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1499
zcmV<11tj{3P)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm00004b3#c}2nYxW
zd<bNS00009a7bBm000fw000fw0YWI7cmMzZ8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ@H11z1T$K~!jg)tXOe6ImR`zcXoG-eV?Fskq(D7@IBVA<%=>rG;Hu
zDp*ov>9V-7tQU`a$U!eTEuO?{PaayxMS9sqij}2EDQqb%vTU&wJZR{~)l62gcHK08
zrju!Ydob17ZJJJ7JM{x|$Uo-u&HFR&{bnR0!fufy=@5WkMNy)Rv2dkQ30jtQ)HF>$
z5lKFuufRE9lx6wva=H9hKA)ceFiJ!(cYW@i29PA_7=Z5%A3l6}d3pKENF=h-*Vm^s
zH#bAmH0ZhxUDwgj(11)P^X_>5{5i(P#tIJ}Jm9LTKFZ~C!$kB85v6w|LPU-Z00G9>
zO~#nn+1XjRb?X)xhCxnQT3Vvpw{O#h3l~a^F-r)M1kmKz$ALJLB<U*WJlEabU7Vkv
zcPw3tbUID3Sj=RMnT)X;0Q`Fz0Dz__%A-gmQka;S*fa5s%+1YFS65e22=Nj?>z)Jv
za8?NMIv$T(wrzhj`SlD846OQmz9N9WT?GKp&p9t8lgY}yn6G1ee4JEOH5p?+?I-|%
ze!t&enx3BCZ})ekQYq4Py|7h?TJmRnK3{2aa?&OB_oPxOQdQNg)txqzZxTYh8X6kf
z_ij^*@$qr0j*0&b?2Yo0s;Up;@%W01zMC>IFtA#koj#aiHwL&I4u|vmHQP9)tE;QX
z7`s861pvT>5HCkZM_rZNin+NtVvL#Vuh{Pb$g-ShYirB9t5}~{EM^KJlC(Ym0F^OT
zn3<VzS+73nbeb4r7Jx7jL9VXpqTz6OwWFhBM+?IJq`A2n=g*&Cl_cpRfVTmJ5Z_<A
zbV+enZTrMxF&+p6epq|$WsDVPXJ_5+9ouGUX^A`@j}72689-Mc5Wwlvr``KY9dhKz
z5wy3rn*hF%0i5aS>5=RG=%5jeMio_6&&iCjP)kdT&ut;696x>>Ua$9rEQDwY27_+<
zI7ZiXR4SFvWdORSX>R*CM%Q(irg>DhEUW2LZGn}Q6-AaLY1OuEw|yLA+cqRgBH8Qp
zzQ|^?Zu>YUlgWT{zAO{bGs7_4_Hj%mlL2FFQ7)BAe}0NBU>F8uS<cGka{1YlCr?bb
zg`D#A=~Gyil?H$gzu#{j)LmFDT3cK50Qvzy;++38H8th7)3z}TgFGHj8NeZ#hzP*Q
z$jHd5i#@^-ckkYX-|zpOi2hyMkwrC4JMi1dH99*x3jltkbz4d%gjl?D=Z@QMb(x=^
zU)$IpqYYJwE1^)RaL@;HcXxM@F?N$SDXYkeqND}~2i-N?f{BR<;+*FI1gJ(~E85uD
zSX^FSc2#sUY}=+tBvOzh=_+ki8&wqLUT<%2u~IoOrBNaxipS%Yq9~65Fsf7BRTM>e
zoJb@r7kxh<nM_uM5U&Afw9WGR3C{VO;o)J|n_+r-nmFer0B314*UjFfw;{e}jG1nR
zn4Fv>zu#X1&|lND)(2D#!8w1ENF=QN9uq@DLlvLTx21gD0M!sD6h(R5+uOS@vy*Mx
z6pzPOgb=R)oT=+q?+f&PVBc$OY%C5A4${ZE*o}^kQaBvWtE&1C+q~($tpMwSL={Cz
zg+igiUM@RkW@f0Ztu0@@19KVGM<Dh*KsAI6;EE7pQPZ^iwQJYxsi`T)tui}1OV_Vo
zUp;l|RE{xLkYzamfIIcs&BGoHz&XzOMF8J=y<XAN(?cgup5(z`5SpeT7!0DJp#j-!
z7KULUo6TZjVPWO|{ri<%E(edt^J}S8`We6&5#@K}vC{w>!bkwx0et24dP72pFC<9{
zmCNNOBJwcCUI56HN~HzMvYr9>1Hf-YRNn2m{{tK|GG}MI6z%{3002ovPDHLkV1luH
BxFrAp

diff --git a/src/cursor/cursorImages/black/1.png b/src/cursor/cursorImages/black/1.png
deleted file mode 100755
index 7703e899090c5ac158be19484c7a20e99e7b17c8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1618
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
QZvX%Q07*qoM6N<$f~;Kdf&c&j

diff --git a/src/cursor/cursorImages/black/10.png b/src/cursor/cursorImages/black/10.png
deleted file mode 100755
index 6c85004f523e522cf0724250b774f4226f310519..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1393
zcmV-%1&;cOP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm00004b3#c}2nYxW
zd<bNS00009a7bBm000fw000fw0YWI7cmMzZ8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ@H11nx;hK~!jg&6!VVD^(c9&%KkRH1=7f$!jOL5)1k$f)u(^K?Kuo
z9<;$MM5VZEd4g^Q$wooYf?YI9L4;P~&Qb*nZ6u&sWMO%WhY>X!C3OZKEz-UwCQawK
zXj&$dJNerrJ#ZKK=F80Q+<$ZL9YGS^N(d1E@SexxxhsUYZCTbW%d&<@%IbAWDa%sI
zM<fp`mC8>5J|X!>*AFMzQ33E2fG@pX??V9Wq-dIU0^mCUFLcb&0eC=4nFL^U3hrX&
zHvrG|%m9EP0AC9s&aV^PS)`Od1JGOL60M8@A;grFGGkfRV@;C*NGTBv2BGUZd_Esc
z(}Zc7D3{Bv{2f9Fi{u+5ziFD>Ld{2;)w<vB=fc7QH#aw#&*xdGRH)M7;URZ-ce%8*
zL|xZgX^~I6>OufMZuEf3$w?*>2^I<kC2%8Imc?{B&2Tu}tV^YUi=NV!fkyD-<KtXg
zTjSZ;S=-<$C6h@`Pfs^8k!i~SfY;n^7Kuc7a&mGl;C5M-#g&y6YMSO|<nxvc0C-ji
zQE}ct2*Fq^M$59U9p0{;ogI#jj=Gt6yP*L9vifqVgWuTL=qb2e*=&}9K%mY*buxLT
zk%73%c`O#|8~mkGsT4gPkIKXYr2znstGZ4k66txjaZ@}Vck4>8)EN*$e6N~qdNE+z
zQ8XG=%}V(i0{|wVSlg_vtql~OBy+hOy<V@X6<(*!z-OwL)OF4C-D-JxS!LiCUK)^6
z{_RXiBoc$>zLH@W^!a?w!CV2L0f67xef)lZN6Uj=YHn^$)e3hdfOh~0*fcvki{as6
z+$7D<&#S`s03Zd2v(3%TL05R4Ow**4(%Fsvg_QDlr-6JvKWJX1rlzLq#(}JE$gd=&
z#KgozZ~8%(3WY*7ze#G6<cK{O3<jZTT3^9hm9Fb`F=<(rw^`Cnk<tJhGmy{c>laVk
zQn5)P#F;%{nr7dC+Lek;3LzdfOS&mC45Kb4Ngmn*<#HKEM@M~wYDbF7wIs>9=>GnG
ze~8*pu~<Ylo2`inAqo;e(wV%qwbd`KmbJIHhtt#3ni$FZ0PqAHZ(?272eu1y)8gWy
zYBBfb<!<aB=f!k7J!s}Dl}aU!jg2|s&jE~FZfL%68VHBOgXX@{>guYh_J5^qNA|QL
zfyrcY(Cj=uK4vf&R2g`ej#G)cW%cy*^uWhLEEZG29|7<>4TP%wswR15Wo2OSnM{U5
zLqjS9Z_(voE8$GmG>tnuJAH>gI5==Sg8z%EgRQE8TSADU^G~Crqs(TreS<F+i=3I6
zQNa_y%dQ5hCSHQ#j3^KYFqKO69RA?opb`8>b-d0%)x<s34LlwX<MDXU;4_&_qc1l<
zC|Om(s)?^$Zp3Ib%3LmYZQ#ep$Be~dZUdG8{sb`8t^onyTQ?J4ub0cq%QOt5WAIX`
z#MRYRw|U+Uf7_MQ?Sjq7`>HW<S$sYp=jP_PzP?V=G@C*f3I%R&Z*y^RQMEj%>o#sR
ze_2}n%sMNC*e2O<zbU1}ojZ3B3WcESdd+86!!Tf)CbHRV-Kx?>ACml_X;!lqu(iaK
z0DeT{8oQ2?1Mp(YT&*VBj64tEK@Y$mqIzWB7Eil>uo-z37n`B~x_~|ha38=Ds%x9R
z8L%1AaPjg>05AZQ8UR;tu@Kt>5Ct&O?eqT!z<<Ro!K_KP00000NkvXXu0mjf-_C_E

diff --git a/src/cursor/cursorImages/black/2.png b/src/cursor/cursorImages/black/2.png
deleted file mode 100755
index 9eec08e476377d22036cea935ce9e37dc8e941a6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1769
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
LNkvXXu0mjfx$#?g

diff --git a/src/cursor/cursorImages/black/3.png b/src/cursor/cursorImages/black/3.png
deleted file mode 100755
index ce93f45de34b97888eb7baa4e5e7e9173157ac3b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1917
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
D@_Cg8

diff --git a/src/cursor/cursorImages/black/4.png b/src/cursor/cursorImages/black/4.png
deleted file mode 100755
index 7c9d191a50859b8b64fce3155fca1bfff8e63553..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2034
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
Q(EtDd07*qoM6N<$f=MT~cK`qY

diff --git a/src/cursor/cursorImages/black/5.png b/src/cursor/cursorImages/black/5.png
deleted file mode 100755
index 34b149dda3f94a787d676973b72227cfff2a7c93..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2154
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

diff --git a/src/cursor/cursorImages/black/6.png b/src/cursor/cursorImages/black/6.png
deleted file mode 100755
index d1186805407f98d517b07e6001158d2de5d3ac97..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2358
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

diff --git a/src/cursor/cursorImages/black/7.png b/src/cursor/cursorImages/black/7.png
deleted file mode 100755
index 68ec2dd9f729d801359d65a30943bc171b2a58e9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2450
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
Q%m4rY07*qoM6N<$g5Ggkj{pDw

diff --git a/src/cursor/cursorImages/black/8.png b/src/cursor/cursorImages/black/8.png
deleted file mode 100755
index c938fe95c0bc71f01e8beb43302d1354d11119e6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2627
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

diff --git a/src/cursor/cursorImages/black/9.png b/src/cursor/cursorImages/black/9.png
deleted file mode 100755
index e5e4f092c9e399abfecefae5f06378c2cdbbba5f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2550
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
M07*qoM6N<$g6S64e*gdg

diff --git a/src/cursor/cursorImages/black/cursorBlack.svg b/src/cursor/cursorImages/black/cursorBlack.svg
deleted file mode 100755
index 7c3c9b4..0000000
--- a/src/cursor/cursorImages/black/cursorBlack.svg
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="48px"
-   height="48px"
-   id="svg2397"
-   sodipodi:version="0.32"
-   inkscape:version="0.46"
-   sodipodi:docname="cursor.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape"
-   inkscape:export-filename="/home/sbenven/Desktop/cursorGifs/cursor00.png"
-   inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90">
-  <defs
-     id="defs2399">
-    <inkscape:perspective
-       sodipodi:type="inkscape:persp3d"
-       inkscape:vp_x="0 : 24 : 1"
-       inkscape:vp_y="0 : 1000 : 0"
-       inkscape:vp_z="48 : 24 : 1"
-       inkscape:persp3d-origin="24 : 16 : 1"
-       id="perspective2405" />
-  </defs>
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="7"
-     inkscape:cx="-1.2857143"
-     inkscape:cy="24.45"
-     inkscape:current-layer="layer1"
-     showgrid="true"
-     inkscape:grid-bbox="true"
-     inkscape:document-units="px"
-     inkscape:window-width="1920"
-     inkscape:window-height="1125"
-     inkscape:window-x="1680"
-     inkscape:window-y="25"
-     showguides="true"
-     inkscape:guide-bbox="true">
-    <sodipodi:guide
-       orientation="0,1"
-       position="-4.4285714,24"
-       id="guide3229" />
-    <sodipodi:guide
-       orientation="1,0"
-       position="24,-18.571429"
-       id="guide3231" />
-  </sodipodi:namedview>
-  <metadata
-     id="metadata2402">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     id="layer1"
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer">
-    <path
-       sodipodi:type="arc"
-       style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       id="path2413"
-       sodipodi:cx="37.57143"
-       sodipodi:cy="36.57143"
-       sodipodi:rx="21.571428"
-       sodipodi:ry="21.571428"
-       d="M 59.142859,36.57143 A 21.571428,21.571428 0 1 1 16.000002,36.57143 A 21.571428,21.571428 0 1 1 59.142859,36.57143 z"
-       transform="matrix(1.0873786,0,0,1.0873787,-16.782941,-15.838419)" />
-    <path
-       sodipodi:type="arc"
-       style="fill:#ffffff;fill-opacity:0;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path3227"
-       sodipodi:cx="10.928572"
-       sodipodi:cy="13.928572"
-       sodipodi:rx="13.785714"
-       sodipodi:ry="13.785714"
-       d="M 24.714286,13.928572 A 13.785714,13.785714 0 1 1 -2.8571424,13.928572 A 13.785714,13.785714 0 1 1 24.714286,13.928572 z"
-       transform="matrix(1.5759606,0,0,1.567424,6.8484288,2.1217689)"
-       inkscape:export-filename="/home/sbenven/Desktop/cursorGifs/cursor100.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
-  </g>
-</svg>
diff --git a/src/cursor/cursorImages/black/flash.png b/src/cursor/cursorImages/black/flash.png
deleted file mode 100644
index 412cbcee1a0eb61bbf41bac44a82e61407c9f487..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 904
zcmV;319$w1P)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm00004b3#c}2nYxW
zd<bNS00009a7bBm000fw000fw0YWI7cmMzZ8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ@H10|iM$K~!jg?U}ny8$lF?|Fg5>8^nS{N+dubDH1`I9tnwp9#KTR
zLKIP^PC-XWfuN@24G;wq4?qM$iL4Y9G)W|6#}0VC?B!2kK$!TlyIy<kh)){HyK~0-
zAJ6#g%sE05-6A4c%fgRz8hH^&J6jU0RB%2vhFOwU*UygXfQXE{E`BP7R5t=@HB_=$
zydqhOGTsO~U}r~OlH!vnb}JqLG8yDa6iM-ymt`#M_`owDBBtx2suXl+l_78(*r^mo
zNxDJo1I@tcsjQN4dMzFRv__hQb9^ixg4lPQfl^71$H(z57Ih)9ESzVvoNi~+)`410
z%9#xEu`3IK<DjNBv#t7DI^Z}`)fz1a_7lg!mDU_>*4OkuP%6onK@krCT4Ut$Qoc9s
zB-zmR_OSfm*1)u*BYb>#vtbE|h)Kff*Do6d5$O9NwqXf*9=d+D_ZrVb?f&(h0|y84
z)-Yi9Us5;>18Q?qCT_3qmJlg^r;XU4K!PGPfSVauT$C5XA|3!lAX8KF47iyA*OhD2
z?EN+&PFxqZX)<%OgrxgJK_XC$_4WEx3?q}1k`vp;Wh#Y{q{T$x;sOQneGE<Xc?by#
zi6LG8bwVF02aQJulIGEYq#1q(9>ZvYkf34PC?+i=Dwc(!v9^XcNehX}_BLjQe>)8T
zz7H>HDPi%vdiKNsfcbe$v^O6-R#q?#{4a-k0NC2XRC1ESvA>U*+s_S|InNVUDX2tL
z1;qE^83yn2R}C*R(?q8KlER@>qs9gYNV;cd_}pJf!8tj>>OZBYW@+GZ8DEpmL_cih
zGQKtIXj$N}ZTXW<qiIp0-`F;)=`@>WPTH232BAvRsl?QFH>x#r)hf>8mlcdk1%-Cv
zfdJd-T#nO)0zSnjD;S4|c%RR6wv%1hLbs(<Z)*si2iG)_jkVAX)I+RN)VsTQ-HTHk
z32tm)LMiH?;%|jTYIAdV?z*_{HavPB+<YESqkcgwL3&{UqgPk><@@kEnfpF`+s5yu
eB|M4a*?$2W^iv-%offtL0000<MNUMnLSTXlL5sTp

diff --git a/src/cursor/cursorImages/blue/0.png b/src/cursor/cursorImages/blue/0.png
deleted file mode 100644
index 9535e332eeb1589c6bcd6f5b197d7a69de7b1fcc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 919
zcmV;I18Dq-P)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm00004b3#c}2nYxW
zd<bNS00009a7bBm000fw000fw0YWI7cmMzZ8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ@H10~AR_K~!jg-I}pZ<4P2Uzl_&+Y)3>wGziIxw63X0u}Z})DDwbN
zP$T6bcmkdv{jGPEbhluow5h2`5k-n<R*_cVkVMXZizL9ZaCe;mUh_#)ShAG=pUfPe
zIcExzSeHTpA2=|E{U9K69Ks}Fdpu?fz*@dJ4p&J+KaT0nW_$(yl^Cu4+p8KV6xal6
zr4mP@5r2mvlUfbGT*leif#m=g4DLs-N78IE>i7A}_c{OmoqvF)#Be1cl2Q#&(RFod
zt>Q{W*Jo!^x2x1#UP@<YQl+A6YZbe$PC>=gdQu4g06OtJ4Xahfolbhu&(Y~f)v998
z(-3q5`tYI#Kw%K*B8qg=YQ3EB$Fy2f6zL`ibO8!q!~p1%=V@54Ycid_p7<rxsZ_6P
zviLVXt!2O%9b2p0MnkjLm;NJ-hGy34))*bHWWX35Z*1tc-F|E7_q5y6#>W4fcy`%X
zo2~dI?Y3mCZl7CDPi|Px(=dx=^Bj$aW{W-X)5iWOR0e@A>UB*r)cYj$x+aV0^h1b!
zY~Un{bn_O`CN0zHJj8-d^ppWm(epHX%{ad<t(LS{N_SuEI|Ht((`r?5wi16$wK`8b
z^w0ok)7qC!4_=E-N3vEiXj2kqk<-<7cbV<&t&|VGDSLacyUPry0doVT5=V!J6f;$p
zg2O|Kr4mPrNBOR+@hT~CR$N|6uB$P~H^4y{GWqy1%Q;O)6hRm=0S=5Y?AL1eS&K?b
zt%h$5`z8p8%4M9a1*N52#t8x<<2Z!NvumE%*#XBPG)cmCUJWD(+h#mwE3XE|W46q%
zU;VQ&*79vI$XZ5v27`IQ%s38Lc{SiTT$v=HpH~A(Lf^zO-CmC*Ye8x0^+@8Fu9?mF
z+H9_0WPNLzO-73%an6%DiIMMf{`qs(bNc&y`2xPrxx{FBB0H{Bbe;9g{w|e@u3=v6
z%Kee@eH`lb9?B}pdtpoOp|q&H7k71UBERMJ<;Zn|Lk~>kw#9V!LY|v^4@~5@&HBJZ
tejDA7jQmko4RU|kV`T%6%w%@m=065>-8|0Di`M`E002ovPDHLkV1oU?tGoaJ

diff --git a/src/cursor/cursorImages/blue/1.png b/src/cursor/cursorImages/blue/1.png
deleted file mode 100644
index 894e8c4a836e16c156c787f3ff1d415296b72c7c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1021
zcmV<Z0|NYsP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm00004b3#c}2nYxW
zd<bNS00009a7bBm000fw000fw0YWI7cmMzZ8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ@H11A0kBK~!jg-I_s58%-R>f9{%hc2^7(FA@lW=Ir6EIkce#d+^qL
z06lmX@&&y43B(VO`+IIl@Z!NjuAzq>gn}M|uy`qfq8pR2dEUb&YOTKQ#*O>NAN&tH
zEHlqDnVro1XXYgFSmx$%fpyDb&GRVQHu*4Qxz}R}z!<*UHs@i;SrBkK9P$}Bl;}RX
z?MV&H&G7=LWV38`yS&fm=~pVag#vai2jc+n{hMgF3F~#bXJ`E7x*YxZ!9PG<qBD^Y
zNwEU7kjZG*7zL%0F821M(^JLf<V4!rlS(CB7^5JQ(Jp8qww@Tm=Rw<!qfWW3pw)^m
z`XO2^sa#gzIO>45LGy_k0OdVT$Hk&98;#_I-=)!zibY*|o{mBJL=1plJB~Wls``V$
z^u&)D45VsR{n4-S`cVcfOIyb1s#eo*`qF=<R@2ZJU0Ig4CNf}I+FD%HRkQij(r;)s
zrNzbnHu2!FF(zH{W13CL7+pOyobLT#9Y>ushRs9NY8sBdiC;eKU#3dW({Z(`eu{eU
zrCL>gG&}t?#ojfrT`cPIDQ26v3<l8@3)<Fw20#mrqs}zv`Nz^|NTZ>2{f~WZAd}H<
zxvU^viNB{@j+Py|Z2<Jbm}Hj+)1uXqj8Oo3Aqi`=rmL*1FkD@oXg&C(tggb!3PYd*
zL<X{1Ha9j{NL5)3Ha1wuX4xD)%FSfdn`B9x7AGfCCZit6wSe_}p8m_1Y4&M6ibcrh
z=>zMQWwBPN;HE7qE|m(dWwB;?9>qcdJ8eO6DHO0hkD_JU<i~s0r1|<aifNF`fo+qw
z!jR=@7}(i?Z{MQW*-5_sTn@sJ<@sKZrKAmf`2ug>!iNvhv+G7>uU;kBMlJ`v9!u8m
zUyV<%2gcky8xxgH1Irk``+l;OzIg)&2XJ^8#lb;TmL$F(CCn__<~(Tw0Q>vkI8p5H
zCtttsgKcv@ABLRyK7S|Q1iX7UjanmoAHt9`D+oAkw+W}$)O2XK34?%BYdGX{z5e(l
z>r+#&(;X#=XM8ay(RE#pK7LHQPyd`xpTKoFlIV_iWLu?@F4FGVKc!UC1w_fNncq@A
zk4?RvLs~_%p4ifJNG)pCle@YxF}vyYam@4qhi;je*(0Xw7iRg8@0N+#J!ZXSVs;O@
r?-==CT{W2b%N`ROxML=@>o)%aOB(n&5X}7?00000NkvXXu0mjfsmAA6

diff --git a/src/cursor/cursorImages/blue/10.png b/src/cursor/cursorImages/blue/10.png
deleted file mode 100644
index 8ef30f7b5956a74638bd7869548b2ed1eaca5317..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1300
zcmV+v1?&2WP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm00004b3#c}2nYxW
zd<bNS00009a7bBm000fw000fw0YWI7cmMzZ8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ@H11d&NZK~!jg&6>Y&lSdrJKX-P96i3001Ww6-L<JH<Ixs}4vUez1
z5Mc=!vNKfu57+`y3J5WT0j5ZalqktyA=V5?9lLaC2ZWl&LgH62Bv#^kI=psy{rcY5
zuWj-sk91P>z3<(99^bvM@6Iuj=vT&20DduspL03B15P`~pmXE_tmV*J_JH^GI{!+P
zf%_8Gz6Y1oQvsDg_w#xE15z)g(e^&5)H6p9;6uh}(-^s4!K1|(Ib*a58agrqpd4t?
z7#)5saF3Bg&>|?8mdm7h28`jdwfycJg|tia+iziXH28aG2j0F-zpSmL>Kqdie|Ahx
z@yXxl^r;sL()6^nv?RTJDb;FfQ>_-%EiDDPg+i*?xY5@V0^Lm-WPDs&Uzhgx+krc2
ze?MqDKHhO@-R;Q$=uTXxV`I|Or&7J%J$O|0deGO{SfYtLT^RsP$8~o7x>T+94<1#u
z8uXoDVmg%p&}HA6H%7XBTXOE}!#CwzForR)&&1_K1E9RM+Ko20R$5s(I`F7gR)R4-
z9J`==l7UCQ>6@R=4!)`R`PilO$ZG&p@GYI0ne5@4nwg1RN(G;R)oAjC3)0@+@fq0L
z3m81Ju-ak(bk?`GSzbOq_@<VZy|dszXB9GVFPe1a%F(`Y(#pAj#WM@{)HGnNUPTki
z<>N;GqH@{$MtUU)13CqK1Wa>(G%^B}3gq+YH(*Dp!$T;Q;LV$suz(>8+#&=IFg0~@
z;2~g{nraIh;FblhMr*EJ%Ydp&#V}np#^^7J@59k|@8I<5Ot@0({d*`DTVuxXx3!j$
zaBy(&<iSJ0G&tBAvz8GnaVi{ao}x~oqHGeUtaA*6gQZfINZl#Q<{Seynq=D|Cr3Uu
zYb^)iz|KxqINdACW-SNS7(OK>og_usjNy}Yj+P6L&!1s;H%qK^+T9J<!g7wcR-zJ3
ze(@qJtn~6RNmMLQj#jL%XF$}YVwlPXGz5Ggv>z&!V0-)Iypf!PbLWB$W=H~tt;9!b
z*$&rKDzLScC1SF+w%XvamTifT%>&JY=ze>0^0-d{Uo<)CJ<vQ*=tMRO?MKS>_2Whl
z7(DO}G^)s<elwbQ>5~7VHY?R?0fWcD=KtIw1H-;+mASd&GcY$7d#y6uW}snW(RZ1&
zu#i3c!b0rD)?y2D#K3^Hszw{-a?-{|cJLb;!I++dd=)ehYoK9b+!)n;CbF1`g#|x+
zgK4~tHyUV|xEV8jnwvYC2fJ4DulZ29>1Fi=74zNDEEg|ItE*oReswkIGXefVEN5Ir
z!^FdcPBk$hJ$oh{9CQzTa1gYem`DT{=wTvbQf0%$tnZl!mts+xot4(sq)NsA(^I`3
z)UB-rxy52Kcw@}jPJC&9X8plhUO2}$Y4$GpJe)bx`ZMe6*TD^28d=L{=lD_LkB-Tm
z9EN6M0Q98OZ1htaeLso5D*IYO9wS9#^c>ILsgL3seHOds>9#@0$a&D?Tuzl<!5eKK
zgU<KLk?I-fBx5K7zZ%0&)-q}g!@hsFk@(;oI}*=<-z47kJNAF{UM=If`w7+n0000<
KMNUMnLSTX+(`x_#

diff --git a/src/cursor/cursorImages/blue/2.png b/src/cursor/cursorImages/blue/2.png
deleted file mode 100644
index 5dcd4a9355949fb4d99079859d8162a238a3d03b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1120
zcmV-m1fTnfP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm00004b3#c}2nYxW
zd<bNS00009a7bBm000fw000fw0YWI7cmMzZ8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ@H11KmkPK~!jg-I~u!8(SELA1CHcX2giNk=PJO)-J9_D1nN1;iix-
z3%amSx)Ab5xGV^+ghENz7ndz&cNZ#I6iV#UcA*PV!gV2mRwpK5^4`THYSpw&9L<dn
zoJG!e$oIW-e#|-FnLbI}mcBkLVAe30v27B808!Uvv{GRNz%)4y1o+o=IdB~I>UB1O
ze<aGc_T8y~zCMP5bU4g>xy)bDDAjZtD;6UVi9oXe6pI&Se;;>!o$|o}e^?e9-@frT
zur5*RC=f|)70^I1s3p^slT7MlWkuTCQ`_wBN-HZ;GN}{OloJeU2{h1lJZ%Kt4_XX`
zR7$1f6bkJJ-HJj%N~Pq4LMnk4LH)i807Y$EJBfr&b2<M4ze+AAB@#NdZS8=fz6bz4
z4uw?8WK^xy?k@NywVIU4sM_d_$F~w-7+Nq*on^DC-+kymlFh1anmRKKEp#NnFtji@
zsIz?jzC*ttpO*#)e=efsurbZ<2Hzx~mrPS<t%lQ$6E+l5sT;$l71^xnjX7~`VqaS-
zZCg8;jH+FX_eL@qRU50*4@>M-0gH)*PVZy2X_s2fTVg?rx=8?NAQV#RF4y_nlFLbr
zp>+PnJ{J%SYAKbH)7=n%O)BMWJ9Jq9XxKFU-5%T(g@R<7azMk9FdBQh^!PaS$;poP
zgZIkhB#e(!2hxBiARK0XZjOPjM%D&%a}0#T%r}0@3I<i_WJ}yFc6X&<P!*760JG63
z)p)#{&$K-f35Z6i0<(r;Fq2MW`RU;J7?zje`E#!<FMD-<l1^h81~Z0jlZeF#`1Qw|
zo8Ck#mEh$|uart&-R7oWULY1DVA~`Z8q(*rHGjtD(UBC3N!#1kZQI+P?dZrKUu$d9
z(2zbGuFGii@O@iWSK-AAn3%Y3o0#xytE>L_ibTM588s>uM*I@+=@U#(x3*7Ddu{w6
z5`jvE5#!fQe;?O{z)xmVAmFv}6T>t)E*Aayv#BZA+G=gz+Va}?L9ys1%zT~1hlkRm
zN7C1?*KJ?Ec(%hse|$A3alh+wP%QGNA5Ud$4Bozl*;#n?3Z6Xi>hpPc_s+A8jrrlp
z>jBs0px<%W+uz3pf8GU8pTftF@a7G?e(lvwO?h>G1rJ_|(s9@W^ei6NcYiwe{)or*
z9rTQz-^@vrEsKr!@BQoEyXM0Ouq-wt%FPqmLNck7Za>-IC7IL-c*(AwKT<x7L%kkC
zT1CB{*wRBtEvna(ySfn3yXp02>FEm&T@ul=S4`&(dij#?l8D~DX1ye$cQ3lH2>D-q
mYS8l^dvq+|ikPl_Zu1`v>>Qgc!H;qP0000<MNUMnLSTZ477hRa

diff --git a/src/cursor/cursorImages/blue/3.png b/src/cursor/cursorImages/blue/3.png
deleted file mode 100644
index e547688e4bbddf24e0e63d9d41f48da81449108f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1212
zcmV;t1Vj6YP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm00004b3#c}2nYxW
zd<bNS00009a7bBm000fw000fw0YWI7cmMzZ8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ@H11UX4WK~!jg-C99wT1yx`&W#y0i9wP@kcL7Gv>R7SD6U=?g+j29
z?vh2;0T(WlO(GPs)IZ>&yGM3yiHpKpyaz%E#1y)56&I}_ff9r^F<$k0-eT04#MF52
zO;U5<L%sLReBZ&j-+VK39VB5D4hP%-UI~G}JRSrz4YP)U8C}N|07!`wO~bKapjfG(
z&}`yA0RNCUx9r=j0EYuU08y_OE9d8UIXjD5Gz$0Ar_lU<pltw9DqYyOZ!mUuab7H9
z)a}N<KY!wH0J|j0rUD^3kO3TXI+>7?m2jA+$s}1Qa9|uAk;x<(4)at>R-8^I0FDhD
z&j5js09<pqSdK(k$>jzQ`X=OZWF*3h%f&LlHGm_w3II6k@h~3<@GO(DFYv3#WXM2(
zXC4pp0B3Cx0Puy&#d0jhTD^XE!M9Pbld%|Ut$*W%B>_TkRZ3RVX*TaZ^vg)6*_4u1
zA-HNvfDl}rm|!)Vz3<R3kj;`46TcU6<FJwPVS{fYn<b@W^`_y}^MQ4_Sbm6Ma}&~O
zHe1icwFmoJs`Pl6kHuJfz<7Hi7GtfIoi3%=s{+;n0iNAQwiy)lx=OJC*Vsz{z%iGL
z<-5%DR*}h&t)bMJu{#2sP9`D|RvtFQ{)j|W*}-lB0DV&0TOQmMaye2;Rsi})LbPhS
zXfTLoC}gT0yjO%mKro0VfG7YZ!0W}z@-oKkcJ||kGP|+7j4`hlE3Kb&JDt?cl*GO8
z^((owL_T?<1}LDuFD<EicHroUbULX6bOYd<xjFu_+G(RfzI#WGj*`!wk?}bB{=Kqz
zTwNO-Rh&k{x`??s{sQ<0LNFDN({h(vTci-=`Z}rW*YE2(xv`-*TU%DWk?}YiLNJB#
zaehjrtaWy9K#q*40Q+HmU2zW%tocl($nkN0!sH~s?Ce<UY;lo%{+z5<`*W*R#a&#q
z=5uF<oSftrVHlWcFTTxUe;;`J7Lc+(S4zd*-?!$|?*|M6GeXxfWko=t0Gynt{Cr!4
zLaI%nVBW9a59m6kM1Sh<(QK+uO}l-YHn-i@3WSt6DV5B3Fh39Ye8A!1?b{q4sy6fU
z=KYpRYQs!u8jh_9a5#X41>oaHpkD9Kuh$iKVL`Pui&6>DG#m@VK+%c-07xW&d>+`|
z?$6!cR@_9wn$J=RFbouJo5(gcNKGRX39{B>Jy)x#dzyB;`Jx{>6PaD5M0=*yG%^?@
zH#f--ACzrws%!1wd(G5?qEkxPUCiz6k*{Bq)6*Bl-1M}%wzp@Gk4wcINqD{doJ`u&
zc{jd)S7tYoNz&`(XLhZ~R>NVQ+VARa5DxPcP@7#tzodK|i+VnWZ50mt#ugvL)*^>}
zbC(w)hIf0tZ9{#)!7dR)d&JZs4D%shmx$p#X6+I&ya(M^g#1yj8Vvo*9;O9c5%XZL
a+x!nQg_jpLwe#%&0000<MNUMnLSTYwOfFIY

diff --git a/src/cursor/cursorImages/blue/4.png b/src/cursor/cursorImages/blue/4.png
deleted file mode 100644
index 0fb1d9d29b24f1287af6773698702ab04c7f5a18..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1281
zcmV+c1^)VpP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm00004b3#c}2nYxW
zd<bNS00009a7bBm000fw000fw0YWI7cmMzZ8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ@H11b#_GK~!jg-C8|Q8(9=R^CsT02e1@S0`kUkWTW&E6BIekQf!d|
zN9kY-q;!^Cp!@=UK;--ZD@hS)yHr>r(iXeYC`BTpbX2CWU=310M!^giXMDD}48{a+
zm@$MnM|v7Q?z!(A`^|gzy%~)pdWEJT0^oP0@SABOrR#{hF2))Si~xXPU|ZL*>AF~R
z9IUol_y@pWB=&pmJE#Fo!*u}D(J21d-^Wxuj>G9`L=p+;u^8Yr0H{{mtx|!zxQP9=
zHT)8Z;P20$@h5;q616}=Ncw632SOn(7zQ27Vm+THS6As9<uaMila|H0VbBSMxBzg#
zw;mtDuK~=4!>py#bV?=vqPw9~BGYL);V^3evjDGMr~!a+)8tAj#l2$j;)I_@u}G#;
z+%rwC0E}OV0f6_zVb*dv9yXhoC*DJ|N#=4qJo+~7_hdjR&KU*|3I(<<UwS7B1-1->
z2TE}+kO8GQH#Ecp+y36t+pukNXz2e<bR9N^akb(-*fwbxJm@x@&b(p6Vb-o<*mOgo
zz}C?{@zss})l_MkT*>8lc!he;L@vj}quHrrial*0n@Vx-d(1X|(QL{T3oy&G3;-Mm
zhgrMKdA?T^i{#NzI$p7l4TM5mNT=yst;BC5otCnLN4hnV&@@~(4E+1<9U>DGfl8_l
zeEI}@{0J;B%kL8tz}>sRjT^n^US0+sJivaVfnQ0~yx}uvS*-W^>AZPECX@2Lp4E~`
ziRl%V#X2Bs14tqo<=cEdc*5;%a(1>YbbOqgnUQKUpO>G<$J_s(ofS?{<nv@S%C{r|
zfRRv$jUXj4Np5VAv6u+Eb&FhD>K?naBr$++Ha3FwSuT^I5E}p^0GLT8xf?7M`RI`d
zdi<E&+4*+-&W^+a!VQXKlDhyiP>Rpz=lLZ_lGm?A$nD$Yu8)skcUL%o<OqWKd45rf
z&y{H+l}JGMI~$O|)2D!@0WV(ygM;Vi4h{-O(<BE2>}nGU=%$I3(sjhWy{jLT%fQwa
zFgXcKP5I|fO$m2vOLF-|EC%R0;>vX~7Q{fQB-hDF|6C6q*URMxu^8aG7*mY~M*7u2
zqk$0>v~$;$tM2>mX~W}sxq?6$2DYnJ|3u4@>-+b?JOA*ZGnXG!t8!qbbRC;P4BWfd
zDIy3w^Ik4Ls8#`8$EI>!tOYS}=MFGDEFx^%Ki{^6J3K78{GwU~To-G~aj;sc!1pNB
zG~n4Ypw$ANJOLc%{9MNoPOBw3G|g}CazyDkSVga;#KVWOqRz~a^>fs-^}56Y!VQY!
zQli&lZhf7+c~b<XQgVvW4Yn;YfN<8=gZ0@_%<%%s>CH_tlM!J`k(Nbfv*e2x(z03k
zn^F>!$p|MXI?8EY;D+YaD{^$S`-Wz8RAPF?$qmh=Y$+=hSzWyq*0Q7}620d>b4$rS
z-qim*$13digDw6HM~m$D!(Fyb^zZSy*ZTSa2Tz#j+eb{t0sZ`t?}Ul|eaw2oME^eM
rK4s*GdexxsU-k%W;FOswd)?+g<K=^)z!OFY00000NkvXXu0mjf5uaM1

diff --git a/src/cursor/cursorImages/blue/5.png b/src/cursor/cursorImages/blue/5.png
deleted file mode 100644
index 6f3b35aa891fce0fec7277efefc53dac03356e3a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1412
zcmV-~1$+95P)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm00004b3#c}2nYxW
zd<bNS00009a7bBm000fw000fw0YWI7cmMzZ8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ@H11p!G!K~!jg-C99N8(A3s@+NU&in7*1ByA8J5j>hkDmm>Q_F`!d
zrH8UmPdx}Z2p&CD=+TniJbCxjgHVeF54#{j+oVD-g@RhdHWaM5wmKT^<lDpVn28#9
z-e~J)KX|+${Qvj=-^_b&{`V#!k~k|uAv6N`T`Bw;i@`DsBpnBBr4m{Jz%;RL82Ics
zShZ~|mCN`Gz$}TKGsg}pAQVCifLqPY_+w`Wza^8{yLAhV?d>oU3BYXtP%Kv3$_kuk
z&#<$)iiXBU{Q31OCILJnu@NW{l3ESmrAUOMrb#=U=2k98E-g_Ti;H9~N2b%<GELf%
z2uA^4(#}UC@i4%_Xp|e74DCWeKj~U16v#}5b~MTjfP(<T=PCeTG8W@I%i{L*^!X)z
z6w}kBWpO(e<2!)Ka}fZrFB;`WHp{*J{U4XSi~W5vo8{iY)95>s0Hru!n%te3VEM<V
zUX6(fmQ9npN^u~N0Hrw4)WqGnxu2bS1#@#`Q`6}pY7QIIyx8Pj%*~Oe$=zDR>BI>e
zjdJ56hD|L@Ot5?~Cyq_*V@qW$#&_8)_bxEs6Oqkw?_hPRT4Ik17_=;I|BTf}7yJ9N
z!~z_oC+EXbA{4@<XcQlxKE*FLZw7j)<I5Kyp9kK&0Tvdd2Y~C>fmBNR-d^C!m0<kO
zp96RA;_uyETqChvRZ2u69L;2C2faIw9+3?V@=Q-_4Gm%&^eJaDQg+ZggaEdfX0Y<$
z?OQUHs!lQ<C;R)!hYzLo_sefyn^a1Cbx|mgrb!!Mi&wxvI?XLzvhnfiyME^mxx8H4
zetB7Jyia3%Twg>w%`HIQ4Iqi;X1>Vf^hok~G8`6$%a_T?N&mi+li~viM?S9?JC`Gy
zoB4t=f7uv`u%uHG@9dD>-Id|;>62apr1-eQs=He_{bF&Ej6_%h*a(2PJ39DHC;0Gi
zWf)9N>84)6)KrCMcv#Q3ql4c7-iA_qGBm{RejPu2AeEA!0|S~FpMd-Kg-a>n_KTq*
zepiZ5R4fLoy&Z<%wfN;rpj?*gv9Vz5xfhQgOJ6Pvw_mik!-&OTDZ@b0-MjihJ}-So
z2M~|@_p60?T)4d4evn82hJmDV9JJ{Oc>P-X-d_Jc{|1-K<@SR_0&pC(sZt58eg!y=
zln4NjPU|Ik8eFc01&QGYi3Ct8p;hSyJ1CtH4(oc>hRfx0>p+<%){8}d#)bj(^vJba
zsGSE~uAUx=;RnT{9GEG?z-PY#fXaCN5dw7PRj~*d20kmt!D<iz@81KPoBsW3VRKWs
zyxe|JECP;$Rb|^)T3Lb5sRQ)&Nnb7lBO^Mgo{W)^%6rA-_JfrbIJS)?1Sus32j%S<
z3X!w3ny+3DW@m*15KbK&mJ&gVxved-vr_^mljQokUT{);l1bs{>=aJFs4C_du$-Qs
zCk;aqxO$bGnep#CGb28LaLmu^#jYx+d4>(m*jS~o1IPyt$hEcF_G@cm<Jv1F9J)BR
zp*hQza(<rd>Z;x@S{8Zlp4_QiPOdGh+NP^Z|IU*&wv;^Mrrx%tp7%bDT1_djwF5;u
zzNtUgW0j8|fmg49LZNcJ0#uGu(rMtv4dB|fVEm^ZtFTTFw*Fs7i>&v<T~<WY@A10Z
z>iPo*JtFG%6VstVJ%8l$h^XJstR4~d`=R@YkpI+Q4eI{S9)SfM5p!XGxA_NBOE&o<
Slk`&n0000<MNUMnLSTZ_-<He(

diff --git a/src/cursor/cursorImages/blue/6.png b/src/cursor/cursorImages/blue/6.png
deleted file mode 100644
index 7ca3eb6799c8a88cde1bca59a7ff6ecb7e871188..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1542
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

diff --git a/src/cursor/cursorImages/blue/7.png b/src/cursor/cursorImages/blue/7.png
deleted file mode 100644
index 0a2033bb1586832bad054409c2255368337efff6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1637
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

diff --git a/src/cursor/cursorImages/blue/8.png b/src/cursor/cursorImages/blue/8.png
deleted file mode 100644
index c75055c483a35902b424dd97ffd19c8d2db96a22..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1788
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

diff --git a/src/cursor/cursorImages/blue/9.png b/src/cursor/cursorImages/blue/9.png
deleted file mode 100644
index f013e6070e7f41136301603bcc0e42c1183f1894..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1773
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
P00000NkvXXu0mjftLR$}

diff --git a/src/cursor/cursorImages/blue/cursorBlue.svg b/src/cursor/cursorImages/blue/cursorBlue.svg
deleted file mode 100644
index 34c72b0..0000000
--- a/src/cursor/cursorImages/blue/cursorBlue.svg
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="48px"
-   height="48px"
-   id="svg2397"
-   sodipodi:version="0.32"
-   inkscape:version="0.46"
-   sodipodi:docname="cursorBlue.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape"
-   inkscape:export-filename="/home/sbenven/Desktop/cursorGifs/cursor00.png"
-   inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90">
-  <defs
-     id="defs2399">
-    <inkscape:perspective
-       sodipodi:type="inkscape:persp3d"
-       inkscape:vp_x="0 : 24 : 1"
-       inkscape:vp_y="0 : 1000 : 0"
-       inkscape:vp_z="48 : 24 : 1"
-       inkscape:persp3d-origin="24 : 16 : 1"
-       id="perspective2405" />
-  </defs>
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="7"
-     inkscape:cx="-31.071429"
-     inkscape:cy="24.45"
-     inkscape:current-layer="layer1"
-     showgrid="true"
-     inkscape:grid-bbox="true"
-     inkscape:document-units="px"
-     inkscape:window-width="1920"
-     inkscape:window-height="1125"
-     inkscape:window-x="1680"
-     inkscape:window-y="25"
-     showguides="true"
-     inkscape:guide-bbox="true">
-    <sodipodi:guide
-       orientation="0,1"
-       position="-4.4285714,24"
-       id="guide3229" />
-    <sodipodi:guide
-       orientation="1,0"
-       position="24,-18.571429"
-       id="guide3231" />
-  </sodipodi:namedview>
-  <metadata
-     id="metadata2402">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     id="layer1"
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer">
-    <path
-       sodipodi:type="arc"
-       style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#0000ff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       id="path2413"
-       sodipodi:cx="37.57143"
-       sodipodi:cy="36.57143"
-       sodipodi:rx="21.571428"
-       sodipodi:ry="21.571428"
-       d="M 59.142859,36.57143 A 21.571428,21.571428 0 1 1 16.000002,36.57143 A 21.571428,21.571428 0 1 1 59.142859,36.57143 z"
-       transform="matrix(1.0873786,0,0,1.0873787,-16.782941,-15.838419)" />
-    <path
-       sodipodi:type="arc"
-       style="fill:#ffffff;fill-opacity:0;stroke:#0000ff;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path3227"
-       sodipodi:cx="10.928572"
-       sodipodi:cy="13.928572"
-       sodipodi:rx="13.785714"
-       sodipodi:ry="13.785714"
-       d="M 24.714286,13.928572 A 13.785714,13.785714 0 1 1 -2.8571424,13.928572 A 13.785714,13.785714 0 1 1 24.714286,13.928572 z"
-       transform="matrix(1.5759606,0,0,1.567424,6.8484293,2.1217687)"
-       inkscape:export-filename="/home/sbenven/Desktop/cursorGifs/cursor100.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
-  </g>
-</svg>
diff --git a/src/cursor/cursorImages/green/0.png b/src/cursor/cursorImages/green/0.png
deleted file mode 100644
index a6018131000a308f42c59c1ed8725ff8d96048c4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 923
zcmV;M17!S(P)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm00004b3#c}2nYxW
zd<bNS00009a7bBm000fw000fw0YWI7cmMzZ8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ@H10~kp}K~!jg-I_5^B3l@SAI|LD!wiwc*cg)u$xdx0#fHjTSn>n3
zpf=%0_zV06^tav(bhmI5T52mP2#K*VBpV$BGQ3*|%4PMg1M2MfOr{tz3GaJ2=i@uy
zcXE<gmmE0{I53!fA3t<(f|z)F#Apk^Vy_*XtC+YS5p}0bzXSgY4cGqeRSo3GZ35LI
z#iJp^zXO7Cm8w^w<m~Wx0bDLzJ$iAI=CDuyFAwkR2S5G+nnHt>gh)zsBMPqE6Du2)
zRlYgZsk-VaDHpoXsZLc^`NqmduG|wuA-SHH3;%>T&MQBts1kM5Ni6y~I_jvRN|aZA
zfH+2cdQ}66z?Xj>D!gr}^=iVGX{n`9;jJ(K91*;V0mPTQ@`JkS<B2A3CVtLD6V+88
z&wh<BYZ)*yH7k49P-FV$%9m)UF}1RHMy9rs0V7k}(8gU`?f2IHKwE8XXyboPJUeZy
zY^vhtwAGfCy?bstJ-J}>$`8_*HqX&eV>(+Czbx!uLZvVNysr8<MZHf_SA9H-PX7t9
z%La}^g}3h!ZIUw4M4`f4#Ic?-fGFgZAG~FpUze6znoXsLf9wYXuH2J~Dp9%;e@{h~
z$d!AdMFWUUEBmVH!CTQ$M^-jMY)Zn+a=Pj+yVE`PR!RuplRfs>Wp@fxfqMf*ibsbW
z7E)D~fI|)oMT$rFPr`HMj#f#D)8axGa^;Q?o&gR5g7IfQr#h-h2nh)Y#=wCwnEfhM
zFKtmtsZ#X}X5aYuVTqEHwxFbxC^<fUXdIkizIV+MJM7@#1STfl&Z>c!c-xE^ZDrNK
zh|!k${i}aA#$vB8xlCI}VlKJFVy}&ZbCp#C4$hT{iThbK5EJ)JMAYrki_;dAlpeh}
zBI=qc)9+21YZqDHn<mZSeUUip$(+#8!#n%R*R%)q#eCx%9^RSIaK0m}l~uk;dt_fq
zS>+o<O&?)P`7t*2`UqteWxcSak5F1v){DE3A7;3`KEE^F;Lw7J%(j>wU&wHiZ^1-%
x+pG&FvfJohGV(_qHOTy7kChE9nMv)q%}-$(-8`fMXv6>j002ovPDHLkV1j9cr4IlA

diff --git a/src/cursor/cursorImages/green/1.png b/src/cursor/cursorImages/green/1.png
deleted file mode 100644
index a0343a6cb8ff13facc406102f48c5c7921264c68..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1022
zcmV<a0|ESrP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm00004b3#c}2nYxW
zd<bNS00009a7bBm000fw000fw0YWI7cmMzZ8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ@H11A9qCK~!jg-I_5^<472WpN#Q2HX_pM8iZs;TGtdOQmi5huAs~h
zfPxw+zX9<JD5%q4OIAsD1uLaHrJ$lXg(5<-Xi%gD97yE6SC9mbg<BFFeBl|nm?)Zg
z-^uvP%r}#f#9PUbae+;P+3@fJ3(Jp*m+!dy6~Mu{w6HE>;`4~;Y{1|f@TXAs&3#X6
zAVcO8P|A_p?$Z6;$M2OWxq0%|3J(P!d{o-B;~KT@Ip@E)xX0i5{s&MK>P#g>(nJqp
z(U!gM$cYLnTp#E_XFAiQwA9jp4pdO#+L064viA{-lk0iC@CC$fR@qKb#i*&~#G+rK
zsiul5Mp<P$h+V`&q6QGYC+{>+a8p-3G2u_CtFA!7jVJFE;U{7M@g=Klr>t_Xul~%$
zkLatfvdX>Tukqzg28_&(Bj>iF%3$WopHNX{;K;c(GCNZlFfuz!TDonh@!s0UG}O?N
zmj2Vki_^xDldAX;4K?J*xqWFmJ^R9DmF=W4ZC;|H%3%0T{P1G`5Gp-+r)8CUDe8Te
zvdX<-boy6_eQIDgP;m1e(PmQm>MKxigV@z`1`vx`WjnKs^KYfDx`tC}{Et00V9VYw
zsu-m!@#hp(jBMHadTapk$&r)j@?cgp)s!PALVS{h8LsI{tE>*zSet4=_@1n>#wx1=
zpak3-$dTLLVrwx~WfQQ))?$v__I*vbw(PrUmc(h%QcJe%JA`Y1O&`Dana`<?>LdgN
z`1n0w(-_P~iISVPs7WbNat&s~cz8jcyp^_~Ny(G9JiNeISpI15nlyh8%Pd%71q;hJ
zG4b*&4D7MTU&FG;UgGVqutH3{j4k`FrB<R*;zTE^syeP$Rn>`3676FYiOkQvPR<oq
z<j9TdIdWWaHH)q=4$fsrm}sNxtaHQ>jbS<Bh;`Nz?IR?_!MQXR)<x0=01i3ic32KM
zOuYS&5DV*KAtpW#34cqvgA5rq*-X0GF(Dx_@wthJ&f2u&ne{Xy+O*?{=*$cle5+A=
zbCUJFsZs0RCyD2MF(=e@agVE1(;n1U^Odi-xW_`>(T;4Vpu%<9Bl}tkDqJIW^bxj{
zA7fLmkC0Z;yeGEw5mJkq_vG%whjW}>A3bw@z@bMb=Jtr`;R|zo$oI&^{2sGDGBLjg
s-A|1CudW)*{bi4-4LmWE+I5?M0GD&C!u#BIR{#J207*qoM6N<$g6oy@?EnA(

diff --git a/src/cursor/cursorImages/green/10.png b/src/cursor/cursorImages/green/10.png
deleted file mode 100644
index a57da5ed281be8afd04189b4adde9e0822098fea..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1362
zcmV-Y1+DstP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm00004b3#c}2nYxW
zd<bNS00009a7bBm000fw000fw0YWI7cmMzZ8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ@H11kXuCK~!jg&6+Vx97h<1znMEM8x%)Jac687NF+j{FipBp&>*F`
z$hJh~5+M<}NKJ`kSC)*CIYn||glLhlFyM4FL~c@$+G%3h0#k56e73>tycD@Z%QAbn
zcLxV=bjAHUGyA=re^)cJYb4RE4CV^(i^2SyB6ZVXIvuXV;o1N!_N&E~gth~McS4K6
zZ$h7&KDnfZeuymMQCjJL5DwK{T)FKdM7D8``oY_c%)F6l1ln7Sj59Lxi1srxfUt;3
zBXf9K;2tA~h)IM^%4L$=0|xVbiqxM0!PTUxnI=t+8~`8qz#)f;(>g_JFCh3q=uOSa
z39kI@T35YIZ5q;$3Myz_>)O(moSZ6ha@x|C*0rvJ3L4Uo+SHb0G;TMQLWl>|PST?u
z&1gnN6;-c_Dr!bE>QPUv)Oyg60mQ?&F0;yNTGKkvLEYd{9q2&QnpRfXY9=1mWdLzE
zuB*KA+SP8;;8E>rS9#^DnYf$C0HQZ8=f^d!K*6cQR}?7FxW>KsWv1S$1`sJLyX$GJ
zS<RjqcvQ2Rm617NqRf`6X5gvM{e&i324B&HCgM`*sn-Ca!<Rb48b0<&Y?YjxhBX|Q
zN*z7}^U=!P>Q+gmmcv(6Qc2zF_Km{)F$0L4Z*DWExpRZBXijs!QE-TyLIx(ImHO3x
zE~yihlT*L?eWNg`iUBM8HhOqbi|5ULq(v?Io=9&cVGtd_zksRCk1}M~Vv98C#1pWy
z)FFpt$x@^k4h#6k0{02Q1LVnH7<l-9W}7D;4IALTg_B3_aHkbqbt#4^Z;Z?vq3^=c
zZMMmfX$@II6)Dn5=dqZ<{B2T7Z3hHLw3oTeXPRGYpM|b)g)e+L`kx|Iv_c)>N?mld
z94x7#Y(gEjvh@*H=^`o0=5TE`TFG)EbYbLUvlja`9N1*DWkB^R%4V@&t-+MS!3{QA
z3RRDyYz9-Z4!0c+mMF2uUQ5A}XpcQg9J|&y+_n`uku$G(-7>JG@-Yc*THsamzzbfq
zf~hXWFugK}tH5qJ+C>-dd5<|hMLIVLaf2Ja`}12Xv}dvJ!qE*jSYxeqgf+Cr+6j1z
zeJ8Y6S<p;H=i7rCJnv<|kp?yBThL4?v?9BXXODkLOXtn5B`x{j9pbtoi~5(*YJKWE
zmF>eub)W<Fsn2KNr98V58Q-?bn8wb{z?jB-3;IJu=7fQ=iDw?SDyYzM_<{<)D=)+|
z`8Kx71}<6IkI^P+rM04!mcg%RMQNpd3;B<TOR)yZCT<y-z-MAgQ)do8r716bnd#O^
zUjO#`y_n(Ch(@%p{Zj|u*S<zH5|=hY-1D=>zu<Tr*Hy22wV;JlgI~~sdevJE{&75K
z^;b+!s&uLW4QN%X4ZSl66lhhe8qh#Ba3P*lXRLCtY~r5po(PwmavIgBmbI)M?ZiUw
zXh+Lh)~H66Q?4p@`JCRg3ICG5X6?7wKOC;3W@VtAcCK;lXbro;2Agd1iBE~<J{DVY
zxF3c7s#&>~!_Y`vLOicE8qJh)-_MCWDw|3nkC6;wnZ~}4h%2t#XQqChIva$H+(Z<t
z?E6Ns%WVsYn~icLx(8~>V6Fnc0zX-7m%(%jwTC~qF_=$6+YYw@{0>YBHNE)$4`^I7
UJTwO;2><{907*qoM6N<$g3m64EdT%j

diff --git a/src/cursor/cursorImages/green/2.png b/src/cursor/cursorImages/green/2.png
deleted file mode 100644
index 3c611a144f36c3ebd1660e19f2fec55f80c95548..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1131
zcmV-x1eE)UP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm00004b3#c}2nYxW
zd<bNS00009a7bBm000fw000fw0YWI7cmMzZ8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ@H11L#RaK~!jg-I_g58(9>FAI5mEZ3GC>Af&;Hr=~y{30V}RaIu9`
z20`H($v=WW01YnPrC3p<NCe#$*~k(I1w~syg9{7E+5%)HfdShZzgu9y3pl}Mz-ykX
zDeOC%bKbe<ew{mgl6WkA^o4<>g*6``;sglT9^P1m$|!)roCFB`<KZ2-xP?0Pzkol5
z&L3^NQvrSSjR2`3hL+Abe{Ew|Q>4OCqJeR43P7o;6e)U}Y@Q!+^jnzlr|*3K1K1QQ
zcjSnqwl2g#P{9==<Hi*~UDKKhDyUr!b*MG1DX#dbk#U0xt{?{5_vhh`_al}=3Y8N|
zxO>`b+v!&9X-^3y+>k<L#4@7aR{;n+qR74@=WI(`zBzuIEp5q>a~4r#A7T3<05Ka<
zsGL!zT2t-GoWG)`nlj2%8?7<>C;^tNw2`^UDOZ1T&u@`au5M&5ELrJ}1X!}tgBrZZ
zEC1ZSUz1l}gBtv)h?ZevWV-776?x@lWG-5T)4d%wq)@pVVbhA7a`i@^xYM!k43!Z@
z_A|;<yXfz|WR$5kMyLM_v9|>*J95sRW3*|Pnrd?7oFSHVp8&)_NTKpmj`NRYOIvD$
z()EmeEg-1iN<s;@yDt8kgc5F0!4)+NK#Uj}UzZ0@#h&(LWL(6EB&^1oE;Y$yeVXZx
z7KG2qG}BBnSqD<UrGO!ZmKIqY=&EOJu*l-T5JO9szeG5wV5O5Kakn_sp@Irl5Mc{Q
z+St_?v97+=c5ra8v8zC`-@=+tkqY~1;2Ym~$2-381%Mf5NRwumVc%?|NQJXx=dB14
zCrUKn*Mqm&W{N2eIN<k2IpBaPrr2iNFEd1m1|mcphBf?kLmR%t=CO`7p$YA1=T6;@
zb~K?09qZT^TN~QYu!g@{9^Tm1=KHZ^$+Ex#v&`P9n`M>-7RZwI#nw3Ecz9!0h03U3
z0(RLYNwQ^qk|ewA`eJLGaVk_stzX~zaH>=>n3nYhLzSwZCb10Wq(sS=hsBBiw4-jb
zO`Nzdwn~&Rm=j++aX|&yvQ<>^PF+z&*|IyzA>BuFCqDA41!BZlWtBPRSZAHT8)cn!
z=9puZRs5PTOO){Nj{05PLXn~e_%au~<t;PJkR{7|-UFAR^_kDS;*}pJ04P%QT-*YP
zH!;P2_|mS=NKCOGh&R2zm=ih=6aMsp556_;Q}dCJgb9BVI=|YHrQ?d9cKgjfl(^!j
zh_qh9mhxq6>h%)RD(dybmR>??QN5nrz4^0;)9Y7PPakloNkq>cG2PtI!-srLB6|0j
xwMj(p9(3Ol^1u4jpyxmK=vcrlF<txI=3m^?9MaEvcsu|A002ovPDHLkV1lr`6bb+U

diff --git a/src/cursor/cursorImages/green/3.png b/src/cursor/cursorImages/green/3.png
deleted file mode 100644
index 75169daf68584cb4c9f78c0cdffcee3d28c10fcf..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1243
zcmV<11SI>3P)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm00004b3#c}2nYxW
zd<bNS00009a7bBm000fw000fw0YWI7cmMzZ8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ@H11XxK#K~!jg-I_m0BWW1MpPB6J%tReowpoO*U<4a&G{TzduDDV=
z3%3v(Q4DHtV;ceyyDRJu+jT7#4!i>k8xc8Sv2ejf2n(_Zt0u<m<afm;>biQ-%(z~B
zUZzNRzxR2c<eTq%zdr_`pfF^(l72H~{t{I*9#JIb%YRW+@wp_~vOh-@`Q*#r&ny3-
ztn%NI{zMc4bJr`tknv2?fG6*DL4{vqik%H;z<sHgkv3hJB;_vIM}73)>TO|P`%hiD
ze|^!HKP0_H9M+WxaHmJ8$-<hmvGWNM$62y`-~)HXF1uvOk|1$xW9KcbIiaSz=X3kS
zp9oDjIEP7+`3*Miob*lDV1p#dyn}NnG$HgPQ~^S<DAD(E;wLMtgqHYKtgu3y_(_!L
zd!bk;0)$>UIEN`xXC+GamV6Z@N~B1gRsM}vfdrVCBR2NwB8%mF&-@A&SuESwrzYk|
zT>?zZkrrA`*I4`6xu0W=HCkx-PZ2kE8yovUldocpHEitDo4V7rFRX)e_z>OZCM>d8
zuDlaJyx2bsl~JPaQ>4xwFyCvDB6U_7oxU4luL_um6F>PGqs?7WqC}kdiO>Ys2@q;>
za1QTtoDYf>R;YBP^BMbGfQ2=eB$<EM6l)_%GH+qcaan-SGaEb9^5DL(!3H*VUg#Mh
zvr^LybgR4EtKPZ_!k>v=^{QLlWk~~)z6tQ;y&l$ZQ`lsMiiM3~4L5o6UVr<9TnnpM
zPf2_ocGzK*QM%|NQn4<&7-f_lc0%FUWfu#pDCA0Lu$}g!ph10n7FfW=B}R-f#`wKr
zV~i0ahKtJr3;6hfMYPj?Bs3@!bAE=IuR#N*Nh8EK;~eqh?{UNt<BTIjnsiV)W|;YE
zV$Q3X<~Q@q2MV^$Ha0fXOxN_CW*QrtZMFk(&NELl&2Q97>*f+mfr1S(NCzF{sXdM4
z$<sjxgA4}ZTw;k<S~pE!{)_73yI!noT|*j@E4QYvD_27r(z@0Iaki;VzWf(vQN`y$
z1ng-~2RcxXdT!mOM?E^wf%ddlH*cHTR8;Y~S=;r$ajH{E(o;RXb(^YhwQUfXw(QS2
z<?0U5sZM$Fw5iQox7pODJbCI=XWhIx<z&nLY(^CM6hwd_Lw)MgvX<q`uj%j0*Rqz?
zr#=}n>gLTUr-&k-Oke(f5CM`jt66PnOKGKR`lglEmbNsj*+85*<>brX4{aiwVhRh3
z44G?ZS|6Vb87wTOm<mdFF_DE;N)#wC$s`5_Ns?s9uv)PU8ImM1FqmYL0)@Z=&P$1~
zi@8-+>8BqD2UX0$p`U(MSq+8byJ8NIhxaZ^Hk9C1lqm5}#ll`=XUXE>z2nk~Y$QSA
zI8>H<M1sVz&<KxVN%=Sy^*n}c6&ihGi^s6FNTYA=UVPcW+w0Y*p$|B?B%)!Dm@XU|
z_>k|Ch{io;y(FS>54x`i`CnZ%X!y$>bqly6=E1Jp{0po^mkSFtgYf_W002ovPDHLk
FV1f)@K<WSh

diff --git a/src/cursor/cursorImages/green/4.png b/src/cursor/cursorImages/green/4.png
deleted file mode 100644
index 19b9062db0dc1ab9fd2a027a2b2b5d943f15119c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1331
zcmV-31<d-1P)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm00004b3#c}2nYxW
zd<bNS00009a7bBm000fw000fw0YWI7cmMzZ8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ@H11h7d&K~!jg-I~8oR9O_qKfLGc8^$n((CBOkiPMl!7-bR-7P2O5
zW7L{0h=nmEm{|A+SW#kUBQ<tb5@WK(ZbD29qISkYh=eTAAc^SU17<$kFe9R@zBed4
zes5kgbI*_On{&^cbMI|YX%sEAv;w~e1pPU3#gMSGLgjEw+yM{~Er*0l6)N*($}?4}
ze*=GtYYp2@OQ408cHlyu{2yzq{nkn6`UNhucF`3U_&5L-wv9RFD)+g+HqZPot+f92
zmbZ6-`{GI}N7O_Qaxi1&W@J<@S$a3>s58!(6t8^csH2uFy^D;>88bJLgUS8*cE=AO
zLs_#cefE{7olflZZkTr3KKsg9vn$9Da$rvhAe}jLFNzl5PdKq>j_<^T6BaGL&zXCH
zbnXcO<W$z|%CN)h8*Y3z=WEz-!(oTlw|<RN4G{<o1|y>nV~$n7yXQMF=2$f{`Vbfl
zrXmm+47S<!VbaMT?Ry=QPTFSMf0EcWY$Bt5b-sp4Cyk6g>=sU6T(DWQEBg^PyJ5_+
z>eib0Y+-+vDs$#u3_HBOkN$oU!w#=+Wv5S4>`nqhMT_r$M7Bwa4L2-We2)zIB?8F7
ztl5?CndckDgcELsQvDyhP9S6EW}kiK{dMu{=(De!F>})`zgtvVXlaj#{&~cs)?Rv3
z)l}P2rp$AmGtD#rB}yFUI5~0+>wd~pPIG!KCjM1isfEvA$<n(<-_8Rcc+6vlhO%RX
zh92{n4}8$58B3PlA%oUJC~yAZsH3SBuDa?~uhyMC;t?--$&syb$x9ybNd5b(UUk*g
z)b>UlHE;f*3P@|lOq`}9R$X@4qD2uq>~P%iUFVKFZigKr7A?B$aw?mzd}YQ=jI@GW
zJnGTZuVcUg5zl$fC6~TBf5|1!c}~Ou2hy7Ls7F_kiv$L@u6unmjgoub6R}{yH@^91
zxi`MCU_r!t-b-WJ>t5ds3~mKEa>XvX!ZaD-8rJ~0!yVdb|7N*%+PTA>Pjn<j7hPeF
zTrmg<J8Qjb63jBoB8&9W%X!WxmOsyVdg*16MP`{zEMK5NNZ1)vs2om1;0aFvILXPx
zvNhCXYr2x4K!FOC!$C~k(X0ew;*KD#@paY#h=|gvsLR%Lr9lu8EibT;Sg=G1fGMU@
z8?VXMbS1$83q(ZAK}fjNtOP>BrJzD(J`I6xy2+F0F^}s-TM|q&&0`*uCr>xsiRBkq
zph9InC{v!9W3G}^K|sI=BW$wCWiAsFf3s{%%w;aK$tEL=5RiN+&M{XhQ=Vz4l&D&@
z-+mFVc*WTGt1_{%SG*!(zx`HC*Lv4WiAIaLS!X@uArX7*amuM(=T13gk3AwD@{qI6
zrn31-G3OqX)31H)S<lw%{xhEOhBv&sHEwvrGoGpU31>a)YhS0f_enYJ9yK&otKRmu
zZMJ>Z%+yAkZQk~F>aeL{dqcD5E#)SgyyPX%c*awn0?<n@CpbYj-5lURL;AniQrg5#
z{m-+lVzX~-`7>-S+U%RVA3tp3?e*Hz)CU}HBhj=+OdlsS@gd(f63u(ex{XBh9(3;@
p^1r%j(Dau*QWMxgX5X&c{0rL5fsxZf0a5?}002ovPDHLkV1gK<bQk~t

diff --git a/src/cursor/cursorImages/green/5.png b/src/cursor/cursorImages/green/5.png
deleted file mode 100644
index f0d521cd735ba9b21cd9cb579867b5c098af3360..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1495
zcmV;|1t|K7P)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm00004b3#c}2nYxW
zd<bNS00009a7bBm000fw000fw0YWI7cmMzZ8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ@H11yo5yK~!jg-I~8|R96~?pL=I!?|2ZSMSz5?wJkG63W`9OB-YUE
z7E2S6DwPWhQ6WYv{sLtF036Y5Wh#oT+(D#B0b<EgC^C)`At42@gz?IvLAHY#Y>)3e
zTdZgB@7y~!VZHCsG^6u<-}|0(?z!Lj&J9%dih!UC_<KnB*8+u7hD=XPd}5j9qW}@n
zs|=Z!G4V{D`c#wVIPjhLcF(ap6%Y^{0WK6N4!-5>-+Jg-xxj_4KKe4<ylVin>)JHa
z@g45GonhurU37i_8^8SvxFgPWL_|&XLk{K44M#@xvgO4QN1SrXw0Pz-M;x(ic`-7o
z=gbWwhtl&&PCScT&YPdBSgF^nr6#=-YSye+sprklA(xTtz6wBk3KkxhEWNqw-F+jz
z8F#&F$<mvGg~v$Gz6d}D^5*BNR#zG}-W&NA8aAw2U0IurfjtQb4TmD5rBO$l@16N3
zj5^wkjFv*fp^gNEhC_!vyfop&AI-gu2`4=4;ax@SxNIV$4@$m;2`7w<mUdcB+di;)
z^K&0!+3bW-N1JQU#Fhtp%T`&i@VIJq<pc8F7FDY&YrE5iEq1ej%Oy*1{)pWsEgCi~
zS$cz9b{*$-DiIJI%9H>17-N6_f-gFHtJkUX3%@YQBtP*JHEIBqDf0=RaF(-t%*PZc
zbmadVzTqprnqOk+FXEdGsYK4)aK%c!lhKKdz2Ob>=H+)<-n=)wVQk#dOjNAYbLNI!
zzl4w@kx@tK!Bd}l&U0Hx4mjXH*4lsrTg097oKJn4I$q71kx?BvvR=SY+45pqXScm=
z!9ttVdCyz3=626e!-h3$p7(saf5C#cy`5S_+43SX)D}>*`0a=zshm9Wk&%&zMT_3@
zR$|**-m+*>#K_1;K1vmP#1V@Yzf}S0%9&eElM=7E;u+6~c+6uy_jxJ;s?UAyF^`FO
z#xt&%eCK}VGjryakuH!gPkQoon&8*G)?Nl<j-@8w!kA-iKi9mL%J!ruUn5@<8h(A%
ztE)*3U--hTSrG>vOig+-1|1YJYt|RONNji2tE-{m*I|J|sgJ%)(!Ka04_RfEfPkCa
z>}Wq<kDJ^iAYheM9`Z1;T_1g!0)<kTA=A@3yC%Vp{0Kma63027n($^E=Qt%w8+<20
zH{E2&^n@|-iB1HRDW_w)3tGO?3W$kMgv%@+O)8*ClSw84ILq1eOm{%b*CdlPX(qDi
zrkiD!kA`UiHEGhI0YHviN}4;P<*Pv>v49rBi0IWUvxz!q$#R<0K)UJvJ+yqC<}_Kd
ziEL(>B_etiX2`ruDgfX!J_BfHn)`v4ua@s5m}Qm>nU`TqJd;Mir+f;)6P_^7d^)Dv
zV4iuN@MMGUB$#EEn0O|vQ=gh<I!<c%IiCX{GR$yFx?3^KFyaQ^NifZHT&F(OQ7UoC
zOCkmajys<E?c2h*;|2yIUh+~Z+jc6^Niw(Kg1z>N*l)k{&Zp(>yz}<kFJiB~F1V1`
zc0)2}hw1cv@3%*<*Iw^=FR|@C@3jXYFz~+jQ^nqpPP>N#&2_K0MFa*`t?oLK3ocl-
zy20kU*VBgGdZ5|Mk@A5L+Did3H1w3Gyy!*$xz;Xv(Nmr>G;H_lx8DaoNF8t6Bc*#h
z)W7z%SG>|5+1*-T;1#d9XzB@9w;t;EwXE_hzw!e=w96_#^E2?@H*Bk{QlY{}eAJQu
zUCS!Ihr-tCTH6ooRM`6eDlK}@i@WdsJiz7k*6%=HaJWvyfxTjS*WmzP@~snbaIaa{
xi8#0y-J68`Pkm}|;6L{0SimMRAMA6R{{SyAI)@Zf%~1dV002ovPDHLkV1h}t*_Z$T

diff --git a/src/cursor/cursorImages/green/6.png b/src/cursor/cursorImages/green/6.png
deleted file mode 100644
index 9732994221919fc648dd415eb3992f4eeb1eb7a3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1617
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
P00000NkvXXu0mjfp}PS+

diff --git a/src/cursor/cursorImages/green/7.png b/src/cursor/cursorImages/green/7.png
deleted file mode 100644
index 8c77ca768173a167d18f42506e322e5d562726cf..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1756
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

diff --git a/src/cursor/cursorImages/green/8.png b/src/cursor/cursorImages/green/8.png
deleted file mode 100644
index a2a97a747bb5b882083949c64d665f0bf1007772..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1870
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
IM6N<$g3tbrGXMYp

diff --git a/src/cursor/cursorImages/green/9.png b/src/cursor/cursorImages/green/9.png
deleted file mode 100644
index b950aa17d1e7f32b0321e3734e0fc028c2c04a4a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1882
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
U@g*RjH2?qr07*qoM6N<$f)P}QiU0rr

diff --git a/src/cursor/cursorImages/green/cursorGreen.svg b/src/cursor/cursorImages/green/cursorGreen.svg
deleted file mode 100644
index 34e8bc6..0000000
--- a/src/cursor/cursorImages/green/cursorGreen.svg
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="48px"
-   height="48px"
-   id="svg2397"
-   sodipodi:version="0.32"
-   inkscape:version="0.46"
-   sodipodi:docname="cursorGreen.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape"
-   inkscape:export-filename="/home/sbenven/Desktop/cursorGifs/cursor00.png"
-   inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90">
-  <defs
-     id="defs2399">
-    <inkscape:perspective
-       sodipodi:type="inkscape:persp3d"
-       inkscape:vp_x="0 : 24 : 1"
-       inkscape:vp_y="0 : 1000 : 0"
-       inkscape:vp_z="48 : 24 : 1"
-       inkscape:persp3d-origin="24 : 16 : 1"
-       id="perspective2405" />
-  </defs>
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="7"
-     inkscape:cx="-31.071429"
-     inkscape:cy="24.45"
-     inkscape:current-layer="layer1"
-     showgrid="true"
-     inkscape:grid-bbox="true"
-     inkscape:document-units="px"
-     inkscape:window-width="1920"
-     inkscape:window-height="1125"
-     inkscape:window-x="1680"
-     inkscape:window-y="25"
-     showguides="true"
-     inkscape:guide-bbox="true">
-    <sodipodi:guide
-       orientation="0,1"
-       position="-4.4285714,24"
-       id="guide3229" />
-    <sodipodi:guide
-       orientation="1,0"
-       position="24,-18.571429"
-       id="guide3231" />
-  </sodipodi:namedview>
-  <metadata
-     id="metadata2402">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     id="layer1"
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer">
-    <path
-       sodipodi:type="arc"
-       style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#00ff00;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       id="path2413"
-       sodipodi:cx="37.57143"
-       sodipodi:cy="36.57143"
-       sodipodi:rx="21.571428"
-       sodipodi:ry="21.571428"
-       d="M 59.142859,36.57143 A 21.571428,21.571428 0 1 1 16.000002,36.57143 A 21.571428,21.571428 0 1 1 59.142859,36.57143 z"
-       transform="matrix(1.0873786,0,0,1.0873787,-16.782941,-15.838419)" />
-    <path
-       sodipodi:type="arc"
-       style="fill:#ffffff;fill-opacity:0;stroke:#00ff00;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path3227"
-       sodipodi:cx="10.928572"
-       sodipodi:cy="13.928572"
-       sodipodi:rx="13.785714"
-       sodipodi:ry="13.785714"
-       d="M 24.714286,13.928572 A 13.785714,13.785714 0 1 1 -2.8571424,13.928572 A 13.785714,13.785714 0 1 1 24.714286,13.928572 z"
-       transform="matrix(1.5759606,0,0,1.567424,6.8484285,2.1680224)"
-       inkscape:export-filename="/home/sbenven/Desktop/cursorGifs/cursor100.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
-  </g>
-</svg>
diff --git a/src/cursor/cursorImages/red/0.png b/src/cursor/cursorImages/red/0.png
deleted file mode 100644
index 839bc89b0e9f997da26bd2e137e08991f93a0a7f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 897
zcmV-{1AhF8P)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm00004b3#c}2nYxW
zd<bNS00009a7bBm000fw000fw0YWI7cmMzZ8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ@H10{%%vK~!jg-I~2_;y@II594^pHUcS16CqhhaZQDbh$>s8^aGHB
z8p#ilC*TR_w@w7z7KubloeBzsgwjMvtHfZCeYOZ8Aql%Ne~$U2>5w>QxO2I4@1#g#
zZBi*6z&V6CgJD=u6ca&k4BtNj07&@&MY%^1^x=73gyAiK-ylb8fAz`+QmI1#4zk$`
zj7C3UniDvVj(lE0E{FL7fWhE(^?CssjS>3&AJFw1{Q2_>Km+7(B^@NAEg(%*y`+>L
zZTpe68rkhKGMx@ttC6<-NGUz4>Lr16R6S9I9}uWg(}paSJht1>MK7b>CQBucnl>a*
zC2+7=1As}xxT9q~vDw_5@b@&Eq-8zPFzyJLn=t^KQqzWX-3h1D?TLS3Iwf6qGW#`7
z*E1kQg;I`LuZP=L{*HP*q?BU{QCZD^5EW)JW42m5*FLA!A~TtPnphq-QpPL(g;tA{
za=a{@K0mOUHjE`~mQk;VvorDGV1G=NhH*#Nox~{jb6j^a%T5a^_Pv2BE$e9~*(NH}
z>2rz&s{GUdkfx>$x0>hIrP<^xl;;1~uLe~0lBJRtufi`-Dm|AS3kHBgO1atcU|Y1?
zq?8_kLy{1)n$AI?5TaOItuoyu#UfBBga8}>GXvS|1<K`goVp@WE~k;rUH||H=u}mI
zrII)<Ivr9~eFC}wa1PU);N&FUU5$ce0j4<ta4sOk85~ECTT^5lM~4t+0)}BBpI746
z6PbKofnitziek?1u1O-70~Ey+2!i9p8VG`80pCALtO4IY6950?_eMa<2Mh*r>xj-^
z07&^DpeXl=HJ~W>0zuGEtbrit3wT}^y<QNvp2+li0X(lO5QevCG}dmi?wm$rgfP6_
zgJO;xLDz3^brtuXex2)UK-X_Tj$UqL725V=+#CC4Z2OTwh5K-&+>=ZFUbIyb-`LuV
z)?(tDyL-`I--`jqUW}ODhErmPd~XkSV#lm+Q*2@f-HS%P)l-ASKlWJNz@nMhp4<Ed
XyTIK%0kwfR00000NkvXXu0mjfyQhVH

diff --git a/src/cursor/cursorImages/red/1.png b/src/cursor/cursorImages/red/1.png
deleted file mode 100644
index 7124ee3650f9af982e8cbbb292c6689a10480b6d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1032
zcmV+j1o!)iP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm00004b3#c}2nYxW
zd<bNS00009a7bBm000fw000fw0YWI7cmMzZ8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ@H11BFRMK~!jg-I_gb8cP(0A7<eWyB0*2Q&>nVq-<IjSEh)loWfPY
z55R?MOLX}IP7y^);a@<N=GI9-N^uKYqKjyvNUltQP*#p23nj7_1KK?)!1yC}uEC4<
z!Xs_51vBqEJ99X5W?~}3or%RvU>&8_uq+3|u<`w6y4@uJv_8Tx4)OgKp4T7<_JDs8
z>D;;Ni4DYJi$H;NdV@~qDYo6CP%z164Kf)<4}j~QKh363rP86*`U}(C<>$|TfC?h*
ziFAm_cn>T{BC#!6dy>l?%g&BSqakB+a3Hd?Ba+J<i`Jeb659d`<LVhlcwAshlF7E@
z^Pbe}<BPtDdR-)+_avEY3v3C*!!-c5Sk}Hc&WTj3;R(M=wJPE`Ct_Lq0(LkC;E5!Y
zZ7G#{((g}C{2BeeNU78tevK!0GoaL_XniW>axi`6S16YQ(fU-B+MLXQQk#-Wol32C
z@7hPyY9guBA5GjmZM2S7{28^Hh}Ne!O{eP@Y%<x7WZK+Bxf~4F#BU4x_fTnB`%)_P
zB9wbQrBZJgoi2sgs|L2jaZc_f+KfxTKM1j~CD$5&1xY5`Q;qX?rCOEYR2uzbpBqRd
zwk4nUqE&bc^7%p9amfHIiq_$#2h*Zn7tz`iSQHV|FsCc9vJ$YmI$36VpRBIJ%1Qtf
zfT4kOdV^wdAxd3iQ7kTyPHzApU`is<ohT)aih~1@M4~HTDqtPk?(yhRw4*u>jsv#c
z1J)Hvtx+hLQEM8TLcv6-HHBq4WV1%pdd4Q3HLxs4VHoyk?;18IC-C*_blT2jz%cAM
zzP~&b18?8L(GjFl&}zZUm!Q;t{_NIdGT{5mak|~5&<*_fF%bXa#o+zZC;0dgo;?e%
zk4y%--K7wR<O1Kn!^4N?@3uYo3R6I#^%1TcZmW+U!<R4c`7?a`2CrU0u^4V2t_xZp
zDGcK<bOQiy-V8?l!v}c%8Xi0dw|&<I!#IrN`z>7e?{HgZuwb7*553tDt_!~3Qg~j2
zX49WuPgA1V^zpogA_(@VRPJ14y>}{=4neRt2g#gB2h-f;-MgsA^!B`e52m?`Nat)v
zwkf&Xanu8QYjU|`flZl*E#;hS>gS@YGV_J4xhO5pd~tU!%IkA+z%ds`Oc$rq%pUSx
zT-Y;v%z81z&g?<=Wh4Kqs|GWF*<*48m(4_W-R2jp5CDo7h6+vq0000<MNUMnLSTaW
CXxrZa

diff --git a/src/cursor/cursorImages/red/10.png b/src/cursor/cursorImages/red/10.png
deleted file mode 100644
index e4323c2b6674efd1b5f07a200652e08faee74724..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1374
zcmV-k1)=(hP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm00004b3#c}2nYxW
zd<bNS00009a7bBm000fw000fw0YWI7cmMzZ8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ@H11lvhOK~!jg&6!PTR96^=pL6CX4w?89V>*ULaFx*NPOC)%QiN1&
zQCj-5C~o{g5JXx8TPRvmC^jIvu%%c;TnJJGI~D7~xGcJ~(1jGNf;KTtN#dw6$;^Gb
zxS1w1_uiSgljM#soJGDl=g#xq^ON&^V<a(e8IuM+!I+&S5^I1}I8F<NLK7fju@_jI
zLmFm!`aW<8xP+9S_jgOGufZz8F(s4tWQ-$FsAfz-iNqg*&jhJ@IqCslrg;3Px}by2
z<OOF0vBfh030Zqm*5(%syu4ZaLh!}H8-Q-b<4-~ZH8)G?ba*4N*x!QoTG&k0O>E5j
zSbGV_iB;^^-3>c;LT@j0c0wit>9qUVvu7|g1P>p=zyM^kaOY0t@3nRk$9W6sxB54+
zG2c{N>#eO)U!QdMu0reneW|}+YHzQ!Hypvi`j(KjU&|Q(2d7ff(WBDnXn62)<#N*T
z<JFehfp7-ky}&oWaijF$!TiC?H8dpk^i-OOH)}Hh-GL{~?%mSF#KOZDH8mye-Rp0{
zJ)vHyYyc99#d5w6=<8cN@N)I{2cJ$A4OsiV@4!8KqJuB$@Zq5SQ1X9b?%Q83V+x)D
zJw4LoWb_8|d1?E0zy0t+knkF?_7_j*wl-;aIC}V^#>b`3PQO|Bq0|6$_?|kaPBjj`
zsPpIjW+5*~YmR}Fo=$7mHfHIRt5A^EulJjUPxZfnMB<^R!-WftMxRwS>u2D1Nf<#I
z$d%kLmMnph5om6%d|!!5`8>3@!|3R2%oqnLWr0JU0o%5{Jn#VVIPBO_8j~#WvBj8o
zJOg&^iUur<{Fy$m#9|$u@Yb!1jT2t}Os`sCg(uwM_0({!TnSB0<<T~a<D^PL%a%bZ
zRo?OCP$pCQw=pX$j*}<}u3jA>QAm}u&749i2_}=#0fm*9%~-50EiMfXM#d9b<!r`G
zSgf5W366}w^mK$&AyjTa8neJ?Sr8sSjt;6;J$>r7QjJ*hdGDIJeLE7SQ1WMbWPx8j
z;VV}b8z;Q{nX*RE0z4@RFJBJB!;nb$4T@e8tXbn0#^ywUR*RG)7JF1OU~CL-+=vpf
zvToffhX=TeG*(P#PI>Ozn>IB%3z$`JuU|g!x#nbK8G$#YynMOQ=+eM|AG}kn5zQv`
z#$5As?CNrhO^s5aAZ^&-XW(LyyLwq=|Nh1qIC8`<p`Q}8dJVWHe)KISojx5s{JC>M
zg{^PrGM5{O%UW+~F&2}qU5gHWU_eSH{oekFpefjZYvT2px=ZQcL_#`qX7S<Ao(+PZ
z5_FaGdJVWHJ_?vVw|cx7^`d-UI&>&#**JoC{aF1CxF-4oO>}iF>=B#IO6%4I!AtOE
z5NEIf*Tjhm50y4=mTumZ949=q<G5qDY^en92#!@^tZcwF@uBaYnA<WLY2QBS>eb3W
zJB^P^*RM+l4oDpxmB5Q@en&OF>c3I~81ov|-okNOYP!3mQf~g5$$+(PA~HA#&!5+J
z_c7*Qq&JZ6Rqb1K24-g>F8HqMY|N(_Gd;8SlC^TxZeZ5PQbAUJcc=QBBe*D78kQ%#
zfmtJ~1Se$eUv-*sWXzv}uLLXW<*02BR9~~rz(L?`U^UjZ0WCOAa^~|%Acyo1FbMn%
goJYz9Jh5i|2L;j<i`rXpy#N3J07*qoM6N<$f?QgS5dZ)H

diff --git a/src/cursor/cursorImages/red/2.png b/src/cursor/cursorImages/red/2.png
deleted file mode 100644
index 7df10de67618c299eea69633d1f383866c6961a6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1127
zcmV-t1ep7YP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm00004b3#c}2nYxW
zd<bNS00009a7bBm000fw000fw0YWI7cmMzZ8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ@H11LR3WK~!jg-I_f}TWc7{f1a3ok|QRF9V8F}33QVdl9rOCURr58
zB$RGCxK_wiXlD!E3c9!yvR|A^#n8pUO9Q2q(9ubUU<ocZ)M{c9PX2dDw0<=AHt}d~
z@`IN%yf5c@{_lC-=lwbZlDIGf172Vf!<fLbBDh>ZY<rAKWfTC@+{NYE!M3+4mA0tY
z{{~i($`>}>v4DYr5g>ujH%+<xC&6HqM8Zob<RTE@xBwIiKTAGuv$9fVd;1T(-Zl32
z{sLBziXHhOsl5V2a=YhbnkB_z`<kDZwzkwZo14=7ycCP=%QQ=JyXOQ$?fTP><AZ`(
zc|1kM<0a*C?K|CyTuzF|OY(S%f?2_!vjQL}%i2&Ra-dAcImgeE$w-mNfh=o75OhWW
z+>ysqR4P?ft#*0NA5p7GsZ_Q3HSSzYfMLwYG!K<d*Dv4mGo;gXndYGkW2Q3!hB2ez
z;X`G!SMK{U*{n1?{I4QfhmC1=*ZCu|S;;gHTZPlF2du|a>`K_QBAu=`$HcjTeLhuM
z)`n84Y8T!8HK|m!nVn9h*s}s=6^R^NNw#U1TCI^{VOGBs07LS4ikF(_FG?n(W+)xc
z*gplh-E)e^OWpPGH;Bg@%Z^h5U__?r?DF8U$mJx{ED1&=VKmot3C73kM5CRpOs|q?
z6voHvKmuqA@cE{hni}e+Uu`ipHH6PM4S>Kax4Y8OlDJ!JZc1)<Mc_4nNrJ&D;c$0*
zwH+c62nMUb<RFGIK_cOG)PMx<-@~U*u(#KU+sBW==X1_RBH?9mal*i|B7{ON$6j10
zz`c9$`ZZV<T)z&ht8nuseE8s)8A2f!mK8yM{}(MSITM@px^(xhw6Ji#?(=6U7?i$#
zb;j1xlH~V)F|h5i<IVR)Szd1R`m<-}>u%qM=g;BQD`#v40$|%?29?UFV*);Ygk-XH
zeKOf-;{<^KR4Sv!f46Ld@87}iZ(Z;AH`+LefobkiC^+-BXcX4hTi36z<JfFpD1d41
z8n|3LjtO}31m3=djg9kll?uFg0Z*SgW2;aAmuttswznM<aP1nrc>@n0HlF!BeEZgz
z6K>stL;@Z>aK=`l0Jgn7NU5|%K5qlg%mt4gHS+z-m$10ln8<G2fQ1FPf8P-kK;wwA
zRN6w2R5<*@ndE$hgu_1s$v#-jNoBm=HQv2*?(<$Y%gf;Pt|66=c4RY(#rC`1vA<0$
zwlA1bKWr)cWK-W4$0|L4u+<kwi#>n1+ZV^{eR09j7gtOt!>MO4`A!b(p1o#0nPPkP
tqWiRv|JAPsJ^!;u=K@ZP>Duo${{T%ccrRTF9MS*)002ovPDHLkV1hGc9Pj`D

diff --git a/src/cursor/cursorImages/red/3.png b/src/cursor/cursorImages/red/3.png
deleted file mode 100644
index 3088b82736ef6c86558c126499fc02fa55a2ab8e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1237
zcmV;`1S<Q9P)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm00004b3#c}2nYxW
zd<bNS00009a7bBm000fw000fw0YWI7cmMzZ8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ@H11X4*vK~!jg-C9j(Q%e{<nQPwMq)i}Hv_@jFS-Gg7ji4#QdrDVQ
zH?G=6aibJMsUm21-AKVjB5n<cD{(8$A}I1I!CkPfiekIaV(g|w(==%kZ_ZoX^uMvm
zy*JHE4h&h`neTijcjo)PnYlKSFb$i{0bme9{0*nm4@L1o)4EY8bO8XQT!Er2L(`U!
z%Ppc@o(1p*WZpEjVF5Oq2fz^A?h)kk|G?)fVra;Lo*o5WFE$$hq*7b$>sJjkGkGj6
z{RM~PUt}^b0L*|)8}fr>eGTZK-9AMra|{Hs42Q|ZMb?dl1u`5a1A#21%+YS2BG6H<
zKlM0%guob8HO*i!$7Hg8r>h~EB!j^mRW(gujKC3V1pq!eo%8hj*BFag=lE{KVx-@{
zMyGS0fX^BMz(uNRnxRmUrBdUZ-$1EEhC;>4+qh^>fDogUa-Gp=x$&OwLNr>Yl<O2?
z)R+JvM(J{`Gm$uS-#3v+kS^CBMO2?QQa0E54I~nzl<U=|)BX!qRntwGHq{V~mMd#w
z&%)jtDxJ=GhC;<Ay1PF@p<*RE?Fg~E1&q<}Uptg&Q!h#-J;VZI+*bh5K~+sRG|rnv
zEXK-I+RWHn0_^rF27|fgdRPO3LA~tQApr1DN^8r5Mj@FbrOXlVkc6nzbVKOtE2F>P
zSY>*c=<f&m`pN)?08|9H-6I$t?q~=hE!c1D#_(_l-0l(GKH#9;UNBS=?}yb@^5H}B
z+BNdT3DV^vFJC6_+#x@IwuWP2fwbET1RNl6oxQ!QmKc8bjy!#uR8?|tker;<#oV|-
z9zRYx9OUE2q^6nY>g`=6a2*sP!ikCBrVYM+P1<barAy?ePkWzdGUV;sdfd2o&omt;
zCVo?h2-w;AijjypW50fpr%sVqt{nXDPEV6Ukni7{<BUYe&dyf?isIYcyBfu#M?g9a
zJbMNR@#ntx?*kVu0ORB4IK5s#QG5cL)@@oqA^}{z3iR|G+*eV6TepCZAAxMvIH%VO
zXj->Gq0nVYK)DRe%>jWx?PJcJ+ZtySUN2B6bRF=%Ye2CG<nw^XQ~Q{WzCVAOrWcTM
z1*w#A3#tm7IRhk<wU7DmLH|8}-Z*b61xUFfpeW0x1Z+6+_O1RVYC$Xp96JV_JZYRW
zl>!uHSwPd4ObfVs7x?i5n4CPgZ#)h>e-1o&V2(4D0yJ&Ox<ocLr6;oK>FT*49w(0;
zC4)ip*?2RNSyf6Di{$vYE@EJSeEO7}n<Kw`Az!{EZ{F0i@W251?VD-3ty043Vs3Vp
zJbP9bqSvB&>+U9>Jh7$@+EL7rpxYg1IBeeVc4RVoaW^wVe*bQ*?QocMyW`xpBO7HP
zkhPYjfd~Y$1V-5oTgo=s)VIa4O3NQ?wZ+k5%OCEx#qoMuTyV6-71Q?V)Uua++ZT4r
zUbAiwu`PSiy;I2l>QjT3|JcL0fSqER_PNb}sz~aha6@1G00000NkvXXu0mjfYQsT-

diff --git a/src/cursor/cursorImages/red/4.png b/src/cursor/cursorImages/red/4.png
deleted file mode 100644
index 8e7549d4a3a0604e921216e7368ceffa674e9d5e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1353
zcmV-P1-AN$P)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm00004b3#c}2nYxW
zd<bNS00009a7bBm000fw000fw0YWI7cmMzZ8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ@H11jb23K~!jg-C9j(Q&|{2c`uoly#8pZXh{jd1_a$mY5XAy&Ip6J
zh=PiXK`Q<%idht)P<P$9O*euHS?Qu{p+PFM=s+w8O}monq7gzmAqXWTP1B_D<+!*_
zn$*_myGiY&2QK$5?)QD?@b3NIckg``l4uwfivz%)P?X=H>mI183x?5yVzC<lplQoc
z)f5aPfqXuOa`_(se}i0WIJC3?i=_*IADx|lVQuXXxLoV-`yFt*RXClfHULN_H(NYz
zU~+N|iNtSkIHr-!P5_t$nU>-~(p&@DXtRw`)AICsa|{N_Sd6BzxJU+rq}Q9HrsZj~
zjS*-w%f}3HD}f=}?P>aac}An=N$-Scl=S)XwA<4Jh6q@jD*$j&*B9vVtTG&K9`UUR
zhe?lTmAbw_z||Z9z<Jv3X$Au8ES2_-d<CTv83?Rzyp8jX2~d<lYFdGzP<ii}Z$T(j
zrlu9BD1&kW6lIVd9R)@rznps&kqFt*@lz2yPa93!U-A`1BBZ7jcA8GxFIc-hy)V;d
zCxk-fjWzMZ!u~N;>iPl$f%Sc)yFCJd^^NRQmtwaH7^26s`b)BnS(Hj5#R5azRshgO
zyFI<9dA?DE!`zrk)i3s@0Gn-$K3{%+8SVl;pC~)(1OQ#swC0uvi3IuP4f*O7`SBxZ
z7|rn;jgp#{C(y+j0fY2<a}7I>#mHN?$YaNZ>)O`VMqa$grc6<<H%DNQRRNuyQw#>>
z9hS@F^XGyjKw7Qj>C@!HhvdizdFc|_-o7d3{(Ul=m5&z;lAWDXLIB{P%~q5ui7Vv&
zenCuC$<a|Vx6R8m402+E?Cut0-EMMeNiOE%B5AV~2{=ID8vFWI<UEla9~Xp<A16P2
z`0w$l6nXWku(@(YIxPG8RtQ`J6=j^m!{4NweELM%?WD~{&d=}OZgrJBaYBfA`BEx0
zhljsWQN|VMx(9BzDz%+^{1_+{fUz;4zkm03x(>X44X7$GG6Ljs=3~3vDs<hWKviAU
zy{j3N%fS2hKzlndI%?kj+&RGS7v$&X&D%SjfU3F_7)FnjfX|;r@PPrqYBg^U2oV4f
zjheT0IswDzQBW*)O9_~r75$kr=4~rDd$!(}891FlvDmFh2hU_gfB3Mp3miIB?@Iy-
zG;JBlq<PDM0nyLRNe8dmR(zR3G6`tfvI132NeSrh7g<E+^;b}_^?J?QCX;}wrW6=P
zLP~(H11C=cOH07?w0Zk<8VHBQv#bEaNGQnXV~EEM^Bw>^c_R9I_ke8Hob97WKq>{?
zxdZg}nvWfi8_4Hljh7NPZip}H?b~FbusfR<FN95RFPTou#jTbSjTUoXzmi9f3PPt&
zk+ZWuAA9rWW>q>hB^R@<m}^Ek{pAaJ`SNBdef>K5^eOrFEjcqoK6^&qy-OZBBF4B}
z<hytB@#@OyW^HK7Wid5s>;CQ9g9l_L(@?0|4UM=TuvogFY5!to#vzrHYq7E-@_RHY
z`b<XTd9PPAnFU*mxjEp%g*6n5y&%&EWK(}2j#XOzVCz5}Ew=pO?twU7KM)rjwIW*f
zim7%wwd^Hd?ZR%^Yu4Hn+p-tk^+NtvzZ$gs&mQsu>c#Ba?>657-gP3f5<PYZ00000
LNkvXXu0mjf>D_v=

diff --git a/src/cursor/cursorImages/red/5.png b/src/cursor/cursorImages/red/5.png
deleted file mode 100644
index a18a1a47df5d7598916188bd895f8a8b9c22ef08..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1462
zcmV;n1xfmeP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm00004b3#c}2nYxW
zd<bNS00009a7bBm000fw000fw0YWI7cmMzZ8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ@H11v5!RK~!jg-C9p*6ImSoW~Onb6O!E^iiQo<#6R`op$3r@WIZej
zYEPb4=*dGhO2M063f>e_6}&~klOXhF3*r{L*rRFbK|QENLp1iH(X>sQ#>uybmvoZ0
z>CT%}yV(yO6Uh92@B8Mx_nY7Ey-`S_X(&oNfIpzBzr!>m(6kUNYX^$OtpEUB{|rr=
zfn{Y-C`_YV{u{twAQzhM+O+^h2>>_^zyD7xEF429w1m^A+tJaXAsEDR1AuJSZt1jz
zM~@be$!tM;`xx^12LK*{%(>!0Qmz4BdOQQv^#Y^OIVKY1^faaM_AQx6kkRNIb-h53
zXMliLmX8eaHUfP#j2vUJ0#hk@(v6Txk+E2ThLI!CN1$zE1ppzM<|{@b^Bf-DIN~cY
zJWNI+^EAy@1VS4l060R!$T1#YVyX1w$X8J+k@5IaWi*a7CqPwusq2eOCd)sb`3fYH
zW$OAORkhch09Ea!&$r0&@t@9p8RO%m&$q6K#?waEH<x@B<Kv{RFE*M^YcE*C$Zg8B
zX@q35Tv-#V7WV2;X_~JXk1uT^-L(;qFIA#bU5H&NppTKr{7;ECvM7~Ahz0ss!`V(H
z6vYd}_<*6IUvcuJyYvD8K79fvCPYi6fP5Y}bjWV|_5rHu&iBX&aOTWcEH3^Aa=t#5
z@OTCoixpfyp|LS??_M#e>ouQ`ymgB#yIf+im`FS7rVtRIuDeSQ=I6;vmq<maCmIZr
zJw4>vv*iB$tN%ZG)LjmhN|Cx=AP}e((939aPTJYT1i5FAO)4BFA3h{Meq4R;w{PUr
zr{swf_WfQjdH1foh-h?<K(8&p?|;lhLe5D(Pwv_!Tqp_|kCSr_pFuK7`u)OIRmo@1
z<oZq|NWcHF5CF8(<0(oH=ect>0XGR=I!%T`!bc?HTs$dKagV1+pdAEy7!J=$bv`m;
zPlL;sC7IXY$rF2R#N%?d;qWYh9#B;W+28-&v0<r1?%XLl?d&8M79?4(z=aF;G<^Qt
zxm|z%cdF{33e$|BqeF8Xi(kADu^s^K+yM;3T}-dy#tp#d6XQ8L>fElQLxX8XRA^dg
zxpsAei3xFSYXiEw<;boDuUEX_YJEFFFbHT`NQGtXa3$ctf##on6>bGs)(#cL;#OAz
zy1Ja({2QtQ-n|39d~s$I3<AaCR{5kPSK0mW`=w1A;+J3S-(SB<nX1tB&&Xz-TU4Lc
z)Ra_5>tb?JTmu0h9Cl`t%>ugqS%s#}NC}8W#dT^*M2?Msn`xQN0-83X!m={1MqqXp
zc=N`&-Fm1Bs6HGg$Yue{%BUz5rjbrtjt#rI0Il-cxOPo~Wdl5T0Aw=a_u<3N?b2xr
zg~GJERN~4NJCzt3l6>{n;KK(p5D<Q%QA$;U%c+E$WUg2w4;~a9Z`(%B%*c~3m&xPD
zg%4dPU%qs1TbInaO{b@($Sqq0fl!DX9d&N|{yll@m_3TuugmpamrgfR(A>OfXOoIT
zUc4wOwDoZBo?Qz7qQLp?JeMT7MnTg|NjWw~?%r(^GEFiT6J_T8`(lk;y()-q-(G*;
z?c4IT@tP%Nvqk;vEP4L?>bkd4>+U9BzjoEt+C@Dp2N#BsYij#^a*`Yz6oq_er>NEd
zQ9qnIMGg#zV#u=G`5zu;WruG0AmqnxY~}N0HoGyt8f<L+&$bp@esk9r(Zbv7)z;Dn
z9JL}^_K2x=I<@Q}U+uzf*<;q)5Zkf`-StBLQ=b~N{Kp>d1=Ne#w9jq+0S#Tf`%1Wm
QoB#j-07*qoM6N<$f*hZ;2><{9

diff --git a/src/cursor/cursorImages/red/6.png b/src/cursor/cursorImages/red/6.png
deleted file mode 100644
index 6a6c2afe165bed474d15ad6ce16fc5dc39075ea2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1605
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
DS@H5$

diff --git a/src/cursor/cursorImages/red/7.png b/src/cursor/cursorImages/red/7.png
deleted file mode 100644
index 865f5806d4a84b7bba5f78e5f3a3e015ea464867..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1731
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
Z=3m*n9=+hYFNXjC002ovPDHLkV1hCBR*wJx

diff --git a/src/cursor/cursorImages/red/8.png b/src/cursor/cursorImages/red/8.png
deleted file mode 100644
index 785a4b17fb2b5f96ed560e471bac14f373bc6531..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1850
zcmV-A2gUe_P)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm00004b3#c}2nYxW
zd<bNS00009a7bBm000fw000fw0YWI7cmMzZ8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ@H12DeE>K~!jg)mmLh6kQm8cBXZ9*EB>bvo_1sh$1MklBKK<`nsqr
z>aHL!ic0V{=&B5Fio&8Ox{!(pii&<UD2j}-AHs_uvp=O4%ha&#M|a(o+2^~Mwwbdt
zyXvm%R}UPRvvcNspZCmr&b;q?)<zO3!)9{=_!pA294?m!vh0Sc<{=cy1pp{YFJ!q3
zs@j1-pdFFOeE@er22)m@v;j6-4uEoGXKz9<_z&FfFv`oFC@7GTpO4=S06IJM=JTnj
zuMeW5BLhxnBYyli2cRCLKPet0N7jH$+U?a;lmJUg`dC{_wzqS{Xlo;DYsr$5J}OFp
zc6&8}%#rdL3Gs0RD(P_e>GcNK+&ps9@zC5%dc6TU9DV|o1jdc70f3t>S1Uc9el|3W
z9`RT-G>{%oKV7a?0`Ac<04Sxy;b&D<n1h4ym3McOr%sWZHj!mzWKj{BnMvC1q}xp{
zT12i}NABB4wzkHXGdM_ARfT`OjndQ%kfaJK$^h%?B9_X+Ve-TY((5H9NfS5RR#Zgp
z+C}#CSQ}DT7onmIP?9Q=GeD9mn3XlahY!udBN6h#1=8ag8ELDQl||OnkbQk-Jr5s}
zSy>5<i0?LvVol!XBNs0onpkEgIcpX<ZyuSOJM{R;lgZn+t&LEWfq3p@y<i;<zopwe
zdPGi|WKCf9Y|SN_n#gb8%tV4g^2H1CzyWQISh<`mlShu2pRKEl{8|&Hg&j+N99^zf
zR#k;fLe8Hj6~&tP)vIQuL!qUGT)o<QGPZBm+|-Dws_?JfN!Vgz4XC8Y({I{s9y}m3
zGDIaA8RXHUOt>=*2aS#7^yy|J_U;wO4GwBsEKq4}0FX(C!*AN>-@hj(PBi;#Q&Vch
zjp*so+{&oKW+N|M62~<(@Ruw7{$lF}*zMKydIQ1(;jp#{je_&?$PXVzkGxUW%9Wxn
zmrHXsBfMTM><|n9a;PZg@ZjiCQJ|ubPo9iE`6&E;vbb2(xoVX-rn#9^lmLMoqX88x
zDG@i~A3w~lbMj>R$Vc(&mG*5g>TPTk$CQ-x5vb4&$j-jS+FEf?b+stO>rFrTC~9g%
z-HR59_iJm(?Ce`40Rm3i?IBZ09Q!ICJQy?n{Q1-Ty)nj5ZEd989wOibfwe3w{3!@%
zX%Qb@xNz*qN3nai$YK9}@qS_9PXcQtNYZkYmpg?l=gJi^>sh}(sbnc7#Ol0$UF?^a
zJ0VHSCAeH36cot9&3pF}3mXe8SOCnJq4%FY1%ieYx}ZRY%jJ<E%kJN~YZM<p>epFW
z!0g#+<r)_Y7wXrfmQzQOpAX2gTY{?QnGE>!Nxz;pExjZYAy&6>V)OF>Rn3zS3grq0
z^!AFc>Q6Qx6v~xM4~0Tv-{D9Dvtc4ucPuvm5)`FZ@U6*{0okyojqWtoh}CWMl+I2-
zQF<lFa+hF$ECYFY@r8^fVs#r`s<RW2<t_=T+94PK08^*x*F8OeKe?h=%6Rie>>GJ?
zb^@x}At4ZGhtH=91Lx1zuSuYxA&o5Kpt~D*_Dt_jpAO{Y=zX70MIg{FAriTd`g*a*
zx?zJT?Ao<7GL3^9H-Jb)@2_1e-mk9@A`-c89n6J7<b(-&9O876pFfXnEL2)5#zJ@Q
z==Ti4oCGomr?XL*<%|qq%^JNQ3<5PZ>78*SZrsp9hbSga1ePt+``51nPG=*?VElxp
zr9~@qL}$QmCttoy|I7~zkaOmUvw!%oIL4IF#7il+Y!L+&7n5JVrq_VYn?;>7XKF4T
zg=I<^FRB0dQA@0i0#~d^y_6CU2M?OdE9cIMV=R;UL}itW7qt?HQRwQ`<oEBROa9Oy
zbG2^kR&h+ivPz=DR&0J8t;oH7n>z9Seyt=QD}U)yt<)05kcBNKC@n@J<i?F=CF93y
zsb4a0LsiMMXUW1sv)rO0^2---{IE)kOi<iaRdVM}vob)dKJVPA)r?|mnz4BMRx9w%
zoog+ttjtV4L2=jml+tD^g`(WY-Mb2wED`UWIRot2VHw&2(BhT3bAc&Sw4hK?fUYj!
z^Jn1QJK*)}`1}91ZNTy4fZeYD*3<;7SP?=fv>fD9(=(<w5N(MLI9|Ud*RQvp!DQOJ
zdF0KTW<5zCa2Sn9bj0-dF}ZA6^2BG%AWxsx+%py_A2I1`V(3FYpN~9tOe@Yh9PtTD
z5;=c9xo3~|L9$veqk70^T-YNyX8rPoeEwY9w=ZAT7I#O-&>z6G9JA_1{KW^|q9K3O
oUk(2HKYJu^fN0GB_II2A04Tdyr1l4*T>t<807*qoM6N<$f*=HO761SM

diff --git a/src/cursor/cursorImages/red/9.png b/src/cursor/cursorImages/red/9.png
deleted file mode 100644
index e4c9758c5b80494c0076e1304b1fd644d17bbd2f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1848
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

diff --git a/src/cursor/cursorImages/red/cursorRed.svg b/src/cursor/cursorImages/red/cursorRed.svg
deleted file mode 100644
index 54f5fc0..0000000
--- a/src/cursor/cursorImages/red/cursorRed.svg
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="48px"
-   height="48px"
-   id="svg2397"
-   sodipodi:version="0.32"
-   inkscape:version="0.46"
-   sodipodi:docname="cursorRed.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape"
-   inkscape:export-filename="/home/sbenven/Desktop/cursorGifs/cursor00.png"
-   inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90">
-  <defs
-     id="defs2399">
-    <inkscape:perspective
-       sodipodi:type="inkscape:persp3d"
-       inkscape:vp_x="0 : 24 : 1"
-       inkscape:vp_y="0 : 1000 : 0"
-       inkscape:vp_z="48 : 24 : 1"
-       inkscape:persp3d-origin="24 : 16 : 1"
-       id="perspective2405" />
-  </defs>
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="7"
-     inkscape:cx="-31.071429"
-     inkscape:cy="22.307143"
-     inkscape:current-layer="layer1"
-     showgrid="true"
-     inkscape:grid-bbox="true"
-     inkscape:document-units="px"
-     inkscape:window-width="1920"
-     inkscape:window-height="1125"
-     inkscape:window-x="1680"
-     inkscape:window-y="25"
-     showguides="true"
-     inkscape:guide-bbox="true">
-    <sodipodi:guide
-       orientation="0,1"
-       position="-4.4285714,24"
-       id="guide3229" />
-    <sodipodi:guide
-       orientation="1,0"
-       position="24,-18.571429"
-       id="guide3231" />
-  </sodipodi:namedview>
-  <metadata
-     id="metadata2402">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     id="layer1"
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer">
-    <path
-       sodipodi:type="arc"
-       style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       id="path2413"
-       sodipodi:cx="37.57143"
-       sodipodi:cy="36.57143"
-       sodipodi:rx="21.571428"
-       sodipodi:ry="21.571428"
-       d="M 59.142859,36.57143 A 21.571428,21.571428 0 1 1 16.000002,36.57143 A 21.571428,21.571428 0 1 1 59.142859,36.57143 z"
-       transform="matrix(1.0873786,0,0,1.0873787,-16.782941,-15.838419)" />
-    <path
-       sodipodi:type="arc"
-       style="fill:#ffffff;fill-opacity:0;stroke:#ff0000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path3227"
-       sodipodi:cx="10.928572"
-       sodipodi:cy="13.928572"
-       sodipodi:rx="13.785714"
-       sodipodi:ry="13.785714"
-       d="M 24.714286,13.928572 A 13.785714,13.785714 0 1 1 -2.8571424,13.928572 A 13.785714,13.785714 0 1 1 24.714286,13.928572 z"
-       transform="matrix(1.5759606,0,0,1.567424,6.9912861,2.264626)"
-       inkscape:export-filename="/home/sbenven/Desktop/cursorGifs/cursor100.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
-  </g>
-</svg>
diff --git a/src/data/themes/default/Vera.ttf b/src/data/themes/default/Vera.ttf
deleted file mode 100644
index 58cd6b5e61eff273e920942e28041f8ddcf1e1b5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 65932
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
B52OG9

diff --git a/src/data/themes/default/box.down.png b/src/data/themes/default/box.down.png
deleted file mode 100644
index b9e965d5683c03075275fe5bce9a1bc52d0864b9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 312
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b
z3=G`DAk4@xYmNj^kiEpy*OmP$yQsK`BuCD)hd?3O64!_l=ltB<)VvY~=c3falGGH1
z^30M9g^-L?1$R&1fcGh?c|e78JY5_^EKV<-Y%O$HfyZUO#Hxy8mQIs?$E(l3X3oK@
z8OSBcuUMwMjZrK@Y$FHTQFcLx(5pM6I~dka(Om5&kbS%GV*I|M2F^Q|+4avHw0`d=
zreN~dxiOLbyqm*yc0m?b!Ia0^-_<{O+<dEG(7{nK*MG%~(3eIRKmDDxl<Us9$*;dG
zExo|Dg#U8ceOWuEm}i-L*qoW}Nkzo5?f)#EG0kpK%;hd4pgS2nUHx3vIVCg!0KzzG
A<p2Nx

diff --git a/src/data/themes/default/box.hover.png b/src/data/themes/default/box.hover.png
deleted file mode 100644
index ef3c2255e6d08fb706740b2293ecf7af1d8926ee..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 324
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b
z3=G`DAk4@xYmNj^kiEpy*OmP$yQsK`+CHw`cYs2&C9V-A&iT2ysd*&~&PAz-C8;S2
z<(VZJ3LzP(3hti10q;{(^MDFhc)B=-Se#xu*_W?bL8Qf=!*gxf-TjvjoZRU-yX-OJ
zl`DA%T>m;Q@?_3uKGR%jJXvAOHHLXxgt$IjyS3!{F^TmI_j3EC9WB>Ayy?1w=NH$5
zi(i&p^LO0t`@qIy<C}8Md2h}A53c^H6a4?nzOV~RwI`%ZW7;vb-ExWM7K0O<{qL^`
zA6#ms=DR+etE}nvr`Ji`*H@i5{UAnc^YIJWb54fEGv4uk$>s8{T#jLvkG0#UjyHxt
PH#2y;`njxgN@xNA4H$mL

diff --git a/src/data/themes/default/box.normal.png b/src/data/themes/default/box.normal.png
deleted file mode 100644
index 90f8d40fd304b07e37697a3a931086da85358fcd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 242
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6n3BBRT^Rni_n+Ah<Z%{wL>4nJ
za0`PlBg3pY5<o%r5>H=O_N(lo;$oUI%}34yg=9-yBTAg}b8}PkN*J7rQWHy3QxwWG
zOEMHfGEx=XJ$(b-r>N!u6-IfwIEHAPUpjFkS3>{~v;HMV7RUep`DIH4Vq{)@5|PPa
zGv0Q5Y5?QOa+OVYgbRXH9~2yT*Kn3mdyAHm;Di?|#WqZ7<D1;D^JV4SUFwXJjeGVt
h9%QWLJhAsTlfhg;9ivTWb^&c+@O1TaS?83{1OPfqP89$E

diff --git a/src/data/themes/default/box.xcf b/src/data/themes/default/box.xcf
deleted file mode 100644
index 960ca8d62b5b6b9ededce71924b873fa569fc4bc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2004
zcmc&#O>fgc5M4W;v`HHTRN}T0mo!nJ;m)N9AtWjxmHq(N-8fbgyRuzKPR^MVT=@yT
zaz^6D4GAd`N5n7SN<>9?FSd)*Bt?irCVJl4ncdm-oAJc5yC<?|wq(ohC;_R&pne_D
zG(2tq#ogCJ5RjWd7RUp)fO|mMLa2u6cDu?6Fc;jo_0UsBppN8AJ7~-2Z6zN+*?UIs
z7Qhf(g%H|4#(xY^nVx8O4NEmF&ptu~hSQ2wKj?Rqw4FeCzA^*bb^PtMYRfX+j_b+l
zbZB_ip&@tf?o4HY(u`f(*m}5NYvPy76>jbMCx&S|mTV?x!PsA9jBSlm#}06Lv#ogR
zp4)2qD!8~Hch8$5%j{P25sMC9GA<bZgrt#rNFf^jq@1bPc+@=!`tqsKSKgibT%pIy
zm}@3%0u*DNJFdk#2C<gX*Hd~arI%CsCUnM1gjeDjlyr?n7NNh3m83|qR{uC_)4y;Y
ziZ`M>(H5W*`98omhrj#I>$O^4uWPj*RO&(;lnyj89)$P}LOs+5T8PMJn)o>!;inDt
z(HP?pyp<-r_QeM_$99w6Rk57o;gMu-$4ZLjY-84zeZYBT0l(y&?EjzdJ183we2&20
zSqYrx2Ir(XLyAE=^DwR>4YhhrtMSn3og#`!Zz)yG^sS2A3=fYa_aatO<mO(@+H!9>
z2Z3`1x~OO`+fc-KcVbxzn4+sNSElQ`hIwpx?x{2Fv8$pn=|mtW|9+M-c8&b!SzG=a
z=Ls1cfAJ&4BNSgbl-SCmYT+wy?yFApXCe0t|Cp|%7bR~T!nUmUZN%$w4wy%~1t3Wq
bqdArWYaq!#?1fADFC_WDGE2)cSP{PgP;V%#

diff --git a/src/data/themes/default/button.down.tga b/src/data/themes/default/button.down.tga
deleted file mode 100644
index 64873c1cd66f4f03473de6427a0eaab58b11c70a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 786
zcmds#zb`{k6vxkduNDJBnlwQ)EJDPB!5|TfRiZ;Dk%$<LMDXs5p-uWiQ%1rnbm}I-
z<VPDFM0Jw4kRYip9R$hO`(DvD{sb?%?|#nre9sxqxgw47`-LPV;oc2~u79A(VQ4Yz
z>}bcqZXC~#w}^jzzQZC>VTKOvRV*+WF3e4%{Bi?TdAmcbQoct6iNKpFT4=2nu^7?F
z1d^}bAq)}~n>w3HOLG&7mn(3*{5ld|Ucn*}C^K!-XZQ!vsR5)4rx6H=I<&sE+6|RU
z_d~MjKDZ=BGDyj_o;qu0TaY^669}o+;vedI%bUwVWRJqg9d{u?P$Y*W?ozOB0+VB{
z{%}vmAtXH+b`aAP6wadXu4eo#UC$y$5|ScWBmzyAW$4nM<@(ha9&GcMU$kM6sM!8b
xsxJhiLm`wNcHmZ?_F<B!(5OAN2O9{OSeze0;X)z)QOdv~QDKG!+WY6he*<6NP7MG6

diff --git a/src/data/themes/default/button.hover.tga b/src/data/themes/default/button.hover.tga
deleted file mode 100644
index 5e5c53ac1428b920b58b7def0ed2e9fcf7c46617..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 776
zcmds#y-EX75QQf$Ha<a0OCMw1*acL?AJj@Mf*>dsmL|I_m}pYSc0!1$1W~avr1GcG
zMlekhFrd3lQbY_SMG%$aJy%S`M{tX~-<&z;7I#KuNPfPsgk^ZdHBD18>VPJPrNMG`
zW*WtdBfK`Bkox?1gF&Lg4jtNSGcdq1vlmCFRfFB_JR{ld1Q;X{_-Bh2T6-a3<-|9!
z->P3CM52;VhrU#z(I|p)7Ea?ahjgQshe0AxW?P#>jJey(@cf4aghU-$Kglk@tKKX@
zPIHUD^xHENUa4S0NPYi5)b&V@4<=E)o=5d+4rzi-a!A5n{{^<z$JI;TZ$L;|=M7?6
zCj63%MrB8hq>@6CBqW<;kO(wItWh2Po}`K+wlbk69pn)rQQ_6nTL-MgrqHgRW4HTK
pREyLsz#vg#iwSM+ujyFCf|p)}Up_?Yy?qCRM1>s&wD-@Ne*qx=op1mE

diff --git a/src/data/themes/default/button.normal.tga b/src/data/themes/default/button.normal.tga
deleted file mode 100644
index e9371c7448e8b84155f06771fc6db8bd046e779c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 729
zcmds#p^k$<5Qc~1?g=VS-dn;pXG#u1prTJef+}eh2=KV3q6Ps3RY3)UV*cZw<a(Dr
z!mZeR^UpuCu(Kj>^0U^mmiLcO$8p48HYjZv+6<#8LS5H*JRaC$SvH9ZGjyoeuwcco
zC<;u|1b?1qtVmRtd3uD=>2yMHzu#ezsJP3fJ;d`oG);q`>pEB@Dw?<GOp*lQ`Fw_u
zs6+L`;Q&*XC4^`CBtx=DX`24A#&L|0)k6Ah@eg&KBY!o|b7WbDFM=U$NH3ST-|rDt
zRRtmG&2X^dx-Kr43xezQ3X4QVhoX5-VYk~M==&ZPiHhc*lLuSgZa4VDFknTZLZf>0
cE$R0fV{kkk(Y7tN<2b@5QDKG!>V0{)-vq(I!~g&Q

diff --git a/src/data/themes/default/check.png b/src/data/themes/default/check.png
deleted file mode 100644
index 4ef58a39ba7317ce58258e464443ffd61d118a9e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 205
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6n3BBRT^Rni_n+Ah<Z%{wL>4nJ
za0`PlBg3pY5<o%r5>H=O_N(loB8(;#4wG&Ig=9-yBTAg}b8}PkN*J7rQWHy3QxwWG
zOEMHfGEx=XJ$(b-r>N!u6`FdwIEHAPPfl2%{G)&F@eZYi*5e(^+67|`mHE6S3?($Y
tCb-Px*g2O)o5SLhy`0>?hDFQ_49ooa*;a5D9|ju0;OXk;vd$@?2>^)YIf?)P

diff --git a/src/data/themes/default/checkbox.off.hover.tga b/src/data/themes/default/checkbox.off.hover.tga
deleted file mode 100644
index 9a4d8a8ecdd70dbea5c4688a30f63a80bc9af4a0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 442
zcmYk3Jr06E5QPV0WyKLJJqEWhR)iaP1Qs;Jf-@LSL9G0#P1HsbEtEzIO(-a~9Or?o
zy9u-3dzr`XWQj)9FPB^zPssB;N~LfJB2db*AlX6DP030(50oD{AY%<cz0>9hxwL+5
zyWg~OS=}?H>b7PDT7azP=P9&gR2%|U#ldF>1P~QK`Jw`r2H)yW&v`cicSjr9PEhP;
z65mZZHbjOL$iB#N-pQdSLsZw5e2Li=j2KQ!QW85{mzfpT@0|5#!~GrsA~;TODS&l4
K>&stS5Ay|t!v);{

diff --git a/src/data/themes/default/checkbox.off.normal.tga b/src/data/themes/default/checkbox.off.normal.tga
deleted file mode 100644
index de59f19cc67a09dc652b138e8f2c347bb6e003f1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 320
zcmZwDAr1o}5QX8vR_zfgd(5)cT!bTl0FOiA2^t&;X1dd4cb_PN{2wGhAbQX_HrnX<
z`pFzKzt0Ued<-GW5}UOaa*TnjwIXxQz&*yuI)uPVN<vF0DT!SI?y}bYrIMF;?^!$N
d_;VFqrKRAcloGO(f^4lJd+*3O=S{l5=L;u6jp6_R

diff --git a/src/data/themes/default/checkbox.on.hover.tga b/src/data/themes/default/checkbox.on.hover.tga
deleted file mode 100644
index 4940c26ea056a23c76da3a6d8e2ce32ba96717df..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 535
zcmaKpF>b;@5Jkr*RVt2<l3Vx|h$`|8a)huGKs3HW#3@j!B(9NwhLuPWyTJuW6fU;(
zWdGpxQpJ*Y-~an(WX}>kQh0_mq^FUpJWW%XDuVL1ZDk5du(+lY<C<SA9VMXN8i0bM
zb%Z*;o<0RlW!{r|F=FbUl`tX+s6M_+v<zg-a=CrIWlc}&-9>DX3EARV=IH4u6NZeD
z*>0W68%~w}KhWQ|-xD$RYwX*3(#9$cWUS|M^AbKUka`*!U?BBj>EFdIMNr&J1G?*W
otyW=nff$}f9`styYjKwkaox@UhLZ%#0Aka;b^A{G0Z_d4KXt7kvH$=8

diff --git a/src/data/themes/default/checkbox.on.normal.tga b/src/data/themes/default/checkbox.on.normal.tga
deleted file mode 100644
index 9cf658e3b815328b86f90509de416788b8c8f7b0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 500
zcmaKpy%GU26ov09Rh|GPp29<@jVD<Wl=}!qZSVqS44t1Dm8DFj*@7nhUO6|Djmj38
z@0@$~Y?39aQ+OKGpms-8=2o7B0cT}disS?X`+2ak@4H(9C7{Zxfr5h?MiuMAtUS#t
z5-&!SxlLFjoPf+N<!Cud{Wg4Ez90Cksz`%koxW~+OqXq!=jbFz4H+Y|!-9B<snGv{
z9RIRzvAS-WuGo<ji&T*DeVy<6VS9nZlSmC;H0KeU)6k~~N>@^We%gxXINV(z4KGGA
O`&$0W(jKFv_)EX3<l{vE

diff --git a/src/data/themes/default/config.txt b/src/data/themes/default/config.txt
deleted file mode 100644
index e4ef48b..0000000
--- a/src/data/themes/default/config.txt
+++ /dev/null
@@ -1,291 +0,0 @@
-desktop background desktop.png
-
-input font Vera.ttf 16 
-input background input.normal.png
-input color #000000
-input:focus background input.focus.png
-input padding_left 6
-input padding_right 6
-input padding_top 3
-input padding_bottom 3
-
-link font Vera.ttf 24
-link color #0000FF
-link:hover color #FF0000
-link:down color #00FF00
-
-label font Vera.ttf 16
-label color #000000
-
-document font Vera.ttf 16
-document color #000000
-div font Vera.ttf 16
-div color #000000
-
-td font Vera.ttf 16
-td color #000000
-th font Vera.ttf 16
-th color #000000
-
-h1 font Vera.ttf 24
-h1 color #000000
-h2 font Vera.ttf 20
-h2 color #000000
-h3 font Vera.ttf 16
-h3 color #000000
-h4 font Vera.ttf 14
-h4 color #000000
-h5 font Vera.ttf 12
-h5 color #000000
-h6 font Vera.ttf 10
-h6 color #000000
-
-ul font Vera.ttf 16
-ul color #000000
-ol font Vera.ttf 16
-ol color #000000
-li font Vera.ttf 16
-li color #000000
-li padding_left 32
-
-pre font mono 16
-pre color #000000
-code font mono 16
-code color #000000
-
-checkbox off checkbox.off.normal.tga
-checkbox on checkbox.on.normal.tga
-checkbox:hover off checkbox.off.hover.tga
-checkbox:hover on checkbox.on.hover.tga
-checkbox:down off checkbox.off.hover.tga
-checkbox:down on checkbox.on.hover.tga
-
-switch off checkbox.off.normal.tga
-switch on checkbox.on.normal.tga
-switch:hover off checkbox.off.hover.tga
-switch:hover on checkbox.on.hover.tga
-switch:down off checkbox.off.hover.tga
-switch:down on checkbox.on.hover.tga
-
-radio off radio.off.normal.tga
-radio on radio.on.normal.tga
-radio:hover off radio.off.hover.tga
-radio:hover on radio.on.hover.tga
-radio:down off radio.off.hover.tga
-radio:down on radio.on.hover.tga
-
-button background button.normal.tga
-button:hover background button.hover.tga
-button:down background button.down.tga
-button padding_left 8
-button padding_right 8
-button padding_top 1
-button padding_bottom 1
-button.label font Vera.ttf 16
-button.label color #000000
-
-slider background slider.tga
-slider bar slider.bar.normal.tga
-slider:hover bar slider.bar.hover.tga
-slider width 16
-slider height 16
-
-hslider background hslider.tga
-hslider bar hslider.bar.normal.tga
-hslider:hover bar hslider.bar.hover.tga
-hslider:down bar hslider.bar.hover.tga
-hslider width 16
-hslider height 16
-
-vslider background vslider.tga
-vslider bar vslider.bar.normal.tga
-vslider:hover bar vslider.bar.hover.tga
-vslider:down bar vslider.bar.hover.tga
-vslider width 16
-vslider height 16
-
-xhscrollbar height 16
-xhscrollbar background scroller.slide.h.tga
-xhscrollbar bar scroller.slide.bar.normal.tga
-xhscrollbar:hover bar scroller.slide.bar.hover.tga
-
-xvscrollbar width 16
-xvscrollbar background scroller.slide.v.tga
-xvscrollbar bar scroller.slide.bar.normal.tga
-xvscrollbar:hover bar scroller.slide.bar.hover.tga
-
-hscrollbar.slider background hslider.tga
-hscrollbar.slider bar hslider.bar.normal.tga
-hscrollbar.slider:hover bar hslider.bar.hover.tga
-hscrollbar.slider:down bar hslider.bar.hover.tga
-hscrollbar.slider width 16
-hscrollbar.slider height 16
-hscrollbar minus hslider.left.tga
-hscrollbar plus hslider.right.tga
-
-vscrollbar.slider background vslider.tga
-vscrollbar.slider bar vslider.bar.normal.tga
-vscrollbar.slider:hover bar vslider.bar.hover.tga
-vscrollbar.slider:down bar vslider.bar.hover.tga
-vscrollbar.slider width 16
-vscrollbar.slider height 16
-vscrollbar minus vslider.up.tga
-vscrollbar plus vslider.down.tga
-
-
-select.selected background select.selected.normal.tga
-select.selected:hover background select.selected.hover.tga
-select.selected:down background select.selected.down.tga
-select.selected padding_left 4
-select.selected padding_right 4
-select.selected padding_top 1
-select.selected padding_bottom 1
-select.arrow background select.arrow.normal.tga
-select.arrow:hover background select.arrow.hover.tga
-select.arrow:down background select.arrow.down.tga
-select.arrow padding_left 1
-select.arrow padding_right 1
-
-select.options background select.options.png
-select.option background select.option.normal.png
-select.option:hover background select.option.hover.png
-select.option:down background select.option.hover.png
-select.option padding_left 4
-select.option padding_right 4
-select.option padding_top 1
-select.option padding_bottom 1
-#select.option border_top 1
-#select.option border_right 1
-#select.option border_bottom 1
-#select.option border_left 1
-
-select.option.label font Vera.ttf 16
-select.option.label color #000000
-select.options padding_left 1
-select.options padding_right 1
-select.options padding_top 1
-select.options padding_bottom 1
-select arrow select.arrow.png
-
-
-dialog background dialog.bar.png
-xdialog.bar background dialog.bar.png
-dialog.bar padding_left 8
-dialog.bar padding_right 8
-dialog.bar padding_top 2
-dialog.bar padding_bottom 1
-dialog.bar.close image dialog.close.normal.tga
-dialog.bar.close:hover image dialog.close.hover.tga
-dialog.bar.close:down image dialog.close.down.tga
-dialog.main background dialog.png
-dialog.main padding_left 8
-dialog.main padding_right 8
-dialog.main padding_top 4
-dialog.main padding_bottom 4
-
-keysym font Vera.ttf 16
-keysym background input.normal.png
-keysym color #000000
-keysym:focus background input.focus.png
-keysym padding_left 6
-keysym padding_right 6
-keysym padding_top 3
-keysym padding_bottom 3
-
-tool background tool.normal.tga
-tool:hover background tool.hover.tga
-tool:down background tool.down.tga
-tool padding_left 4
-tool padding_right 4
-tool padding_top 1
-tool padding_bottom 1
-tool.label font Vera.ttf 16
-tool.label color #000000
-
-menu background menu.normal.tga
-menu:hover background menu.hover.tga
-menu:down background menu.down.tga
-menu padding_left 6
-menu padding_right 6
-menu padding_top 3
-menu padding_bottom 3
-menu.label font Vera.ttf 16
-menu.label color #000000
-
-menu-open background menu.down.tga
-menu-open:hover background menu.down.tga
-menu-open:down background menu.down.tga
-menu-open padding_left 6
-menu-open padding_right 6
-menu-open padding_top 3
-menu-open padding_bottom 3
-
-menu.options background select.options.png
-menu.option background select.option.normal.png
-menu.option:hover background select.option.hover.png
-menu.option:down background select.option.hover.png
-menu.option padding_left 6
-menu.option padding_right 6
-menu.option padding_top 1
-menu.option padding_bottom 1
-menu.option.label font Vera.ttf 16
-menu.option.label color #000000
-menu.options padding_left 1
-menu.options padding_right 1
-menu.options padding_top 1
-menu.options padding_bottom 1
-menu arrow select.arrow.tga
-
-
-scrollarea.content background #ffffff
-scrollarea.content padding_left 1
-scrollarea.content padding_right 1
-scrollarea.content padding_top 1
-scrollarea.content padding_bottom 1
-
-
-list.item background list.item.normal.png
-list.item:hover background list.item.down.png
-list.item:down background list.item.down.png
-list.item padding_left 4
-list.item padding_right 4
-list.item padding_top 2
-list.item padding_bottom 2
-list.item margin_bottom 1
-list.item align -1
-list.item.label font Vera.ttf 14
-list.item.label color #000000
-
-list background list.png
-list padding_left 1
-list padding_right 1
-list padding_top 1
-list padding_bottom 1
-list.content background #eeeeee
-list.content padding_left 1
-list.content padding_right 1
-list.content padding_top 1
-list.content padding_bottom 1
-
-filedialog.folder image filebrowser.folder.png
-filedialog.label font Vera.ttf 14
-filedialog.label color #000000
-filedialog.title.label font Vera.ttf 16
-filedialog.title.label color #000000
-filedialog.input font Vera.ttf 14
-filedialog.input background input.normal.png
-filedialog.input color #000000
-filedialog.input:focus background input.focus.png
-filedialog.input padding_left 6
-filedialog.input padding_right 6
-filedialog.input padding_top 3
-filedialog.input padding_bottom 3
-
-dialog.title.label font Vera.ttf 16
-dialog.title.label color #000000
-
-
-progressbar background progressbar.tga
-progressbar bar progressbar.bar.tga
-progressbar width 16
-progressbar height 16
diff --git a/src/data/themes/default/console.input.focus.png b/src/data/themes/default/console.input.focus.png
deleted file mode 100644
index 819d83515a5c52bca308ba98f6e9316918e32222..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 224
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gj%ROBjLp(a)PIKftWWd96T~OZj
z&*E*r`Q?r)7riZN5S!(~F*D@RgsC+fr^p_kzIB3&X8HQr@gAW|-^`6VR<^Cf{y_q(
z66YiX<40}oiV^3(ryaXmo-b#b*AV8x)G((wM^%1HW!e0FKU`ngRV`$cXaJ&mh6a_8
zt<`cXUTO2YtkU=!Is5s=iJI@jTXz>nik+EmY4WvX?u4LQt^2l|6AR^?tNSkQ?Jqu|
X!b?@ldn*!wPG<0Q^>bP0l+XkK=dD^C

diff --git a/src/data/themes/default/console.input.normal.png b/src/data/themes/default/console.input.normal.png
deleted file mode 100644
index a14e329597b452fd83b32900020c119a1497bfad..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 224
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gj%ROBjLp(a)PBY{?tRTQ59@q9~
z<L=)xw$3kl?JFo4t=6fO<E<&t`K(KJN1ErP0u`lO5BX<ATAjNT7trjjY5P;*W=C98
zM*y##w!%(Nm4kO(gBbKIRi3_^)WXAXdQ-{WAJV4AJ9m3&-p&5W;yIya-vht41P&nj
z=g8n`u=(`w1826`d8}M{>GG8`x3xEG{w<9)^bMY#FfaYdocq)N$r-=?wavw4^J{jY
Xms2EpS~On+oy_3r>gTe~DWM4fgkD<z

diff --git a/src/data/themes/default/console.png b/src/data/themes/default/console.png
deleted file mode 100644
index a14e329597b452fd83b32900020c119a1497bfad..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 224
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gj%ROBjLp(a)PBY{?tRTQ59@q9~
z<L=)xw$3kl?JFo4t=6fO<E<&t`K(KJN1ErP0u`lO5BX<ATAjNT7trjjY5P;*W=C98
zM*y##w!%(Nm4kO(gBbKIRi3_^)WXAXdQ-{WAJV4AJ9m3&-p&5W;yIya-vht41P&nj
z=g8n`u=(`w1826`d8}M{>GG8`x3xEG{w<9)^bMY#FfaYdocq)N$r-=?wavw4^J{jY
Xms2EpS~On+oy_3r>gTe~DWM4fgkD<z

diff --git a/src/data/themes/default/desktop.png b/src/data/themes/default/desktop.png
deleted file mode 100644
index c83f5cd345237d07d80d972324983fbf36e9b508..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 181
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1SIoCSFHz9oCO|{#S9GG!XV7ZFl!D-1$&97
zuPggic2QPF7U$Y*BcPCMiEBiObAE1aYF-J0b5UwyNotBhd1gt5LP$ocg1e`0!21-{
zJfK2tPZ!4!i_^(}{{OdUHf0cIp2~2#U*4W=dbfo8;S7@=Hz;wUMUdfeqVm-H^RBc3
PwJ~_Q`njxgN@xNAI0Z4>

diff --git a/src/data/themes/default/desktop.xcf b/src/data/themes/default/desktop.xcf
deleted file mode 100644
index 2c504ab270ec11e145efecdc488295452bea49e7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1975
zcmcIk&2G~`5MJAfoi<IIkfv~4!6iMUX^?uaf)GN0gn&D8oQ-3V*pcI^$*DKaJOD@D
zfQNuL;K)O8-~j6KO|olj#T+PPq|ZA$v-9I`$M%Eij4!+q9|aS^Aa@i<ZvcjYM-!;@
z-<94IpdSJy-~ea=U7+S8RmY2_QxPWEGYUL<5DPaELw*?~WBzI^_@l?qo|E?opcHfp
zDU6p`|1w2=RWX>lzUcUIFhmAQXH?qrWH}K$2on*{g_i_TI6vNPk9;qhL@{r#mQL&s
zTz-0Tx{?B=r(DMf9TbFWKmW5rp^N#<^@7mnJzWdNWsy<YIu~J(pm}dBsOv>E8qGzL
zHb~K%rnMy>N_;3W!HabU#@{kl9x!Hq&>pP%%IPZhA5Le<l0S8qBEEN@4w>|T*Z^JF
zIZ#nLMeHaY3){`;)r`KE(Q6r<=7(}=aiCBQ3(zx0`IVR-m7+VwS@TogW`3dlm3f|`
zC!5Ur2b5%kl>u8GupL=tXA%W;2OFIAsJ!NiPHvkks;9Z4x=O6CO3|HyE9+a{RwABL
zo`|z+iCl(k{TKX{OtM?-2UwsLxea>M>0zNl4RBaZ(v9Z`-OCIi`81t0M%$({J9?|e
zr~!O5C+jus6TWgkZ!5o`J<*r}UOtVXVX60B?~NZv7vYe5(QFA*`hIkF+wVv9^tjOH
zro`S?N@iT_yLp?v`XAu(TI{y$e(x6G=FThQv%F^VP#UZyP1eLzG&ZM$8mj(gkhXd_
nvgDC{8~-KBtI5;<MVOo?<bY`MFhtJlwMpBYi1tOC-Ng0_r!_!?

diff --git a/src/data/themes/default/dialog.bar.png b/src/data/themes/default/dialog.bar.png
deleted file mode 100644
index e014e04b994cb0b21cb89706caa41912ca63073a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 329
zcmeAS@N?(olHy`uVBq!ia0vp^5<o1<!3HE_Uh1g<DYhhUcNd2LAh=-f^2tCE&H|6f
zVg?3oVGw3ym^BBahrPtp*OmPmGq<pbZbiG)3!so}iEBiObAE1aYF-J0b5UwyNotBh
zd1gt5LP$ocg1e`0!21-{JfOn0o-U3d7N?U_4)Famp1>}_$@wQeAt50nYGa$u<=0A1
z24`HiJ*dCE%eSC!-Bwf2ws^ZLk#p;~J~hui+mUCnlI`&(jx<hgpGW7{$Mf8pHjQV0
z-Jb;~m`anA+g2a%Km5~&hll6?N#5cbhOB4xVr)PlW@gsa%qA&eWp${ztF!S~1FP7-
zDQ&h^KR&+}m#sZ;=-9CX#|}EiHs8GA_Bdg}5k~H9N@XT|Zl4)F3mF(5n0wxOxNT82
P(BTZ8u6{1-oD!M<y;pXM

diff --git a/src/data/themes/default/dialog.close.down.tga b/src/data/themes/default/dialog.close.down.tga
deleted file mode 100644
index ade48133611f5156dd2d01eeec89228a69d21aad..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 677
zcma)4O-lk%6ur|#i$GBs7%<RumEtahS_y9Y0SdX&UCVxe3-xIsLQxCX+Scv-fz|^q
z1c#PxBZxKwLbN!&^J2_g^<d_nd(OG<<Gv?yDA7nrLXJ;vnBM9S2KAZROw;Kj42Mrx
zEMB43>o3?uWT?<#yov>TOl!3(%;z6a%VmgzAP7MaMJjaAxv60-s?|%3X0ta~L}Ys8
zIj6*8akSenP@T?-l3>v7uCPx;iV1c4deki{rBVZ`UJuL;cacz~7si{*JwO$UKBQ3a
zVH%-`EOPn$<Cay#!$9PjKfMtm4ZQz4%%&aZ9@(sqOvX3SEZ8R_j&rv)RWf-2RjEX0
z_=|+9IYV6UKo1LzMu28>g;vWn%ETyV)TRwbuWqoJ;iu13Q>jyox?Oz_L}YsUC!5QH
y>z-pgen)>g4WTBJ5H=Ah*F7^8#{Bz+EXzi@e66o3fbzUg*hFNga0%nxd4u0P1qitS

diff --git a/src/data/themes/default/dialog.close.hover.tga b/src/data/themes/default/dialog.close.hover.tga
deleted file mode 100644
index 9f36bb78a9879bdc5ec685e5d9dd0f50eb56b387..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 668
zcma)4J!`^17(R`3=urF#9s4iNbQFRFi;_uPinN0`bk$r^6`@mC!AuUN1vl;FmbsfC
zh;edjp&f#h!c(7<pml17ywBHr_vUg!oQmYhimW)lxF>B(DWQ=^YLFI-R~Qaou~@uA
zZ8kqJh^WwELT42l(xlDi1LpHDsO2)oNfgB(NGcsBnB4WSk*v{B=uM{|ND)zSX{Gtf
z=kw_IS5Sk&8Wi9M!5SGNN+k4|bLpqpU#)sjtyZKbJVt`9%b3nO&NIA9WrjA_)JQna
z%RxfQ5WbXe@R`tPJ9qfsM21@x3Qs7PXDF3sy6!fkB53W$v8+3&dOaEaFA{Wh_Ke>u
zr3ufA(CMtv?dtQ<HQ}rrnI18-xtw`$yd2H4uF(sE?eP;)ak=>ZzuNXKMx#%7lSvFU
o9>*|<DB1Rn?$F`=)iKRW)M}60zY{@);WrE-Ds;Go&K_O8U$tmDxBvhE

diff --git a/src/data/themes/default/dialog.close.normal.tga b/src/data/themes/default/dialog.close.normal.tga
deleted file mode 100644
index ee3a5d481e9e95923670ea68a981b21e8996bc1f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 582
zcmZvaF>At56osD+bm-(y=-8j}Oh+L|uqc_trARx7Ls#>nMJ06VDwxTkwBV+l+?=}!
zf*7Z4Ewn?BQcmA_MN>*MynOfEb8o^)gg6oVD=+fm^sFnT6u0_-p@5~uvRuBvc>Ij@
z`W0%o`+`NH!VVqAt2l7PvfaMJYV`rN*`zp*;}nGbogF&pJj@7ItyX}+eEx<UiHffe
zvr`m{MGS{q1fx-cZWJZ3NCe7k8*`3h^?C=P@5c}%>M*+JJtC~tmJpuz^h=j=fl$g9
z2vX+%M>mO-N)M=3m#9>h=n@nuAPM%e4UThzu-VjaLNYox2q|rJIx%{^1VO)_AV(r7
zf<+?GQz+PG@+SyA4ad2}Ac}NQBr3i>#34<%?lmTpcLcLp3N@Xkut=0#_bQ7%`^dI^
Zjz;5N2O2{y7N4+4RM_DojQ7t^@(p3`Cbj?o

diff --git a/src/data/themes/default/dialog.png b/src/data/themes/default/dialog.png
deleted file mode 100644
index 26ae2a69d8af049d1a02cf08095accfaa98ff7c0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 322
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjY)RhkE)4%caKYZ?lYt_f1s;*b
z3=G`DAk4@xYYs>cdx@v7EBjS;QE@rhukUsh0fl5sTq8=H^K)}k^GX<;i&7IyQd1Pl
zGfOfQLNZbn+&z5*-lwSM0TnLuba4#vIR18;A>UyI9#?r$r=7t^SZ7#dscrM==;U^d
zdvRfz(psw}jeZqJtB(EWzt5#nqQfiT^n$7UoGn`i$7dV!*5y+ec3j+P(qPz@Icru^
zuVMWi2bUY$)@nw$w6Py<et7W1gDvc@cbT1TvE}~8JLUVnpXcZMEX_V!bS@%WzcIN-
z|1V?6*RWSPcGeolDo#9_yY}8Mt^=EN!c!~@u1>!f??03Oo~)sy!w-ROE+wFg89ZJ6
KT-G@yGywpP6L*{d

diff --git a/src/data/themes/default/dot.down.png b/src/data/themes/default/dot.down.png
deleted file mode 100644
index ab117a712849ff228fcc40e0f32f1c716d72fe0f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 549
zcmV+=0^0qFP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00006VoOIv0RI60
z0RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_000McNliru)dv+6CK`TIEpq?>03CEi
zSad^gZEa<4bO1wgWnpw>WFU8GbZ8({Xk{QrNlj4iWF>9@00D_fL_t(I%cYY$EW=S0
z#((#p8_xuZcqE7jBQbchRU$-e1iN4nCYwP_Y|_bKFqIe#NIW7jPy-!22NDxWMfxDx
z{uMojdR1F#<6F+nIXT}s=R5Z(VngEi)o+LKJF%#^M5gB#IJt3RzPw_-ymE5mWO{yq
zqT&+ygB<A|7#7E!N6y?&a^`-L3s0nV+<ByXU^s&0vn6Tm>1SwWmP9Z&KFZFr4L~V?
ztn3^a**HL_rp28NAoSr6KATwEn|OTiDh)`frGv{r2m*c*MX9BO(-oU&0AFPT7heB|
z{DO)W`zscnTVYl;!io(Ia9vOVULQ#zzdY`!NkIeT-CmJd(}F04lIS%{SnG(G@6y5j
zC&AnPCS{hkq$(fVx4$}2?!7H3)R2;%f$>AXkbt4W7QWxXfS=v{?eBj8NN#l<Ba7<^
zRk!wa;yONzAOMiU+GZw}R>@3DjhW~(pPB0I!g*wmc~}5qXf5@FV=`$!mo-;V)?7iE
nw4Y1;;FuU%M;(*;?>WB%?2D=pu|Jz)00000NkvXXu0mjf@7v<@

diff --git a/src/data/themes/default/dot.hover.png b/src/data/themes/default/dot.hover.png
deleted file mode 100644
index 090f07dff519a66a7bcabe96f5787346f613d4a1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 548
zcmV+<0^9wGP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00006VoOIv0RI60
z0RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_000McNliru)dv+6CK!-iOkV&103CEi
zSad^gZEa<4bO1wgWnpw>WFU8GbZ8({Xk{QrNlj4iWF>9@00D?eL_t(I%cYaeD@0)w
z#(#IbNVD(}CL~!6VM9!_a<h}9D4P)(@<&+s*kEI2CsMMdB-u!@n`S6sF&3g37EHdz
zZOnD&z7~_)%ot^OHgBEY^PJ~AJx5Vhl`N2Chmu(knT_QYl?;rI;c9QErnDG<+ou<N
zem|RQt1|L%pGKslD3F~!y$p>{AViYa2AC<YVHj+zEOWTKW08C*kgc6vs2(rjm;o64
z1l8ju`lfMmcpw2q0NCwzng&O>etWk*+LZ6jrcBnG21f`6d}x}60HmYMO-PrZ$N4QB
zZEmiP_N4%LuWR5Y8Y36z^^I_}pY-6av>LQ{P6QNJSw{a00-z)krpVc1nUu}EOk-oA
zOP;?7%!>ey){dMeUtI(&1<LDLK$Z*0D=19cDK$i?!Aj_HPS1|9a)4>#Uz(?XYT;MY
zw-#rRX5xF4%bd*&PtQ?Qke_w`nEt`~>?DuDb1TY9#x+V?p1|4NhpW36XKf7t!O$(f
my&Zyk+n5RC$7A}_Ie!9%jf_1{&txJ10000<MNUMnLSTZiRpj#k

diff --git a/src/data/themes/default/dot.normal.png b/src/data/themes/default/dot.normal.png
deleted file mode 100644
index 55bd736e4c0ca575c7529ae61ef8f83af0a8b02d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 366
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6n3BBRT^Rni_n+Ah<Z%{wL>4nJ
za0`PlBg3pY5<o%r5>H=O_N(lo;$jSOhB1qQLb4^U5hc#~xw)x%B@E6*sfi`2DGKG8
zB^e4K8L0~Hp1uL^Q&jVS3a@#(IEHAPFTJ?Yi#brB_2K(tr@NvwZ$utp=MXx0=-jn)
z=BKnHS#q{+GT;!4isEeK;8b$toVD>p-ll_R>t{DwmOne=^D0tkb-=2o7*+mQtDuBu
zXMOifUv#B;N5Q&KZG-an)3&S-NZ++@?Pb%i0zqm1$Cv*v*)!wRqPNb*x#uTp_6TY}
ze(G@YTT++)W?s>{$j$dW(oX-2YL0l9xk<oBCjZCZE*;+F^qm*1?Aw<3>?ppfutRL=
zNs~+AH`eZTy5A9Uw<*K2^btd{zuZ~x<)NQV%sU(p@BGgo^v`_rnar14fIejKboFyt
I=akR{01+mTi~s-t

diff --git a/src/data/themes/default/dot.xcf b/src/data/themes/default/dot.xcf
deleted file mode 100644
index 31007503cf1d455e5bd4d315eec8a3415d10dfd8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1930
zcmc&!Pfrt35TD&{|Ih-WRYE|MRSpH3D(GDkh%rsnm<U&sQnt%R+TwNzG#s`^yx|A%
zY(nEF@X`|(!-0f;06##}lPLn*^*8N4T%c<7(rIUB-preMv%i_Qx{+U3x3W1kXRK)i
z8u6I*>tIR3BMy$t?-DVCZh{qX7<>!-06e54RVrJ|=e2@`HF4nRf~jRJZAINQtW|Y!
zRa2j(U%X=PD40|5E~JoNL;homk<N)mKBH?X-85E^fzwHmsghM*(^R8iX=X{wT1K%@
znvPE8^lWjhXsS~kkuvq=j5>RNwnIIXInOnX(B&SX!ms{b;n1zpdM0ZWbahUg1!K9F
z(X*vC3WkN^v#T0cy;aQRN}6?EAV*&{buAY|84r&nhbZt4h<_srZ3`=;Xg9ZE_-TIK
zDyz>kWzC#?#G683ZjuX*cslPK@N@`@`t+DjAN1)%KK&YW&LxOvh|gdWb0v3|{FFa=
zx~LR;<u4a)@>gEl^nr$4$zz#fu0jKDh{A5X>#M=nVfbqB)!?iB-FJ2;Ig<<|r5QPS
zdYfo$DZ2Dy3}d!wSENeIuGsi*%9y<N_+DhMJx&2~?(Wy6x^#3_-&ZL}tw6fkY*y0&
zy1|8tH@SlOL-zIy^8g>-C1t`>M5Vx7;XBUc*_0=|hy&daP*#Ap>_eY>@&CTo#Li)>
zb+|JD?7lA^939p1J6Hs;?FEK-0bo1B+qPsYm1DcIJxr8BSB_Ie_mXIqf@V3%NpyYJ
zS22Q!27NQmzJ8%CCLSdO-*X`#AKJl>U6Zf{Kl2)hVrB<0yRjP3u8Dc>B`?i5-rWYr
zeX|%OC(&>f*J&ge*@PQ$+X+TC(13c<z(AzksC$|ws<NySHCZ-)Nnz)GC)n4CbP$Ql
z;N`<*I6vi&Hz78k$-dRi;znVG-&K49`qiKy7ty8gjHmb-6n=cs7JkWVhFGvdK{tHq
VYP89H<Ki*c`AmsVR2VxI`Uw+JQ)U1F

diff --git a/src/data/themes/default/down.png b/src/data/themes/default/down.png
deleted file mode 100644
index 75322490603c1d8d46a8262c66e4deb9f6a1d69c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 202
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6n3BBRT^Rni_n+Ah<Z%{wL>4nJ
za0`PlBg3pY5<o%r5>H=O_G`>M9D*j5yTzUZg=9-yBTAg}b8}PkN*J7rQWHy3QxwWG
zOEMHfGEx=XJ$(b-r>N!u6&iWEIEHAPPfn2FYY_DMe_ZuA$Mb*3*G(1ld|@v(IZ#Al
piov6@%k^v4B_7D)xycqF3p9H_C&MN6MJYht44$rjF6*2UngA!OI`IGi

diff --git a/src/data/themes/default/filebrowser.folder.png b/src/data/themes/default/filebrowser.folder.png
deleted file mode 100644
index 4a3bd2c9f195ac82fcedfff2addaa9ab5765783a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 634
zcmV-=0)_pFP)<h;3K|Lk000e1NJLTq000yK000gM1^@s6FT_0X0006(Nkl<ZIE}5;
zO-oc!7{KxW)RYQMGl+wW0>=?sNKF%hFR9Ed+5{q(7SYOOv<mwG1%84VXwe6VqMf*K
z+uSL_%0w+J%d$5!d`ZR`$2)WHIp=AiLt3M5df@OJIOqI$IBz}?;eUp|(y?t@ve_)Q
zZL{!x2H(*d?5E?EF)CxZT#ig8Lp&b$RRet@LOPw6$7A;yNVJmZY^C{h1KC%fxHNc|
z-u5WH?NKgXXr?RHM0R4H2lfUdBP08R!^6YU*V#s2(@&H#Xsu96<GBjYQz%d2DUIhT
z%C4gS=0p6)>qw<iSeCU1_5%ciL7qIHB^Eq}>;46lJqq~(%G3}DM+uyYGGSj~?#&Cb
zGc#D0_3s|W<8f>|L!sm+zy1rS=uq4&b0Qoi(AYw2TRn}9_28_4vkH>q(c~n-aL0j%
z!nGa?*B7R_qk9`DE`qZRvV^QHfe2y@#uzf=Z@G2ndUY_FO!@%H=klEC>?c%ujjVhI
zBZwG`)@Y-*vsM_bnV$PrSy#P60H?Uc$y$ZC;bOGLXoWU^kV;lsbEGC%?T~kaLT#WP
z&n;8h%wvo~>s?jtz*=k8b44PN$YCHfG{x9jnWt3D@2SdDigMY-amvgttTOiOBauk=
z;b39yJ9U8)g?w%YaCtfVgLhxnnEtTL*ENrht{xHtHy9cks(P^z5k!Re`ItEQMY(tT
zstjH}E9Y9m5(<UHvMfoZQZh9)C6&1cHDBd(NT<^>Iyy=y6e5vGkW41`eXj?_Z+ldG
UE_YNIx&QzG07*qoM6N<$f*jN&VE_OC

diff --git a/src/data/themes/default/generate.py b/src/data/themes/default/generate.py
deleted file mode 100644
index a161556..0000000
--- a/src/data/themes/default/generate.py
+++ /dev/null
@@ -1,98 +0,0 @@
-import pygame
-from pygame.locals import *
-pygame.display.init()
-pygame.display.set_mode((80,80),32)
-
-def prep(name):
-    fname = name+".png"
-    img = pygame.image.load(fname)
-    w,h = img.get_width()/2,img.get_height()/2
-    
-    out = pygame.Surface((w*3,h*3),SWSURFACE|SRCALPHA,32)
-    out.fill((0,0,0,0))
-    out.blit(img.subsurface(0,0,w,h),(0,0))
-    out.blit(img.subsurface(w,0,w,h),(w*2,0))
-    out.blit(img.subsurface(0,h,w,h),(0,h*2))
-    out.blit(img.subsurface(w,h,w,h),(w*2,h*2))
-    for i in range(0,w):
-        img = out.subsurface((w-1,0,1,h*3)).convert_alpha()
-        out.blit(img,(w+i,0))
-    for i in range(0,h):
-        img = out.subsurface((0,h-1,w*3,1)).convert_alpha()
-        out.blit(img,(0,h+i))
-    
-    return out,w,h
-    
-todo = [
-    ('button.normal','dot.normal',None,3,3,'789456123'),
-    ('button.hover','dot.hover',None,3,3,'789456123'),
-    ('button.down','dot.down',None,3,3,'789456123'),
-    
-    ('checkbox.off.normal','box.normal',None,2,2,'7913'),
-    ('checkbox.on.normal','box.down','check',2,2,'7913'),
-    ('checkbox.off.hover','box.hover',None,2,2,'7913'),
-    ('checkbox.on.hover','box.hover','check',2,2,'7913'),
-    
-    ('radio.off.normal','dot.normal',None,2,2,'7913'),
-    ('radio.on.normal','dot.down','radio',2,2,'7913'),
-    ('radio.off.hover','dot.hover',None,2,2,'7913'),
-    ('radio.on.hover','dot.hover','radio',2,2,'7913'),
-    
-    ('tool.normal','box.normal',None,3,3,'789456123'),
-    ('tool.hover','box.hover',None,3,3,'789456123'),
-    ('tool.down','box.down',None,3,3,'789456123'),
-    
-    ('hslider','idot.normal',None,3,3,'789456123'),
-    ('hslider.bar.normal','dot.normal',None,3,3,'789456123'),
-    ('hslider.bar.hover','dot.hover',None,3,3,'789456123'),
-    ('hslider.left','sbox.normal','left',2,2,'7913'),
-    ('hslider.right','sbox.normal','right',2,2,'7913'),
-    
-    
-    ('vslider','idot.normal',None,3,3,'789456123'),
-    ('vslider.bar.normal','vdot.normal',None,3,3,'789456123'),
-    ('vslider.bar.hover','vdot.hover',None,3,3,'789456123'),
-    ('vslider.up','vsbox.normal','up',2,2,'7913'),
-    ('vslider.down','vsbox.normal','down',2,2,'7913'),
-    
-    ('dialog.close.normal','rdot.hover',None,2,2,'7913'),
-    ('dialog.close.hover','rdot.hover','x',2,2,'7913'),
-    ('dialog.close.down','rdot.down','x',2,2,'7913'),
-    
-    ('menu.normal','desktop',None,1,1,'7'),
-    ('menu.hover','box.normal',None,3,3,'789456123'),
-    ('menu.down','box.down',None,3,3,'789456123'),
-    
-    ('select.selected.normal','box.normal',None,3,3,'788455122'),
-    ('select.selected.hover','box.hover',None,3,3,'788455122'),
-    ('select.selected.down','box.down',None,3,3,'788455122'),
-    
-    ('select.arrow.normal','box.hover',None,3,3,'889556223'),
-    ('select.arrow.hover','box.hover',None,3,3,'889556223'),
-    ('select.arrow.down','box.down',None,3,3,'889556223'),
-    
-    ('progressbar','sbox.normal',None,3,3,'789456123'),
-    ('progressbar.bar','box.hover',None,3,3,'789456123'),
-    ]
-    
-for fname,img,over,ww,hh,s in todo:
-    print fname
-    img,w,h = prep(img)
-    out = pygame.Surface((ww*w,hh*h),SWSURFACE|SRCALPHA,32)
-    out.fill((0,0,0,0))
-    n = 0
-    for y in range(0,hh):
-        for x in range(0,ww):
-            c = int(s[n])
-            xx,yy = (c-1)%3,2-(c-1)/3
-            out.blit(img.subsurface((xx*w,yy*h,w,h)),(x*w,y*h))
-            n += 1
-    if over != None:
-        over = pygame.image.load(over+".png")
-        out.blit(over,(0,0))
-    pygame.image.save(out,fname+".tga")
-    
-    
-    
-
-    
diff --git a/src/data/themes/default/hslider.bar.hover.tga b/src/data/themes/default/hslider.bar.hover.tga
deleted file mode 100644
index 5e5c53ac1428b920b58b7def0ed2e9fcf7c46617..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 776
zcmds#y-EX75QQf$Ha<a0OCMw1*acL?AJj@Mf*>dsmL|I_m}pYSc0!1$1W~avr1GcG
zMlekhFrd3lQbY_SMG%$aJy%S`M{tX~-<&z;7I#KuNPfPsgk^ZdHBD18>VPJPrNMG`
zW*WtdBfK`Bkox?1gF&Lg4jtNSGcdq1vlmCFRfFB_JR{ld1Q;X{_-Bh2T6-a3<-|9!
z->P3CM52;VhrU#z(I|p)7Ea?ahjgQshe0AxW?P#>jJey(@cf4aghU-$Kglk@tKKX@
zPIHUD^xHENUa4S0NPYi5)b&V@4<=E)o=5d+4rzi-a!A5n{{^<z$JI;TZ$L;|=M7?6
zCj63%MrB8hq>@6CBqW<;kO(wItWh2Po}`K+wlbk69pn)rQQ_6nTL-MgrqHgRW4HTK
pREyLsz#vg#iwSM+ujyFCf|p)}Up_?Yy?qCRM1>s&wD-@Ne*qx=op1mE

diff --git a/src/data/themes/default/hslider.bar.normal.tga b/src/data/themes/default/hslider.bar.normal.tga
deleted file mode 100644
index e9371c7448e8b84155f06771fc6db8bd046e779c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 729
zcmds#p^k$<5Qc~1?g=VS-dn;pXG#u1prTJef+}eh2=KV3q6Ps3RY3)UV*cZw<a(Dr
z!mZeR^UpuCu(Kj>^0U^mmiLcO$8p48HYjZv+6<#8LS5H*JRaC$SvH9ZGjyoeuwcco
zC<;u|1b?1qtVmRtd3uD=>2yMHzu#ezsJP3fJ;d`oG);q`>pEB@Dw?<GOp*lQ`Fw_u
zs6+L`;Q&*XC4^`CBtx=DX`24A#&L|0)k6Ah@eg&KBY!o|b7WbDFM=U$NH3ST-|rDt
zRRtmG&2X^dx-Kr43xezQ3X4QVhoX5-VYk~M==&ZPiHhc*lLuSgZa4VDFknTZLZf>0
cE$R0fV{kkk(Y7tN<2b@5QDKG!>V0{)-vq(I!~g&Q

diff --git a/src/data/themes/default/hslider.left.tga b/src/data/themes/default/hslider.left.tga
deleted file mode 100644
index 2fe406ce451470f6a5e10102e6708b068b69780a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 372
zcma)&yAH!33`O0wQ$C?%zcS4`Q@)Ndf+a(wEMXxMLc;AOR8F@toy)N;1JRwnr=Wr!
zPl_?Vrm`%#0ugBX5Lcixh7c}sJdT4gggcPb4g0=xodifkzpg7cNq|H&#u%=(*4)D0
zK)7lEQr0S^xJ&(@KSVdr^Eoq-bo9%z<W)c-hHcyO@*okTwKhK&Bw}*TU8DCt$KNk~
E0}D^!ga7~l

diff --git a/src/data/themes/default/hslider.right.tga b/src/data/themes/default/hslider.right.tga
deleted file mode 100644
index 86a9ca5d3a01eb2fd3bc10e276aee7f89fb45ba7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 372
zcma)&F%H8Z3`O0wQ;yKFr=$s??Ud7HM6hH)$`Y1DijZ*n6)N1VOz-;{%RqFc?`f!^
z+nsXGk3lKLEr>wFhqwiuF{LD;*|v=_gx{drXO?B*4&nt8B80#i;t8rkd+)h(&T$WW
z0imP;watv<$Oauf=pSLNJ!cw_xG_yrSp_7-JkMo$kPtD(@?20A!@90A?)zTi@0T75
C>)?a{

diff --git a/src/data/themes/default/hslider.tga b/src/data/themes/default/hslider.tga
deleted file mode 100644
index ff3b4b2441783bfb9e173697c482402673d69250..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1231
zcmeH{v2KGv5Jb=Tpzs&COqtI-I}Ng;{DeCfmK%3&p~Ed55*4CAazO!-@x<>U5*IX9
zlr9u#*qL2+_jb>ig&CivS(=yEwR6s_B$?TEyVY*DQ@r2r6&wx+0kEv$S6<1>@`)P$
zbUG<X62)1T$)3+=0kFWJ@X_yn&P2RM=i~9HG)<M~xyrIsTve6Ax~>Jl0)qmj4-!54
z@|&V4)HIFSwpHA9oua<)1;7G>0wpmV?mh--5gGP!xd^Z8^{UM<46-0BFep%Z-;kmy
zi_D0Q3YYiW?WQ>h3k(W})Y3rOK}BRm^bhm_2n&ouV#$ka=>Sy_@k<NB0^^YUYyY?p
zECA!oM2_dY;oO*Dt^Em(CyvG;e(F@7n2eCoePZ%{JL!JiEK4)FW+4rkS~KrwSaXl&
dlS^)=mi*_A@n}Y|-}g%Jc(1%s-2E5Md;%c^=}Q0r

diff --git a/src/data/themes/default/idot.normal.png b/src/data/themes/default/idot.normal.png
deleted file mode 100644
index 4e22195f77ebb1c6f5bc8d343cfcde44b908686e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 408
zcmV;J0cZY+P)<h;3K|Lk000e1NJLTq000mG000mO1ONa4wfZ;e00002VoOIv0Dwm|
zpb`K8010qNS#tmY3ljhU3ljkVnw%H_000McNliru)&mR%6bvR%cQyb303CEiSad^g
zZEa<4bO1wgWnpw>WFU8GbZ8({Xk{QrNlj4iWF>9@0096=L_t(2&u!67iW6}V1@K?}
z)25S*D4m5U-eQ(>gzQ|*d6JyPoWY&P5kg>SXOMi+>2hJTGhnSAy!WVj^<o8<*kr9z
z^g53LYs3mmo4oVR)I>-}2QR(^Yq7Gl$+<>jW~}I)?X_BqAkrr1K5D#ItAx}!dDhxm
zM8%y(V{U3BK;?}QPKdAh$!8zDRb6RFonLl-D7C4X`k(vHgpu0JRH;miU%CHEDq|C+
z2<3*pMMWsR)XSUg1L~#HIXdfZh~dn$qw*LBdncDyl5}yh_Yf5?*A&Aa(#65E7LoXt
z|NrEDP}W$)*4ECG)=#Y`J6rc*XcNBY(B{K6?b>e=Y+hkyqO-yP0000<MNUMnLSTaA
C9;^fa

diff --git a/src/data/themes/default/input.focus.png b/src/data/themes/default/input.focus.png
deleted file mode 100644
index 477a8264a0517c31697ae2635546d97044c923a8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 181
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1SIoCSFHz9oCO|{#S9GG!XV7ZFl!D-1$&97
zuPggic2PEV4b`1;d_W=D64!_l=ltB<)VvY~=c3falGGH1^30M9g^-L?1$R&1fcGh?
zc|e8Qo-U3d7N?UF76>JzBqaR!|KEP;G6N%{z|*da*?Of+vM#J}T+GHR+q{B}!Mc@M
U$67OcGEf_Xr>mdKI;Vst04J<3!vFvP

diff --git a/src/data/themes/default/input.normal.png b/src/data/themes/default/input.normal.png
deleted file mode 100644
index 8519a982dd6354ccde877b80b731b4eb7019bc2d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 208
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1SIoCSFHz9Y)RhkE)4%caKYZ?lYt_f1s;*b
z3=G`DAk4@xYYs>cdx@v7EBjRr9tLfhX&;J`fkLt+t`Q~9`MJ5Nc_j?aMX8A;sVNHO
znI#ztAsML(?w-B@?^9IsfC^1KT^vI!PABJNWF#zLOGr#e@bK_haA687x0r!p0B4Vs
sN!EoGj*HoPrA$hAk{YitPLXC|nCrzhW#Yo4x<LI5p00i_>zopr0MO?-f&c&j

diff --git a/src/data/themes/default/left.png b/src/data/themes/default/left.png
deleted file mode 100644
index b9656660e50d8b4100ae57f2f59811563dedbd7c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 209
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6n3BBRT^Rni_n+Ah<Z%{wL>4nJ
za0`PlBg3pY5<o%r5>H=O_G`>M96~H5{-qs2A=whwh!W@g+}zZ>5(ej@)Wnk16ovB4
zk_?5Aj8p}8Pv3y|DXMuug_fQ!jv*T7lM^HaKFH5J+!8Mpe6YUctIv<654rw5o^b3L
y+Z!$k$$!QM21&sOI<8La*|9c3#d5(528N$GoZS7(CW!(KVeoYIb6Mw<&;$S)u|Sys

diff --git a/src/data/themes/default/list.item.down.png b/src/data/themes/default/list.item.down.png
deleted file mode 100644
index fd9dc2115bc7f5d5082c25dfb71ba0d300aed608..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 190
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1SIoCSFHz9Y)RhkE)4%caKYZ?lYt_f1s;*b
z3=G`DAk4@xYYs>cdx@v7EBjS;QE^QMw)bW8fkLt+t`Q~9`MJ5Nc_j?aMX8A;sVNHO
znI#ztAsML(?w-B@?^9IsfC`m7T^vI!PAA)Z`fAT?${@@<^}q_p#caJ&CRrCijEVdV
Yj;EMjXfFQX2UN}A>FVdQ&MBb@0PCwXZ2$lO

diff --git a/src/data/themes/default/list.item.hover.png b/src/data/themes/default/list.item.hover.png
deleted file mode 100644
index 627790d726869468c8bd45a9d23ca90a5df374c6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 172
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1SIoCSFHz9oCO|{#S9GG!XV7ZFl!D-1$&97
zuPggic2PDik^L1iM}R`IC9V-A&iT2ysd*&~&PAz-C8;S2<(VZJ3LzP(3hti10q;{(
z^MDGKJY5_^EKVo?`TyUZ*_1(;dFp``j*HoPrA)FefEW|`86+<<>v{@Z&IGDv@O1Ta
JS?83{1OUG4EfoL&

diff --git a/src/data/themes/default/list.item.normal.png b/src/data/themes/default/list.item.normal.png
deleted file mode 100644
index 627790d726869468c8bd45a9d23ca90a5df374c6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 172
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1SIoCSFHz9oCO|{#S9GG!XV7ZFl!D-1$&97
zuPggic2PDik^L1iM}R`IC9V-A&iT2ysd*&~&PAz-C8;S2<(VZJ3LzP(3hti10q;{(
z^MDGKJY5_^EKVo?`TyUZ*_1(;dFp``j*HoPrA)FefEW|`86+<<>v{@Z&IGDv@O1Ta
JS?83{1OUG4EfoL&

diff --git a/src/data/themes/default/list.png b/src/data/themes/default/list.png
deleted file mode 100644
index 99ad5bc74853220acf1b646ef254feb983fd9946..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 129
zcmeAS@N?(olHy`uVBq!ia0vp^{6H+k!3HE-=Cy!09-c0aAr`%FuWaOXP~>pE*xh|l
z%jcL@&aw4AJyVaoJ0871xG6+5EzIP!k6@^7Lx)A%JH7)i4wc$RWxambUf=t?bFSI<
cqR%{b7850IyyJMa2WTdPr>mdKI;Vst0Q8+N7ytkO

diff --git a/src/data/themes/default/listitem.down.tga b/src/data/themes/default/listitem.down.tga
deleted file mode 100644
index 13e2e57db0817408e90a13a6dd04b6855e954050..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2226
zcmZQzU}As)2?lWn1(h%Ful@h>?g|8h*ywy*axigxG|;S9_gB#r-#^#*A3LtcAr4Xx
zk|PE;{=d2}l&1LfI_>{3d}^K6e-H-oVKgo|m|A=^NbiAp45N573`WzyXc`!hG;nH-
z!vE82<-r)lCKZG9;xpswZpZ($#P?4o{=a`B{yz#069b78gJJ5CX(;>E^@jhn#9y8+
O_)kmx|I5Muw8Q|W59%iX

diff --git a/src/data/themes/default/listitem.hover.tga b/src/data/themes/default/listitem.hover.tga
deleted file mode 100644
index 8bdf60a8ed7809db720aec37fbd863cd9ed80887..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2226
zcmZQzU}As)2?lWn1(olg@BfG3hd>&HVSG|)?E2q7+y9@I`1$RH|1t2b`Tw62iwWp|
zaK7O`E%Eh3iT@!u9!P^Qh!0~EL*v(fVY|csQ9K$3qiJ9?4GcsYxPBn~KNug3{C}Ms
zOhEsGGX?)?iJxC<|Ns12ClJGE7#qYV7Q^&_Xc!x!_x;0#|7nT8zuEc!`|Iuh;WUU%
O3MQcc|M!dkX^8=OT$fe=

diff --git a/src/data/themes/default/listitem.normal.tga b/src/data/themes/default/listitem.normal.tga
deleted file mode 100644
index a2994aa020df6a19e1a18400a799b8425b1cd732..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2322
zcmeIzAqv1S429vaQ&djupgmYshzNw5ii*;^yfU#PJTnsbY()4WBA0wqq{#j3y}`8B
t0@IumOk)f%MFg143{0&xq`W~kkPZB?0aXQ)yMw9s4kqSre0SGcsSfonSTFzp

diff --git a/src/data/themes/default/menu.down.tga b/src/data/themes/default/menu.down.tga
deleted file mode 100644
index f89d4b4fc4c26282fb6f7a491cd16d9a634b866c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 528
zcmc(cp$@_@5Qc9A#S_diN#H4X2sGhISQkh}rfUhB053p7z`;nS7|1Hj1ep4xf0uQA
z11hfHcipYMmZ(R~2q~m!U`?9HakIdZ&46-%pubNR`tvZs&<YfQT&e?VGPcf?5z9(#
z>)%*iszPw8ia86=0_1&Mo+h3q_rr)qei$-=Qjh=zAV31}>d))C1-6^XzpK5vd>5Hx
x@B5rNB1Zz`bx<D1wRTMltZp+_*QuKY5*ad<1js9{Ua_zGz44XxrB!O5`v)^X@e}|6

diff --git a/src/data/themes/default/menu.hover.tga b/src/data/themes/default/menu.hover.tga
deleted file mode 100644
index b304b8745a621fe1082a4a7a71e99f5094edc88e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 441
zcmd7PAr8YJ6vpvayAxDS?wF%$$uyVX2q3`YP<Vm{M}m3lx1{YmLJ{Qu13>_y2OVRj
zm7cG^^gi?Z*kH~302xcH=bVzgcga$UWJ*bJ3n8%b-ZP;-D1};3hz%hQGsfJC3!cC^
h$I4pE-?Qi}g%UT2F-qo~C2Osctu@Ip#zngR<p(v0zi|Kn

diff --git a/src/data/themes/default/menu.normal.tga b/src/data/themes/default/menu.normal.tga
deleted file mode 100644
index d3eb2d0177cf0bba4b4e22cad8d30de94849a5e7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 78
hcmZQz;9`IQ9tIu;1&!|iKmZ}WfB*i!8%z)>1^{}>HZK4G

diff --git a/src/data/themes/default/notes.txt b/src/data/themes/default/notes.txt
deleted file mode 100644
index f6541e4..0000000
--- a/src/data/themes/default/notes.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-dot and box.xcf:
-
-color -170
-
-.down
-.hover +64 brightness
-.normal, grayscale +127 brightness, +48 contrast
-
diff --git a/src/data/themes/default/out.tga b/src/data/themes/default/out.tga
deleted file mode 100644
index 7ed46cc770ccb426951607e43af1dbe07c238d3a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 795
zcmds#p^m~p6h&XRS+ie&MDAySL_&gRh6-p32`K`6Ef_Eu0tAbK;IIhz1jOB**(_}K
z6ShgG=iPVjOxqc=5Bs?)R<Y`5QmfT$P!0;@DPziJv#Hf;rR(*o{^Rjb4584$5xkDT
z8|7p&31)Y@-PF6^?|O#-o}{s0eTIx`I2>wpKA#mqD4lW$lUk$E(0aX=-)^_ccDtQo
z2tcMC%n`99NtDlKGZ}=gpr>gnH=Rypyubi*Pz2F@S-tnlNgMR9^{~r)>Uca>p6AK{
z2YJZ4-R`eH&~CSt7eyh1!k=LVD{sx`b1fDN`Q>t{9%PV%VhF%guh&ELdvl4lS}l$C
z`@JFvrBe>}JRxGW!{MOxbUMi$k4ME25-k$J{5rWTl4Y4Tn~nOH%SADSLWe-`{yF(y
DcjCJ*

diff --git a/src/data/themes/default/progressbar.bar.tga b/src/data/themes/default/progressbar.bar.tga
deleted file mode 100644
index 184ae9c05106d72adf0ba24827500803501c28b0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 563
zcmc(dF%E(-6owzh$rCU-dJJx1oCr7Y2$pC7nL8U!L7Y@(6Lpb92W62#69$Hk&;Agw
zH?T=xzyDAFw!A<zqHfq^(|AIT<B-&a7a#&j)&r6)6jc{2RQ*6HI09Lq-Wq^9r^yj=
zvU=^>V;Z?C?+J(HZNmbz1R0y3r-dQ?Jo8xOnaczUL0WojfdG1kYXsyuZ9jqAyZ<hm
z*5!wpe)fLKaZl8f0GS;)&RaQjboa_@q-W5t0!9p{AzcD9Tos8CR_~P6XUpBX2KaES
P&JqCQc2<|4H2#P$&*VZh

diff --git a/src/data/themes/default/progressbar.tga b/src/data/themes/default/progressbar.tga
deleted file mode 100644
index d459763abdb98ec8522e1e8a25cba7a145832c90..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 412
zcmd7OF%H8Z425B5?Flkw>@7($^#ZvWBZ7qii3Jvr5R%)cw$kej>goR`TNb&=cUD<t
zyNjxt%NV0ON>JCUbVt28=VbQYnWYqFN{M)e5cKfgtDqjJ1GS(KCxVt)YyXhWIld~!
T$jmu2Ypu-I8gq>C;qU989V!M@

diff --git a/src/data/themes/default/radio.off.hover.tga b/src/data/themes/default/radio.off.hover.tga
deleted file mode 100644
index 6b0f7371ac3b374bc3ea416f800d17c29abb53f9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 582
zcmZvaJxjx26oqdLI5_nuIQlbU>Q+z@KTs!iD1x9kINByeq(mn-q0~--s5n_V`7!7s
z*rhF4&}3<ciiKt<qH=uCD{V#0@aDPao^wfVA~Gc1D<&}+9`P*8k{xwGlgrX%IXg3r
z;^i^kn$K{)KHp)IsIWta_Bsp<u-x}kh*~u`o#+LFohSsMduN9ZI(r#m<)$`~Y1OY_
zkf@~9p=U}Wkw93^!fia|;5BM_m?Q#awzb({%-dduA3UZZB<j%mX?6jA^>ztzmRtO#
z-<@0VO9cx;>ihrE^+rw(CsDnbNA-FR9>F2GBw?>VVQYO{J;}ocgrs#&5Zks8lsq&l
zyXuuH85ksjLoi7MdgAt|PW~)HrIB2jP>TxlFi2E5S$f;VT5<~Q`UTw1Yf*iMW&tLN
j5?f4YbN?fc#cdqyts*EN!TD(4!z58*hXL*V^OJl7owGIa

diff --git a/src/data/themes/default/radio.off.normal.tga b/src/data/themes/default/radio.off.normal.tga
deleted file mode 100644
index 3da51d84e18e68f990517804a10a460d1c022b7c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 537
zcmZvZA&-MV5QS%pJJp|X^8O`kQv}6=;1@JOK|r;l^*Dm4K|oVgQA7n`-ti{6-le$}
zn{VE{ncbZg`H-KrmbH9-ZC%$Df7zh4VdyZ7q6lr<VwxscEXyHLVTKO%S{AGro=zu>
z;|PDAXRJt6n0a}GQCXG<hGBpqQSp{dd&q9LL)Uc(uGcFJiHhb8ooSjPtm_&=q7K!w
zEQ39t&k&yJlPt-Q@;v`z-S77ZSuLdB7XRov2U?HEBMyfHwggMsklrqlBniT*svsoo
z%)yA~d1#sj!R2y+AyLssX`Zi$;~2s1c7q{N(fn(2V9Wdc4*&6ZU`3)rqk8l&^uE?w
X6h(o)?_r<MCma$LW>}!!w}1ZzTV6@5

diff --git a/src/data/themes/default/radio.on.hover.tga b/src/data/themes/default/radio.on.hover.tga
deleted file mode 100644
index d26764b3f6583b8cf94d4a70a5ef6fff5e5a05d8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 637
zcmaKqJ4*vW6oqFqU}2S?VClbDH+BIP@qt>YMGyqV!qT|2n~1N<P6#oTASzadR6YuA
z1k)q|1DZ5R5iyVyK~y--nGiNuxW(>w&pr3<%$*TpQ1qU#2#cZN1jD3l+c4xYlniI4
zr;xio#Yf{6>gW3tl0=0WI*eDbAjI%+KaO^@4Ap7BVW88lg3$XiLkFGR8Wx%;zJa}F
z?FN?8M8#z)#8)&LMYWKESAR((Q7>m8Nd(GFyYyKs^S73es620*{#_E(Tqcd<JT(u$
zbiW8+*K|o-q!;=e50`ph`K*m39fkz8pvS)sGr6<l36$>UP`aIkBACAkh8{yfL(p(@
zZA>rrX}z~>O@f+nNbb&YY*g|->ct&BiQ+CS5<w9pi9k=p8R?rJcOF|F*YmArV3DY}
zY#JQgYHSj%+7-OcdrqHTBMV8Q#1t!xIk+365eG*HE2tDspuSp<kR&S1u)ui#+^t_k
CuRm)5

diff --git a/src/data/themes/default/radio.on.normal.tga b/src/data/themes/default/radio.on.normal.tga
deleted file mode 100644
index 42515feba21585bd1965039604000066baca5ec8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 646
zcmaKqO(;ZB6vxkfuPhXXrWEqELbAcaLdnKfnZ>N6Buh(@kN3t*Q9`jKwqjPZQ&{<!
z$t>iVmEMLzjoHjXSp41pWj?a->c00o|MNfRzIWagsg%MMkbtyyL>b2Pf}sdQn_*L9
z0}ggq@%(rT_v`Z=Hi-%|bQrJ80*m4F<QQ@<H*oWBcc{qc?m;L#nW2NuVhw8%4h>`N
z)jxzHQE{lVr_@weA#*v8h@W0U)K5FGNd(GFJM<~N5FYJD)H@BC{y!wt=zwu-F0{c-
z#k-)A@lFs{m=lsqNs+b|+skSa+xkn-_XK80hJ;$F>%R^&%Z<4pl1D8_9XIQJH2iL>
z!w5rJpAD8Z92u<DuYWRB_z+D(&1}hrqLjcp3&Xz}*R#2vfFcoGf=wdOV_D@B)y3%R
zsnZkBEJKl~IQk~V--3bOdSoAV5X(R9!y-|k(RfOS#I_Y?ruyMsIB-9*3D_hm%&@?C
H{~WS!tql^W

diff --git a/src/data/themes/default/radio.png b/src/data/themes/default/radio.png
deleted file mode 100644
index 7596f4838dcf51238a5326248c71ab3896e78aa2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 197
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b
z3=G`DAk4@xYmNj^kiEpy*OmP$yQl~&gYAsP89*V~64!_l=ltB<)VvY~=c3falGGH1
z^30M9g^-L?1$R&1fcGh?c|e7lo-U3d7N?UFBv?(@|1XqKPf%Gfb3v4wlIi1+^DZmp
iHNP<(ZM5K8!N8Dh#m=N>d;cy_6N9I#pUXO@geCxdIW_VC

diff --git a/src/data/themes/default/rdot.down.png b/src/data/themes/default/rdot.down.png
deleted file mode 100644
index 35cd4fe50694e63bd35a2ab903f525865f69ed8e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 525
zcmV+o0`mQdP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00006VoOIv0RI60
z0RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_000McNliru)dv+54IT;s0)_wp03CEi
zSad^gZEa<4bO1wgWnpw>WFU8GbZ8({Xk{QrNlj4iWF>9@00D7HL_t(I%cYaCO9D|G
z$3G`mMuH6@C?}j0{RIg{v^fMvV?%#I4sp#nG&OW{(qLOt4Q+vg;^0(+4yWKy&@6~T
z!g-qJYcP*HQ&9RY4}S0czTfYAzweWn4Kb%KO&5IAjWI<L_l7~kG#T19L))fdn%o-(
zF+~y6<ZechIzGlor&;m)e|IGi!dVCXJ{Q;5WS^d#-U)#?NhY~TrC0>#*({I6;zR;A
zf<f`B>#WJL%bPUgWyWrLg8_S)44<8jBm+WIRYq@bbXgpls`5~)2^nD5vasrPkIL-X
z2*=%Cug3!*18jYKETs;xIcJPZLk4&chdBrY=G%8!pP*t{&}@zg^55Sa#^XyV7phgq
zfs}8z1<@$$tE*lIt`NC{)&2USP%3#mi9{$wPS+P3VJ1Vl)%uebu^)->e0hmK5SV%Y
zzGZQAb;V1g@h8g8aoOkNERo<;)7akG0pPt-;Vzfswp?a78hQGp|9<BmIq-}ggd8of
P00000NkvXXu0mjfMPJre

diff --git a/src/data/themes/default/rdot.hover.png b/src/data/themes/default/rdot.hover.png
deleted file mode 100644
index 5cd77a29275bcafecd92d50bac441f0df47b097e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 529
zcmV+s0`C2ZP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00006VoOIv0RI60
z0RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_000McNliru)dv+54i+!>*>?Z{03CEi
zSad^gZEa<4bO1wgWnpw>WFU8GbZ8({Xk{QrNlj4iWF>9@00DJLL_t(I%cYaCO9EjS
z#(!rg2@ZuCS~(jXwFG6GN4pTNL4rj8Lt9hzH$;=rDuHu><Dm!*4LXR!>5_;k(y7;d
z4eE8u30BYY!uRn#@AE$2^Gd3!;sSv?r1=AR{^3R_#6>E_VLZ-SGz!3nu2a-B9&$PH
z-fGPdNe%@fnMiPXc82WrPHrU-!mj3M#QozV`9i@anJN$`2M1(S6|>R6WHB<TO260R
zrCb((Bm?;Ue$tA9QLj6um0X+|t4S*gTBSn2-$w?-aX5_7bp|Yt<8YYgT206RyN1E1
zv-=WIhC`mG9&9z6zv>RKIjJ802^m0NUuWOv`}s0A^X81L8U}PaV}g=paTJOCs&lDU
zvlU3CZdVWtvMS573LGJF25VrNlwM!4b6^3t#Ugj9)KcBAb2+RD=}eUO0s(H$&++<v
zuJex!gR5+ow|3i(vNX4iV#VX(bZ3WTJkEA320)`)C9i2bRVsX0*1~1_(>i|xeXx&}
Tf4`2100000NkvXXu0mjfhHKk!

diff --git a/src/data/themes/default/rdot.normal.png b/src/data/themes/default/rdot.normal.png
deleted file mode 100644
index 636a207a8942c742d4a0c059298ae25103c04b24..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 370
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6n3BBRT^Rni_n+Ah<Z%{wL>4nJ
za0`PlBg3pY5<o%r5>H=O_N(lo!hB{TGk=2A$(FcAlsM<-=BDPAFgO>bCYGe8D3oWG
zWGIAWq$;?3`UbpDQOyG?yyfZQ7@~2$_2NQ5W<~*)3)`P$1o`kcW_f&I32Jl*T`W-J
zxPQVD4LgQL2gkq!j!nMYY#ah&h2^T#w<KOs+r8O(v#_%FlX%Tpi!x^2_LI4B@XFlN
zF;|=on{3KfId~}6?k?~Rk^XeyLbqAly*tY^UP#T@#_yf@;NWhjZ@O#T?k9_toXPUL
z9q=MV&#q?O%@57I{}&`U-?W<Gy|X*(!PR?G--Njg&+5)LU0xOZb%Va~q6Y1B?H|uK
ziAfeG$1V+8xqSH*Q#18hIwv-~KcP48?vCkOFR7jNm^^1q$8Yhc#x|SG^6q*8eaYbI
L>gTe~DWM4fK;(`+

diff --git a/src/data/themes/default/right.png b/src/data/themes/default/right.png
deleted file mode 100644
index 613779e969fcf56922802cb40da215df628d556e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 206
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6n3BBRT^Rni_n+Ah<Z%{wL>4nJ
za0`PlBg3pY5<o%r5>H=O_G`>M970lk4j!+8Lb4^U5hc#~xw)x%B@E6*sfi`2DGKG8
zB^e4K8L0~Hp1uL^Q&jVS3e7xS978nDCnqd0{?V^_#KnVCSTT6UhUhQy>zUZv{`VB9
u`n23R+i|td?N469k@p^MLd;!!3=Gi<oZSBJOL~DOFnGH9xvX<aXaWHJDLh&L

diff --git a/src/data/themes/default/sbox.normal.png b/src/data/themes/default/sbox.normal.png
deleted file mode 100644
index 00be882993efa8ee7bdd3d3c3840441901c0a36a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 232
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6n3BBRT^Rni_n+Ah<Z%{wL>4nJ
za0`PlBg3pY5<o%r5>H=O_G`>M9Lxf?K21-7Lb4^U5hc#~xw)x%B@E6*sfi`2DGKG8
zB^e4K8L0~Hp1uL^Q&jVS3IjY{978nDFTH5U*Al?Pe36rjd;7ngCP{)$%a$nV&G>b)
z*LiW*^;HtDq`Y>#@UoD#kojS~fmuO8fU(1Y|HiFW&fr78Bz5@y$jp#EA=a|{H`_g9
W1MZ(9LUVy;GkCiCxvX<aXaWGS;6~m6

diff --git a/src/data/themes/default/scroller.slide.bar.hover.tga b/src/data/themes/default/scroller.slide.bar.hover.tga
deleted file mode 100644
index d0b85a9e8c988a3957a031f7ad346c1f2cff6c72..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 342
zcmZQzU}As)P6kc}1(pB*|1(UTI`uy;43potZ{L4h7^W8_f9uvQ3=9$<%xduY3+8{A
J`_XBTJOCxv|1tmo

diff --git a/src/data/themes/default/scroller.slide.bar.normal.tga b/src/data/themes/default/scroller.slide.bar.normal.tga
deleted file mode 100644
index 84ff6bba7bbdeb99e367ba294ad6b628538625e0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 342
zcmZQzU}As)P6kc}1(pB*|1&f+H2lYfVe-qCE&GoP!}NmW4;(mvfkEPfSq(ma0sRkm
LJIoKrG)Nu*z1{2X

diff --git a/src/data/themes/default/scroller.slide.h.tga b/src/data/themes/default/scroller.slide.h.tga
deleted file mode 100644
index 0281567b20347eca96d516f954e9310cbea8eb9c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1278
zcmeH{F$%yS3`IjP(5ZWep57zq5ch0O?jGdJF9f<4byIlYl1E5B5jn))C8yjE0I9WN
z7WA1JRuE$ZNhuBE{m~af7>1thw0A#yo@04hou!;Jh^qePTgSg=zLbJl(8)W}TEi^p
E>$hF&0RR91

diff --git a/src/data/themes/default/scroller.slide.v.tga b/src/data/themes/default/scroller.slide.v.tga
deleted file mode 100644
index cbaa875fd5befa961c44d3d55aadf3c3c6a0ca9a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1278
zcmZQzU}As)eg;tn1(pB*|1+FEefmGC7^LsUjT>NnyLa#YziZbng80CJ1OG2wy7d3?
z<H!Gz^{!gA>OUd8fB*gg(K{5~JWydZYVYa)pu9jREraBTOIU&OJu&{pmXC-jGeByP
J^-@w^0RW3P>j3}&

diff --git a/src/data/themes/default/select.arrow.down.tga b/src/data/themes/default/select.arrow.down.tga
deleted file mode 100644
index d7210021954d1a01ab58930a8ef8be840e0043f7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 344
zcmZQz;9`IQ2?hxU1&wJy?*9gm*tGvZ0Al^`|MKq2f5tEGul)xx8bJ&u5DO*(Ry6I^
z{Z&xq_s`Y;Z@ho5@qY`51(ChFFBB?!YMs{q#?$Mx|1*MEAVw320a12f9>n(l(`d%(
zKea{y=zz8I{~6${Mi2|?(A|y@)};F<;(^{cnFu6+ET|{1H$Yimo-Tm0{(m_LWii0Q
F4gifTtwaC-

diff --git a/src/data/themes/default/select.arrow.hover.tga b/src/data/themes/default/select.arrow.hover.tga
deleted file mode 100644
index 162d8e710c6af869547e5a9c6007de6a20353e19..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 363
zcmZQz;9`IQ2?hxU1&wJA4i5htfCR&||3Cm@{qO(&`Tl>#@1Gz32QeB!3?>i@CIVJ8
z?ftX;Q032W&Hvx{{Px2CEg%*|_QClEsO<Ga@&6mIA4>es2x5U4O&|tD*@f*8+y76a
z8LR*L!APJ34ut<_fU_DwET}`z6hK&$o?mMRdgEFrh-in(zJIt7!s`G2di(#T?{9Vj
X0|v+fF&aS(h#~*KUxcz8V8IChiHq8t

diff --git a/src/data/themes/default/select.arrow.normal.tga b/src/data/themes/default/select.arrow.normal.tga
deleted file mode 100644
index 162d8e710c6af869547e5a9c6007de6a20353e19..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 363
zcmZQz;9`IQ2?hxU1&wJA4i5htfCR&||3Cm@{qO(&`Tl>#@1Gz32QeB!3?>i@CIVJ8
z?ftX;Q032W&Hvx{{Px2CEg%*|_QClEsO<Ga@&6mIA4>es2x5U4O&|tD*@f*8+y76a
z8LR*L!APJ34ut<_fU_DwET}`z6hK&$o?mMRdgEFrh-in(zJIt7!s`G2di(#T?{9Vj
X0|v+fF&aS(h#~*KUxcz8V8IChiHq8t

diff --git a/src/data/themes/default/select.arrow.png b/src/data/themes/default/select.arrow.png
deleted file mode 100644
index 19de7608b2ab5532393829e773261757d94b49df..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 156
zcmeAS@N?(olHy`uVBq!ia0vp^{6Ngk!2%>}d+x6RQk(@Ik;M!Q+`=Ht$S`Y;1V}}R
zr>`sfRd!J}UM?=P?Fm33Yfl%)5Q)plDG5LzkaB?S-eHMy$$!ZQcAwBXzrb^zqj{G3
xq$hbfWow(f)+HTaOf&kEKI3Eqd&z<##!otm`#r2yN&$^w@O1TaS?83{1OOi>Eo=Y)

diff --git a/src/data/themes/default/select.option.hover.png b/src/data/themes/default/select.option.hover.png
deleted file mode 100644
index fd9dc2115bc7f5d5082c25dfb71ba0d300aed608..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 190
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1SIoCSFHz9Y)RhkE)4%caKYZ?lYt_f1s;*b
z3=G`DAk4@xYYs>cdx@v7EBjS;QE^QMw)bW8fkLt+t`Q~9`MJ5Nc_j?aMX8A;sVNHO
znI#ztAsML(?w-B@?^9IsfC`m7T^vI!PAA)Z`fAT?${@@<^}q_p#caJ&CRrCijEVdV
Yj;EMjXfFQX2UN}A>FVdQ&MBb@0PCwXZ2$lO

diff --git a/src/data/themes/default/select.option.normal.png b/src/data/themes/default/select.option.normal.png
deleted file mode 100644
index 627790d726869468c8bd45a9d23ca90a5df374c6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 172
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1SIoCSFHz9oCO|{#S9GG!XV7ZFl!D-1$&97
zuPggic2PDik^L1iM}R`IC9V-A&iT2ysd*&~&PAz-C8;S2<(VZJ3LzP(3hti10q;{(
z^MDGKJY5_^EKVo?`TyUZ*_1(;dFp``j*HoPrA)FefEW|`86+<<>v{@Z&IGDv@O1Ta
JS?83{1OUG4EfoL&

diff --git a/src/data/themes/default/select.options.png b/src/data/themes/default/select.options.png
deleted file mode 100644
index 477a8264a0517c31697ae2635546d97044c923a8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 181
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1SIoCSFHz9oCO|{#S9GG!XV7ZFl!D-1$&97
zuPggic2PEV4b`1;d_W=D64!_l=ltB<)VvY~=c3falGGH1^30M9g^-L?1$R&1fcGh?
zc|e8Qo-U3d7N?UF76>JzBqaR!|KEP;G6N%{z|*da*?Of+vM#J}T+GHR+q{B}!Mc@M
U$67OcGEf_Xr>mdKI;Vst04J<3!vFvP

diff --git a/src/data/themes/default/select.selected.down.tga b/src/data/themes/default/select.selected.down.tga
deleted file mode 100644
index 7d952a043304a6c8e28b9001ac841af34e82ad32..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 322
zcmZQz;9`IQ2?hxU1r0E78j$=CV*Q`?9|#yhtS|4c{crs8?h23qvL=F95EZZPuY#~z
z@1JY@KjHqldZ@(JeW4Im)9H2E{~J%O)B4W<Vod<Ez@{IV2eXG3EU>#ztx@>jczUh;
z|H&X0#K~88JN{<@IpF@u#Q*nC#KY-EkiZ0x2-I)a8=$N&PZvO0|Gyjrvlzgk1OO@e
BlEwf4

diff --git a/src/data/themes/default/select.selected.hover.tga b/src/data/themes/default/select.selected.hover.tga
deleted file mode 100644
index 91dd7940702bbcb47d25770e3498ad97417ce494..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 338
zcmZQz;9`IQ2?hxU1q}uV2M2~}K;l1$^?%xbAYcTszJGrBzw!I$`yk@s|A`<LM8*4O
z`ys5>=eHOBpYZ(Fe5k~O^9>MI)Ad7%{~NC#ivQ05Vod<Ez@}f=4zq_AEU>$;AB+Ur
zeIWe*WDpDD<OgR8{<DA_@cddQ5VynWMv%Y+kO<Uo4;Mldet*6F|MxdL|HJ4>AO=Lu
M|L+&UEJ&yU07kpMWdHyG

diff --git a/src/data/themes/default/select.selected.normal.tga b/src/data/themes/default/select.selected.normal.tga
deleted file mode 100644
index 54b8927a5efe15c587d7d2c03e3c7db0a1f412ec..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 282
zcmcJ~D-OUQ3;@v1?gW#QyCyrqk|jF?M*smHhr$yyI1)?;r8~kZn%AW12VjLSHrQZ4
zsCs(FA$+jMRBMe@N@2wqS>F4p(^`wd7=ti$k!X~ZlAHg~GInUKQ7EPG9-4PM=U5>G
PR!WJLb7s|ANkHGfvCDyW

diff --git a/src/data/themes/default/slider.bar.hover.tga b/src/data/themes/default/slider.bar.hover.tga
deleted file mode 100644
index 5e5c53ac1428b920b58b7def0ed2e9fcf7c46617..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 776
zcmds#y-EX75QQf$Ha<a0OCMw1*acL?AJj@Mf*>dsmL|I_m}pYSc0!1$1W~avr1GcG
zMlekhFrd3lQbY_SMG%$aJy%S`M{tX~-<&z;7I#KuNPfPsgk^ZdHBD18>VPJPrNMG`
zW*WtdBfK`Bkox?1gF&Lg4jtNSGcdq1vlmCFRfFB_JR{ld1Q;X{_-Bh2T6-a3<-|9!
z->P3CM52;VhrU#z(I|p)7Ea?ahjgQshe0AxW?P#>jJey(@cf4aghU-$Kglk@tKKX@
zPIHUD^xHENUa4S0NPYi5)b&V@4<=E)o=5d+4rzi-a!A5n{{^<z$JI;TZ$L;|=M7?6
zCj63%MrB8hq>@6CBqW<;kO(wItWh2Po}`K+wlbk69pn)rQQ_6nTL-MgrqHgRW4HTK
pREyLsz#vg#iwSM+ujyFCf|p)}Up_?Yy?qCRM1>s&wD-@Ne*qx=op1mE

diff --git a/src/data/themes/default/slider.bar.normal.tga b/src/data/themes/default/slider.bar.normal.tga
deleted file mode 100644
index e9371c7448e8b84155f06771fc6db8bd046e779c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 729
zcmds#p^k$<5Qc~1?g=VS-dn;pXG#u1prTJef+}eh2=KV3q6Ps3RY3)UV*cZw<a(Dr
z!mZeR^UpuCu(Kj>^0U^mmiLcO$8p48HYjZv+6<#8LS5H*JRaC$SvH9ZGjyoeuwcco
zC<;u|1b?1qtVmRtd3uD=>2yMHzu#ezsJP3fJ;d`oG);q`>pEB@Dw?<GOp*lQ`Fw_u
zs6+L`;Q&*XC4^`CBtx=DX`24A#&L|0)k6Ah@eg&KBY!o|b7WbDFM=U$NH3ST-|rDt
zRRtmG&2X^dx-Kr43xezQ3X4QVhoX5-VYk~M==&ZPiHhc*lLuSgZa4VDFknTZLZf>0
cE$R0fV{kkk(Y7tN<2b@5QDKG!>V0{)-vq(I!~g&Q

diff --git a/src/data/themes/default/slider.tga b/src/data/themes/default/slider.tga
deleted file mode 100644
index ff3b4b2441783bfb9e173697c482402673d69250..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1231
zcmeH{v2KGv5Jb=Tpzs&COqtI-I}Ng;{DeCfmK%3&p~Ed55*4CAazO!-@x<>U5*IX9
zlr9u#*qL2+_jb>ig&CivS(=yEwR6s_B$?TEyVY*DQ@r2r6&wx+0kEv$S6<1>@`)P$
zbUG<X62)1T$)3+=0kFWJ@X_yn&P2RM=i~9HG)<M~xyrIsTve6Ax~>Jl0)qmj4-!54
z@|&V4)HIFSwpHA9oua<)1;7G>0wpmV?mh--5gGP!xd^Z8^{UM<46-0BFep%Z-;kmy
zi_D0Q3YYiW?WQ>h3k(W})Y3rOK}BRm^bhm_2n&ouV#$ka=>Sy_@k<NB0^^YUYyY?p
zECA!oM2_dY;oO*Dt^Em(CyvG;e(F@7n2eCoePZ%{JL!JiEK4)FW+4rkS~KrwSaXl&
dlS^)=mi*_A@n}Y|-}g%Jc(1%s-2E5Md;%c^=}Q0r

diff --git a/src/data/themes/default/tool.down.tga b/src/data/themes/default/tool.down.tga
deleted file mode 100644
index f89d4b4fc4c26282fb6f7a491cd16d9a634b866c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 528
zcmc(cp$@_@5Qc9A#S_diN#H4X2sGhISQkh}rfUhB053p7z`;nS7|1Hj1ep4xf0uQA
z11hfHcipYMmZ(R~2q~m!U`?9HakIdZ&46-%pubNR`tvZs&<YfQT&e?VGPcf?5z9(#
z>)%*iszPw8ia86=0_1&Mo+h3q_rr)qei$-=Qjh=zAV31}>d))C1-6^XzpK5vd>5Hx
x@B5rNB1Zz`bx<D1wRTMltZp+_*QuKY5*ad<1js9{Ua_zGz44XxrB!O5`v)^X@e}|6

diff --git a/src/data/themes/default/tool.hover.tga b/src/data/themes/default/tool.hover.tga
deleted file mode 100644
index 184ae9c05106d72adf0ba24827500803501c28b0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 563
zcmc(dF%E(-6owzh$rCU-dJJx1oCr7Y2$pC7nL8U!L7Y@(6Lpb92W62#69$Hk&;Agw
zH?T=xzyDAFw!A<zqHfq^(|AIT<B-&a7a#&j)&r6)6jc{2RQ*6HI09Lq-Wq^9r^yj=
zvU=^>V;Z?C?+J(HZNmbz1R0y3r-dQ?Jo8xOnaczUL0WojfdG1kYXsyuZ9jqAyZ<hm
z*5!wpe)fLKaZl8f0GS;)&RaQjboa_@q-W5t0!9p{AzcD9Tos8CR_~P6XUpBX2KaES
P&JqCQc2<|4H2#P$&*VZh

diff --git a/src/data/themes/default/tool.normal.tga b/src/data/themes/default/tool.normal.tga
deleted file mode 100644
index b304b8745a621fe1082a4a7a71e99f5094edc88e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 441
zcmd7PAr8YJ6vpvayAxDS?wF%$$uyVX2q3`YP<Vm{M}m3lx1{YmLJ{Qu13>_y2OVRj
zm7cG^^gi?Z*kH~302xcH=bVzgcga$UWJ*bJ3n8%b-ZP;-D1};3hz%hQGsfJC3!cC^
h$I4pE-?Qi}g%UT2F-qo~C2Osctu@Ip#zngR<p(v0zi|Kn

diff --git a/src/data/themes/default/up.png b/src/data/themes/default/up.png
deleted file mode 100644
index d42c3242a019103b7b30f019ac1eb92a99aa1886..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 195
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6n3BBRT^Rni_n+Ah<Z%{wL>4nJ
za0`PlBg3pY5<o%r5>H=O_G`>M9723kX3d!f6p}4*jVN)>&&^HED`9XhN=+<DO;IS%
zEXhy^$w*aj_w)^TpQ4%vRH*Ig;uxZFJ~?55`H%A-<oBCMx)~&yHVN)-`hUa3=uruS
j@+zjBcgZOdW(*9AiZ~hAWMkF<wJ~_Q`njxgN@xNAZ-F+u

diff --git a/src/data/themes/default/vbox.normal.png b/src/data/themes/default/vbox.normal.png
deleted file mode 100644
index 9229c87649a430c04b06cfb85886df720af6adbe..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 233
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6n3BBRT^Rni_n+Ah<Z%{wL>4nJ
za0`PlBg3pY5<o%r5>H=O_G`>M?9#%zOgz>=A=whwh!W@g+}zZ>5(ej@)Wnk16ovB4
zk_?5Aj8p}8Pv3y|DXMuug@K+fjv*T7mrgX~I$*%Ve17gNCxyTNg`Hmpytw4}v!R(S
z+ir<5pTipA#v|vCpFVt+LC>o9*vWGT+dP>vcw4dqnpAm<_`Y)9b~w1O&UKm8ySu^{
XWCi4uYlY_n4QKFl^>bP0l+XkK4WUU2

diff --git a/src/data/themes/default/vdot.down.png b/src/data/themes/default/vdot.down.png
deleted file mode 100644
index e9e781e23e8b7ba4dbdb695a040e7d0c0f74254e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 540
zcmV+%0^|LOP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00006VoOIv0Du61
z0Dwd&lT82s010qNS#tmY3ljhU3ljkVnw%H_000McNliru)&mR%7aeEK1P1^B03CEi
zSad^gZEa<4bO1wgWnpw>WFU8GbZ8({Xk{QrNlj4iWF>9@00DqWL_t(I%bk-uEJJY=
z#((#w)gn=YSArm33loXP$RHv%f=z@lc*P(QuL#n_<}nZ=MiQGe(stD@7z`u`3lb8K
zE-lse{td0$hh7?I`sXC)JKy*J&L@$$ghpTbt06K>nG`iN<E=JxlT!*n_WdP6mxDK_
z0}%|y%tZr;#`Z4EV>4X6D_pp}oVz^$6lbJSVoE1Z2lml!Ue1oyS^0aot#^R_rDakK
z#;}H;DpFF@7}~XxS6i>jlmYS!3Yl260HB~<a+vS*-T|^s$2Wi&o?F16*Aq=iic%+}
z&|3+UN;ev)?HL3RGC*@vlZu{fwRHDI7FOhDsptv46Cy?eKuu+N4CAC2Bw8W^Ts=Mi
z${^8_)644!z@g0+*^=ZRSa&v60BL1*3ZLH}cgxz8JRd$zw$}h88Q|gm4$I_3+>LA7
zIN#BV5(vcFzQ483#`p*U--o6PpYL8)J6m`>ajB=Q875Cv9k;n<p)fsM6Li{mJ+gzM
eXol%uasC3*u6-Q4HbFN40000<MNUMnLSTaRv((!F

diff --git a/src/data/themes/default/vdot.hover.png b/src/data/themes/default/vdot.hover.png
deleted file mode 100644
index 74e043b2702af9d2d58acc1e23a80291f8a00e89..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 527
zcmV+q0`UEbP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00006VoOIv0Du61
z0Dwd&lT82s010qNS#tmY3ljhU3ljkVnw%H_000McNliru)&mR%7ZGlINGt#V03CEi
zSad^gZEa<4bO1wgWnpw>WFU8GbZ8({Xk{QrNlj4iWF>9@00DDJL_t(I%cYaOFN0AS
z#eetpsx%#_pg}}TC1oMinA+Gx8VQL>h!7_KfWgOt#bgsA5i5x_(%C3w5<>@rPy-UF
zYO2-VYtdV8KWO4?_ax`s=Q;Nt5eNh*14Vg=V!|vIIvfsM14E>{dWhAx0?_dCfV{aR
zaebwf%vp?n8mNB%FrLX7?lX$JL<*8=0POBQT>XPInGo68Bz_xJc@rZq_KyY$E-qo(
zY*a#xt&Z`PEgIdudQAhMskw!z`2_%^s;JkuO|NcX)R>x66SH%e<~Jcqg?Ur?eYV?b
zagU4vC<DOf^=kKOAQkvVf`zHto%Pzi?C8R}0)V@t-O5!nfh;oAy4Y*{*9pp961|TV
zxQj@nB(T455e{hsaeS~(Hk++F#8l>!X!sOB7yvKNPaN&-{+jyF3=Y?qk-4npD~t29
zkV?EK@l4KCe1%*l&B^u}@!P2GgD7gFF4IS6H;>LXOPSuTFF{I6nZ$qV`~`hkdJ-~Y
RJbnNG002ovPDHLkV1g8>*+u{W

diff --git a/src/data/themes/default/vdot.normal.png b/src/data/themes/default/vdot.normal.png
deleted file mode 100644
index f64089b67bb732495a850e5b8aa5ac07178e0c3d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 354
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6n3BBRT^JhNO&16Od7K3vk;M!Q
z+`=Ht$S`Y;1W=H@#M9T6{Tee5o0z53)r-@CLb4^U5hc#~xw)x%B@E6*sfi`2DGKG8
zB^e4K8L0~Hp1uL^Q&jVS3Qu{uIEHAPuf4d@i#brF<>C8#9xiJ{a*in3IS8<DA3Su;
zuSW5{$D17AR7DQ4Wj>-DE*={?795f3KARVDvvk$NdGim?HGUbk^hU%=ljx@f;peyc
zmz?ocx)#8AWad78<M<oJImZu}s2DxE<eHcx7H_R`LdN3y5^2fEn3G%QyKa3t<%CS;
zWlp2J_UA*LezShqZ*+g{;Yh}w=*IArmj_opyr#2vg3<eVQpxus*ZR+uOI{f7y|E<U
uOKZ2sdBZE0zc%lj*jW|1q;>nTUG<FOUyXAaEo(s`$l&Sf=d#Wzp$Pz`Xod#>

diff --git a/src/data/themes/default/vsbox.normal.png b/src/data/themes/default/vsbox.normal.png
deleted file mode 100644
index 2deca1798912ebfa9abb6b7584d72f61a2e390b4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 224
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6n3BBRT^Rni_n+Ah<Z%{wL>4nJ
za0`PlBg3pY5<o%r5>H=O_G`>M9Lx*~zb7>Ug=9-yBTAg}b8}PkN*J7rQWHy3QxwWG
zOEMHfGEx=XJ$(b-r>N!u6?%BOIEHAP-#XEetHD5kIo<X3zg;_jJYD1w8L!Yi^_h)|
z!NwIr>nE;hdvPabj)~L*3+vY2sm-k__Zdz%{J4AIPv?yHi5^>1%k9_96PoFgqq+xZ
OCWEJ|pUXO@geCyKSW15Y

diff --git a/src/data/themes/default/vslider.bar.hover.tga b/src/data/themes/default/vslider.bar.hover.tga
deleted file mode 100644
index 0a3f70a388033bd577beb9014cf3b9e434b78cb0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1412
zcmZQz;9`IQ2?hxU1&tO52M2~;An_l}Y65YYL0oTd@Bb}zN&nZ*kN)3zY@Ne@=2f!-
z{+H$Z{dab9{0~wAR@(^Dzyjvh7yW;Db?*NM=NtZCKa}{t^TKwA|18%JM*e?rrr`gB
z3oZZCll{RO!Ft$08bSJcyX*hIf42Ys^V<ti^|HeBKEKxf|NX;-|8vrV!1^0NTEY6m
zLPP$4et#RH|JHn*`a8k;KRw&<-^JPKKV1L+o!gfG|Ni+tF8dFJgWV3Z|NEPr|0nlk
zg7yCg+5i9D>w7@`4~f<Pdi(zeR~I1Z|NG}BKKr3z_xu{f{ojH5e}6hYsvi{e;P4*}
zKT!I?nf~DE2a<n4=@&KqK+-SH^bgk$O@BcBsOc9a{}9Z782N{R!u-nsN(k`s1Ji!A
d{EJe4kX>+L7LjY_MxhmvPEHPpA`-2L1pv+Bx(5IN

diff --git a/src/data/themes/default/vslider.bar.normal.tga b/src/data/themes/default/vslider.bar.normal.tga
deleted file mode 100644
index 07ee06e0a2f5e46a41a9a56a86dec6e323f8b7bf..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1412
zcmeH{A#a0F6op^Xc4EJva&rF?SY}Ex2ZCQff`Who0Uk#X7z7X$0t5muXT3LJ8yzKE
zYx@M@CilyE@8;Yi#Iu;sQ5?m~>$@aL;^X`Q|GiPUqf%8>Se6CHad0wC6FaI5!+<Qy
zpbqX;2-s8Uc^-<QK$0Ygq6jDI-v>c}IF6B~DRf<DkeMd}i3`IJUDu(iDrTu>_As+q
zmZ7d|7AHa`lzC0lFbu;V`KD>0D9SgFJkK#r(}MrH`@#2pzWc1-wk=%OWgeuDaUB22
zmu2~b$N5~>zkEOG_kI81Y4kk*$NcW|&$fTp{I~S)_WrE#i~SLI?(b@TT;E>`FR~8j
S$IZd@J0fk{-ipYJi2VfbkS|&Q

diff --git a/src/data/themes/default/vslider.down.tga b/src/data/themes/default/vslider.down.tga
deleted file mode 100644
index 61c75a67e08966f8994c81b15bd7b1b505c84f0a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 864
zcmd6my$ZrG7)4`$9Gv<Hjy`3qh=_wvmoX$uhCr5NNgxDz?KcRuc2cNjx{!MzoI@Df
zvFGVn$My#{48!rxIY&=vOKA)!r68pQ?>(%wP)gw>gg`5$gfRxrIfM`pV?@pwJx%|1
zueDy|{neD;ZA6XD3!i#=PkgV`sopp?^B#G)P`6&>-Y)gY+nF}ahrVe0Bj4ZpT4_J~
FJ`ePSz#aeq

diff --git a/src/data/themes/default/vslider.tga b/src/data/themes/default/vslider.tga
deleted file mode 100644
index ff3b4b2441783bfb9e173697c482402673d69250..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1231
zcmeH{v2KGv5Jb=Tpzs&COqtI-I}Ng;{DeCfmK%3&p~Ed55*4CAazO!-@x<>U5*IX9
zlr9u#*qL2+_jb>ig&CivS(=yEwR6s_B$?TEyVY*DQ@r2r6&wx+0kEv$S6<1>@`)P$
zbUG<X62)1T$)3+=0kFWJ@X_yn&P2RM=i~9HG)<M~xyrIsTve6Ax~>Jl0)qmj4-!54
z@|&V4)HIFSwpHA9oua<)1;7G>0wpmV?mh--5gGP!xd^Z8^{UM<46-0BFep%Z-;kmy
zi_D0Q3YYiW?WQ>h3k(W})Y3rOK}BRm^bhm_2n&ouV#$ka=>Sy_@k<NB0^^YUYyY?p
zECA!oM2_dY;oO*Dt^Em(CyvG;e(F@7n2eCoePZ%{JL!JiEK4)FW+4rkS~KrwSaXl&
dlS^)=mi*_A@n}Y|-}g%Jc(1%s-2E5Md;%c^=}Q0r

diff --git a/src/data/themes/default/vslider.up.tga b/src/data/themes/default/vslider.up.tga
deleted file mode 100644
index ce73c300b7aaf1baac1d89a4f543f823fe362f79..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 864
zcmZQz;9`IQ0R{mE1r3IO|NhnY*45ShZve5_KrA5R|L@<w|9|`T?f?7t@Bcr4{`~*l
zyLbOLUcP+!KkMz=xBowW{P_Q?SFiqm`0(NX*RNmy|NQy$e*;MCpw)lx-aX3Q4-7g2
z{%6G%e$61gEI7lB1)IKBkRE2N;mnM#z8$2N2_rt3kkxg9)G&^W_@XqviPVpleE{s7
Bz#aeq

diff --git a/src/data/themes/default/x.png b/src/data/themes/default/x.png
deleted file mode 100644
index d00f36b2df046ee25f8cb1d84195ed8506e9808f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 199
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6n3BBRT^Rni_n+Ah<Z%{wL>4nJ
za0`PlBg3pY5<o%r5>H=O_N(loB0@@UtJ9=_Lb4^U5hc#~xw)x%B@E6*sfi`2DGKG8
zB^e4K8L0~Hp1uL^Q&jVS3iUl*978nDCnre6Jg^rNV^*G}pv=YX%GhPsVxb)7J;7xr
mhh-0oc7esD1?KF`3=FluxLNLRkp2kN%HZkh=d#Wzp$Py-c{9!c

diff --git a/src/data/themes/gray/Vera.ttf b/src/data/themes/gray/Vera.ttf
deleted file mode 100644
index 58cd6b5e61eff273e920942e28041f8ddcf1e1b5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 65932
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
B52OG9

diff --git a/src/data/themes/gray/box.down.png b/src/data/themes/gray/box.down.png
deleted file mode 100644
index 0009fe741ad72d92226a946fc1fd20639bd51614..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 225
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b
z3=G`DAk4@xYmNj^kiEpy*OmP$w=kEXrjhcO5TKB3iEBiObAE1aYF-J0b5UwyNotBh
zd1gt5LP$ocg1e`0!21-{JfK2XPZ!4!i_>o}FBEMsU|_x&AJ^`zB%#5qI3b6fsXaSe
zz_xz*q^8>pqLWHadfsDrbNiNx{Bu^Z<}(L){wN3Rzn!<V=iX1o!*N{Z=9z*jKm!>(
MUHx3vIVCg!0K(ivAOHXW

diff --git a/src/data/themes/gray/box.normal.png b/src/data/themes/gray/box.normal.png
deleted file mode 100644
index e4599d914d20a14308756718d0faf00868795156..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 230
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b
z3=G`DAk4@xYmNj^kiEpy*OmP$w=kChtK@@~-+)50C9V-A&iT2ysd*&~&PAz-C8;S2
z<(VZJ3LzP(3hti10q;{(^MDGyJY5_^EKVn<BqaPe@4%RllmKM>|8IZt#=(P)V8EJo
z>1wxn=eE+bZL%x$7Tn-o%+@32u#!>d#w7KVY!+5llio79d2Kdk5I$-s_E|Dk3}`BY
Mr>mdKI;Vst0L$k|g8%>k

diff --git a/src/data/themes/gray/button.down.png b/src/data/themes/gray/button.down.png
deleted file mode 100644
index efb67bc772e32dc7787fe3158a9c28fa5adb3c91..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 191
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjY)RhkE)4%caKYZ?lYt_f1s;*b
z3=G`DAk4@xYYs>cdx@v7EBjS$VJ<UP|6P0qKp`Jb7sn8f<8QAm6g*(S!*X!4`%zZ5
z9SihN9Jp{-RYB*5(!BjlbqhrfI45!{tW1fy#Ln>L_bn^CXG{wM=P)v}@kkgHuub?c
fy=(W1y6Ct)r@7qwcVw#r&1LX(^>bP0l+XkK+zC3q

diff --git a/src/data/themes/gray/button.normal.png b/src/data/themes/gray/button.normal.png
deleted file mode 100644
index 73931504c39a2355fe2081798f710b84557f61f7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 199
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjY)RhkE)4%caKYZ?lYt_f1s;*b
z3=G`DAk4@xYYs>cdx@v7EBjS$VJ;KBiw09S0fj<5T^vI^j=#O8$k*V&<8pC-3jeix
z;*C$ZJXoG<a&6??^mv))*Vk9JFl)4IWef?ec4uMuJbB*ltl3re=S&-GT-kUe3=$4B
nNX@8EUnhIQC$ec_U347JQBS_h#<CND<}-M@`njxgN@xNAS^_^!

diff --git a/src/data/themes/gray/checkbox.off.down.png b/src/data/themes/gray/checkbox.off.down.png
deleted file mode 100644
index 656f77955726f1b2dbc765b78d4e6914e53a19ca..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 165
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE
z)7O>#Dz}KB6@Opd9WS7ei>HfYh{fr*lNI?G6nL2V5A8SabosF0?-~vsF#`@ivzJSk
zoxFQgG0ly!qvLH+zGwp1wS?(sRO3Ie@^kvtGfYr<nRbxD=Qw}-iiGgTK=T+pUHx3v
IIVCg!0GdfJrvLx|

diff --git a/src/data/themes/gray/checkbox.off.normal.png b/src/data/themes/gray/checkbox.off.normal.png
deleted file mode 100644
index 70943f1109a13cd67eecbff3ccdc796631490908..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 178
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE
z)7O>#Dz`8<la;f{u3n%}pr?yth{fr*mlp~iFyL^wI6v+iTV&+K+5=%>C2~qtk_|^f
zo>bpcT(Ba`U}i@E;~iVuJL`lWFf*LdVcm0{_rSp<=^F>^8?5A#@04v565P1Sk-c+^
W$OXAWjwgYJGkCiCxvX<aXaWHA6gS`i

diff --git a/src/data/themes/gray/checkbox.on.down.png b/src/data/themes/gray/checkbox.on.down.png
deleted file mode 100644
index fa61a2b53112b0234ec6074ca1322c3f3d3931c1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 213
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE
z)7O>#Dz}KBm5S0KRgeKCo-U3d7N?VQGBSRgcTiigetmjEVnRZKMZp7xle3olya2Kj
z8YCKY9JCUW76@Fp&LGRo{fYO$GRftPFS-gdkG*D^p_XzsTyKuTS?(5-$0iK1hI(f!
zVi_*C_!~Rw3taNq+v1XE2Qnq$&;S4b>%C$a7_RJ5iT~WpeiLXvgQu&X%Q~loCIC8d
BMXvw=

diff --git a/src/data/themes/gray/checkbox.on.normal.png b/src/data/themes/gray/checkbox.on.normal.png
deleted file mode 100644
index 5ee17b1f3a356962f932100971d01276f7b2e795..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 216
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE
z)7O>#Dz`8<tHq;g-!!05xu=U`h{fr>lMT5V40v4QmweB2cV~Zpd0ijhJaxXH2}#k5
zAI<+PXFtJ%!?9B0y)B=@(v-I6nJgA842Eu#6Qac#*y5hWH+I;F#~ciGw2Wz<&1+QB
z7J7A?6aPA{QxB!?<V;v7b|-crdwr3Ip1s??+-#TkUvg5|dD1j57`ASc0y=@g)78&q
Iol`;+082VUfdBvi

diff --git a/src/data/themes/gray/config.txt b/src/data/themes/gray/config.txt
deleted file mode 100644
index 0ea2006..0000000
--- a/src/data/themes/gray/config.txt
+++ /dev/null
@@ -1,244 +0,0 @@
-desktop background desktop.png
-
-input font Vera.ttf 16 
-input background input.normal.png
-input color #000000
-input:focus background input.focus.png
-input padding_left 6
-input padding_right 6
-input padding_top 3
-input padding_bottom 3
-
-label font Vera.ttf 16
-label color #000000
-
-document font Vera.ttf 16
-document color #000000
-div font Vera.ttf 16
-div color #000000
-
-td font Vera.ttf 16
-td color #000000
-th font Vera.ttf 16
-th color #000000
-
-h1 font Vera.ttf 24
-h1 color #000000
-h2 font Vera.ttf 20
-h2 color #000000
-h3 font Vera.ttf 16
-h3 color #000000
-h4 font Vera.ttf 14
-h4 color #000000
-h5 font Vera.ttf 12
-h5 color #000000
-h6 font Vera.ttf 10
-h6 color #000000
-
-ul font Vera.ttf 16
-ul color #000000
-ol font Vera.ttf 16
-ol color #000000
-li font Vera.ttf 16
-li color #000000
-li padding_left 32
-
-pre font mono 16
-pre color #000000
-code font mono 16
-code color #000000
-
-checkbox off checkbox.off.normal.png
-checkbox on checkbox.on.normal.png
-checkbox:down off checkbox.off.down.png
-checkbox:down on checkbox.on.down.png
-
-switch off checkbox.off.normal.png
-switch on checkbox.on.normal.png
-switch:down off checkbox.off.down.png
-switch:down on checkbox.on.down.png
-
-radio off radio.off.normal.png
-radio on radio.on.normal.png
-radio:down off radio.off.down.png
-radio:down on radio.on.down.png
-
-button background button.normal.png
-button:down background button.down.png
-button padding_left 8
-button padding_right 8
-button padding_top 1
-button padding_bottom 1
-button.label font Vera.ttf 16
-button.label color #000000
-
-slider background slider.png
-slider bar slider.bar.normal.png
-slider:down bar slider.bar.down.png
-slider width 16
-slider height 16
-
-hslider background slider.png
-hslider bar slider.bar.normal.png
-hslider:down bar slider.bar.down.png
-hslider width 16
-hslider height 16
-
-vslider background slider.png
-vslider bar slider.bar.normal.png
-vslider:down bar slider.bar.down.png
-vslider width 16
-vslider height 16
-
-select.selected background select.selected.normal.png
-#select.selected:down background select.selected.down.png
-select.selected padding_left 4
-select.selected padding_right 4
-select.selected padding_top 1
-select.selected padding_bottom 1
-select.arrow background select.arrow.normal.png
-select.arrow:down background select.arrow.down.png
-select.arrow padding_left 1
-select.arrow padding_right 1
-
-select.options background select.options.png
-select.option background select.option.normal.png
-#select.option:hover background select.option.hover.png
-select.option padding_left 4
-select.option padding_right 4
-select.option padding_top 1
-select.option padding_bottom 1
-#select.option border_top 1
-#select.option border_right 1
-#select.option border_bottom 1
-#select.option border_left 1
-
-select.option.label font Vera.ttf 16
-select.option.label color #000000
-select.options padding_left 1
-select.options padding_right 1
-select.options padding_top 1
-select.options padding_bottom 1
-select arrow select.arrow.png
-
-
-dialog.bar background dialog.bar.png
-dialog.bar padding_left 8
-dialog.bar padding_right 8
-dialog.bar padding_top 2
-dialog.bar padding_bottom 1
-dialog.bar.close image dialog.close.normal.png
-dialog.bar.close:down image dialog.close.down.png
-dialog.main background dialog.png
-dialog.main padding_left 8
-dialog.main padding_right 8
-dialog.main padding_top 4
-dialog.main padding_bottom 4
-
-keysym font helvetica 16
-keysym background input.normal.png
-keysym color #000000
-keysym:focus background input.focus.png
-keysym padding_left 6
-keysym padding_right 6
-keysym padding_top 3
-keysym padding_bottom 3
-
-tool background tool.normal.png
-tool:down background tool.down.png
-tool padding_left 4
-tool padding_right 4
-tool padding_top 1
-tool padding_bottom 1
-tool.label font Vera.ttf 16
-tool.label color #000000
-
-menu background menu.normal.png
-menu:hover background menu.hover.png
-menu:down background menu.down.png
-menu padding_left 6
-menu padding_right 6
-menu padding_top 3
-menu padding_bottom 3
-menu.label font Vera.ttf 16
-menu.label color #000000
-
-menu-open background menu.down.png
-menu-open:down background menu.down.png
-menu-open padding_left 6
-menu-open padding_right 6
-menu-open padding_top 3
-menu-open padding_bottom 3
-
-menu.options background select.options.png
-menu.option background menu.option.normal.png
-menu.option:hover background menu.option.hover.png
-#menu.option.label color #FF0000
-menu.option padding_left 6
-menu.option padding_right 6
-menu.option padding_top 1
-menu.option padding_bottom 1
-menu.option.label font Vera.ttf 16
-menu.option.label color #000000
-menu.options padding_left 1
-menu.options padding_right 1
-menu.options padding_top 1
-menu.options padding_bottom 1
-menu arrow select.arrow.png
-
-
-scrollarea.content background #ffffff
-scrollarea.content padding_left 1
-scrollarea.content padding_right 1
-scrollarea.content padding_top 1
-scrollarea.content padding_bottom 1
-hscrollbar height 15
-##hscrollbar background scroller.slide.h.png
-hscrollbar background slider.png
-##hscrollbar bar scroller.slide.bar.normal.png
-hscrollbar bar slider.bar.normal.png
-##hscrollbar:down bar scroller.slide.bar.down.png
-vscrollbar width 15
-##vscrollbar background scroller.slide.v.png
-vscrollbar background slider.png
-##vscrollbar bar scroller.slide.bar.normal.png
-vscrollbar bar slider.bar.normal.png
-##vscrollbar:down bar scroller.slide.bar.down.png
-
-list.item background list.item.normal.png
-#list.item:down background list.item.down.png
-list.item padding_left 4
-list.item padding_right 4
-list.item padding_top 2
-list.item padding_bottom 2
-list.item margin_bottom 1
-list.item align -1
-list.item.label font Vera.ttf 14
-list.item.label color #000000
-
-list background list.png
-list padding_left 1
-list padding_right 1
-list padding_top 1
-list padding_bottom 1
-list.content background #eeeeee
-list.content padding_left 1
-list.content padding_right 1
-list.content padding_top 1
-list.content padding_bottom 1
-
-filedialog.folder image filebrowser.folder.png
-filedialog.label font Vera.ttf 14
-filedialog.label color #000000
-filedialog.title.label font Vera.ttf 16
-filedialog.title.label color #000000
-filedialog.input font Vera.ttf 14
-filedialog.input background input.normal.png
-filedialog.input color #000000
-filedialog.input:focus background input.focus.png
-filedialog.input padding_left 6
-filedialog.input padding_right 6
-filedialog.input padding_top 3
-filedialog.input padding_bottom 3
-
-
diff --git a/src/data/themes/gray/console.input.focus.png b/src/data/themes/gray/console.input.focus.png
deleted file mode 100644
index 819d83515a5c52bca308ba98f6e9316918e32222..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 224
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gj%ROBjLp(a)PIKftWWd96T~OZj
z&*E*r`Q?r)7riZN5S!(~F*D@RgsC+fr^p_kzIB3&X8HQr@gAW|-^`6VR<^Cf{y_q(
z66YiX<40}oiV^3(ryaXmo-b#b*AV8x)G((wM^%1HW!e0FKU`ngRV`$cXaJ&mh6a_8
zt<`cXUTO2YtkU=!Is5s=iJI@jTXz>nik+EmY4WvX?u4LQt^2l|6AR^?tNSkQ?Jqu|
X!b?@ldn*!wPG<0Q^>bP0l+XkK=dD^C

diff --git a/src/data/themes/gray/console.input.normal.png b/src/data/themes/gray/console.input.normal.png
deleted file mode 100644
index a14e329597b452fd83b32900020c119a1497bfad..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 224
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gj%ROBjLp(a)PBY{?tRTQ59@q9~
z<L=)xw$3kl?JFo4t=6fO<E<&t`K(KJN1ErP0u`lO5BX<ATAjNT7trjjY5P;*W=C98
zM*y##w!%(Nm4kO(gBbKIRi3_^)WXAXdQ-{WAJV4AJ9m3&-p&5W;yIya-vht41P&nj
z=g8n`u=(`w1826`d8}M{>GG8`x3xEG{w<9)^bMY#FfaYdocq)N$r-=?wavw4^J{jY
Xms2EpS~On+oy_3r>gTe~DWM4fgkD<z

diff --git a/src/data/themes/gray/console.png b/src/data/themes/gray/console.png
deleted file mode 100644
index a14e329597b452fd83b32900020c119a1497bfad..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 224
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gj%ROBjLp(a)PBY{?tRTQ59@q9~
z<L=)xw$3kl?JFo4t=6fO<E<&t`K(KJN1ErP0u`lO5BX<ATAjNT7trjjY5P;*W=C98
zM*y##w!%(Nm4kO(gBbKIRi3_^)WXAXdQ-{WAJV4AJ9m3&-p&5W;yIya-vht41P&nj
z=g8n`u=(`w1826`d8}M{>GG8`x3xEG{w<9)^bMY#FfaYdocq)N$r-=?wavw4^J{jY
Xms2EpS~On+oy_3r>gTe~DWM4fgkD<z

diff --git a/src/data/themes/gray/desktop.png b/src/data/themes/gray/desktop.png
deleted file mode 100644
index 73ac803c9958f9f348e8a55c8d4b180109ace016..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 131
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1SIoCSFHz9oCO|{#S9GG!XV7ZFl!D-1$&97
zuPggiZeeatrOj)83jl?bJY5_^EKVoyDSF7lY|0?aJoUf|$Hi>DQYKj!K#Ym}3|84p
VbB>+fbqA=L!PC{xWt~$(69A_QAd&z8

diff --git a/src/data/themes/gray/dialog.bar.png b/src/data/themes/gray/dialog.bar.png
deleted file mode 100644
index ffac15dfb489d8ec7b10a9b39938c40492e5e746..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 138
zcmeAS@N?(olHy`uVBq!ia0vp^5<o1<!2~2Pcke6&Qk(@Ik;M!Q+`=Ht$S`XTNCkU|
zr>`sfRc;X>A&H=Eo^?PWO-~oc5R22v2@8Z0QW6qY%&nj16g*3~cjk(xivpY7c%@7;
ft}F;_E?{J^lVjFMta363YGUwo^>bP0l+XkK<BlS&

diff --git a/src/data/themes/gray/dialog.close.down.png b/src/data/themes/gray/dialog.close.down.png
deleted file mode 100644
index cde6e96917df7f47acdff6f73c7e1050ebe47ca1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 270
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE
z)7O>#Dz`8<p9N$8l(j&iwVp1HAr_~XPBP?cau9I6zwXW<IVmnHjpbVm7k*fvCYPYO
zbn}MBd&wuFB+ee;iJWl%?fpN~|89QlqVj3E6GsYz(k82#EPjUk2D59YHV3LLSR-|6
zRpgV|4Zq+1;(f7UpLf`W2|Ejl*sKy-Co`-*l+;kS&2;h;{WGCIT2ofO)4ZR5(}_Vm
zxhLA};>+faBXhrRaXq+k-OcBg4E=>qE`6WV-uT?)V(DCCMyZsaRzEIs_gr&1Zp>5r
Q3FvSJPgg&ebxsLQ02ftk>i_@%

diff --git a/src/data/themes/gray/dialog.close.normal.png b/src/data/themes/gray/dialog.close.normal.png
deleted file mode 100644
index 73dc9e482c26102d098fdc167335ba0ab6ee0105..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 217
zcmeAS@N?(olHy`uVBq!ia0vp^0zk~i!3HGN^yhQ|Db50q$YKTtZeb8+WSBKa0w~B{
z;_2(kewAC8o5y@H+v|Nmp$bnI#}JM4OD7rfH7M}7+P6J6Fff|-+sdMf<*v%b&sWZx
zFo{0wSAD-!*YwPp7d}0LVhroH{BL`n%F5s);iFbyci?BkwJJ4>{<n-OI`=~kMlU+}
zicck=In*(;C9N@M_m;`$<5%<sOp3_;Htp93#mLHOwuUZ8lx6P-hZw~@+-1rFbOVE@
LtDnm{r-UW|q8~{-

diff --git a/src/data/themes/gray/dialog.png b/src/data/themes/gray/dialog.png
deleted file mode 100644
index 1308b9cafce0d4b124e0ca2ca661cfdb980595cb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 138
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1SIoCSFHz9oCO|{#S9GG!XV7ZFl!D-1$&97
zuPggiZV@37rk{P{O+X<{PZ!4!i_^&|2?;xj9<nf}IvhXH)Y<5jaAiSYvm39JX~vZW
ef*Ar=85sU`G3%K(vv~tGF?hQAxvX<aXaWGZuOi6+

diff --git a/src/data/themes/gray/filebrowser.folder.png b/src/data/themes/gray/filebrowser.folder.png
deleted file mode 100644
index 4a3bd2c9f195ac82fcedfff2addaa9ab5765783a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 634
zcmV-=0)_pFP)<h;3K|Lk000e1NJLTq000yK000gM1^@s6FT_0X0006(Nkl<ZIE}5;
zO-oc!7{KxW)RYQMGl+wW0>=?sNKF%hFR9Ed+5{q(7SYOOv<mwG1%84VXwe6VqMf*K
z+uSL_%0w+J%d$5!d`ZR`$2)WHIp=AiLt3M5df@OJIOqI$IBz}?;eUp|(y?t@ve_)Q
zZL{!x2H(*d?5E?EF)CxZT#ig8Lp&b$RRet@LOPw6$7A;yNVJmZY^C{h1KC%fxHNc|
z-u5WH?NKgXXr?RHM0R4H2lfUdBP08R!^6YU*V#s2(@&H#Xsu96<GBjYQz%d2DUIhT
z%C4gS=0p6)>qw<iSeCU1_5%ciL7qIHB^Eq}>;46lJqq~(%G3}DM+uyYGGSj~?#&Cb
zGc#D0_3s|W<8f>|L!sm+zy1rS=uq4&b0Qoi(AYw2TRn}9_28_4vkH>q(c~n-aL0j%
z!nGa?*B7R_qk9`DE`qZRvV^QHfe2y@#uzf=Z@G2ndUY_FO!@%H=klEC>?c%ujjVhI
zBZwG`)@Y-*vsM_bnV$PrSy#P60H?Uc$y$ZC;bOGLXoWU^kV;lsbEGC%?T~kaLT#WP
z&n;8h%wvo~>s?jtz*=k8b44PN$YCHfG{x9jnWt3D@2SdDigMY-amvgttTOiOBauk=
z;b39yJ9U8)g?w%YaCtfVgLhxnnEtTL*ENrht{xHtHy9cks(P^z5k!Re`ItEQMY(tT
zstjH}E9Y9m5(<UHvMfoZQZh9)C6&1cHDBd(NT<^>Iyy=y6e5vGkW41`eXj?_Z+ldG
UE_YNIx&QzG07*qoM6N<$f*jN&VE_OC

diff --git a/src/data/themes/gray/input.focus.png b/src/data/themes/gray/input.focus.png
deleted file mode 100644
index 477a8264a0517c31697ae2635546d97044c923a8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 181
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1SIoCSFHz9oCO|{#S9GG!XV7ZFl!D-1$&97
zuPggic2PEV4b`1;d_W=D64!_l=ltB<)VvY~=c3falGGH1^30M9g^-L?1$R&1fcGh?
zc|e8Qo-U3d7N?UF76>JzBqaR!|KEP;G6N%{z|*da*?Of+vM#J}T+GHR+q{B}!Mc@M
U$67OcGEf_Xr>mdKI;Vst04J<3!vFvP

diff --git a/src/data/themes/gray/input.normal.png b/src/data/themes/gray/input.normal.png
deleted file mode 100644
index 8519a982dd6354ccde877b80b731b4eb7019bc2d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 208
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1SIoCSFHz9Y)RhkE)4%caKYZ?lYt_f1s;*b
z3=G`DAk4@xYYs>cdx@v7EBjRr9tLfhX&;J`fkLt+t`Q~9`MJ5Nc_j?aMX8A;sVNHO
znI#ztAsML(?w-B@?^9IsfC^1KT^vI!PABJNWF#zLOGr#e@bK_haA687x0r!p0B4Vs
sN!EoGj*HoPrA$hAk{YitPLXC|nCrzhW#Yo4x<LI5p00i_>zopr0MO?-f&c&j

diff --git a/src/data/themes/gray/list.item.normal.png b/src/data/themes/gray/list.item.normal.png
deleted file mode 100644
index 627790d726869468c8bd45a9d23ca90a5df374c6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 172
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1SIoCSFHz9oCO|{#S9GG!XV7ZFl!D-1$&97
zuPggic2PDik^L1iM}R`IC9V-A&iT2ysd*&~&PAz-C8;S2<(VZJ3LzP(3hti10q;{(
z^MDGKJY5_^EKVo?`TyUZ*_1(;dFp``j*HoPrA)FefEW|`86+<<>v{@Z&IGDv@O1Ta
JS?83{1OUG4EfoL&

diff --git a/src/data/themes/gray/list.png b/src/data/themes/gray/list.png
deleted file mode 100644
index 99ad5bc74853220acf1b646ef254feb983fd9946..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 129
zcmeAS@N?(olHy`uVBq!ia0vp^{6H+k!3HE-=Cy!09-c0aAr`%FuWaOXP~>pE*xh|l
z%jcL@&aw4AJyVaoJ0871xG6+5EzIP!k6@^7Lx)A%JH7)i4wc$RWxambUf=t?bFSI<
cqR%{b7850IyyJMa2WTdPr>mdKI;Vst0Q8+N7ytkO

diff --git a/src/data/themes/gray/menu.down.png b/src/data/themes/gray/menu.down.png
deleted file mode 100644
index 3555053bfe0251f0f1c2987a4167f3ccc9140006..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 149
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1SIoCSFHz9oCO|{#S9GG!XV7ZFl!D-1$&97
zuPggiZV_>7<2~(f?SMiio-U3d7N?VQGBOetNL;yoeY1gqK?_SoK%ST|^V9<?92c|o
qN||I`SmEe=T;bUN|Nn!JDlp96$1ZN^?9B$$&*16m=d#Wzp$P!Tf+<h{

diff --git a/src/data/themes/gray/menu.hover.png b/src/data/themes/gray/menu.hover.png
deleted file mode 100644
index f4b2a6a12ae980dcb427869e2c556f2ca9f88ee7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 150
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1SIoCSFHz9oCO|{#S9GG!XV7ZFl!D-1$&97
zuPggiZczpXw(?++tw14DPZ!4!i_^(}{{OdUKDuDz#)++sjSpWPojhgs(IXD323Z$Y
qI4)-El`_e?aKW%+DNtUEjgcX{kYkxw@oE8}0Sun5elF{r5}E*f-7IGS

diff --git a/src/data/themes/gray/menu.normal.png b/src/data/themes/gray/menu.normal.png
deleted file mode 100644
index 9a7aca691907ccbaae59d78fc0b1a02038c15588..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 120
zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1SD^YpWXnZI14-?iy0WWg+Z8+Vb&Z8pdfpR
zr>`sfRc=uR2Ei{46N`XC;+`&!ArhC9_Y^&3VOBhF#DPU3)Ft1Q!PSSU#VhFPH=q&*
MPgg&ebxsLQ0AsWp$N&HU

diff --git a/src/data/themes/gray/menu.option.hover.png b/src/data/themes/gray/menu.option.hover.png
deleted file mode 100644
index 8ae05f3807b52283505e6743b9638adfdb8861a6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 147
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1SIoCSFHz9oCO|{#S9GG!XV7ZFl!D-1$&97
zuPggiZczpXspKG!UqB%vPZ!4!i_^(Zf=(taU`t3$NU+$d*5?#_#!1Z3Fo3g1$|UQ;
n3dhB4y;3G6JV{H!N?913N?8(3&T%gV>SpkC^>bP0l+XkK!Qv!c

diff --git a/src/data/themes/gray/menu.option.normal.png b/src/data/themes/gray/menu.option.normal.png
deleted file mode 100644
index 394200b42c3ac64e16d8d1cddcd544220bed76e2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 131
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1SIoCSFHz9oCO|{#S9GG!XV7ZFl!D-1$&97
zuPggiZczpXl|{y(fj}W8PZ!4!i_^(_iXO5sn=%M9Pd%{0aWPx3lu6bF5Mv@ggH<-u
VoMWeV-2tj*@O1TaS?83{1ORFwACmw8

diff --git a/src/data/themes/gray/radio.off.down.png b/src/data/themes/gray/radio.off.down.png
deleted file mode 100644
index 5a6e9a30b6a6299472b5f5e60573842927aaa881..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 224
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE
z)7O>#Dz}KZCI7;EpRIvH^`0({Ar_~TQw}gmNlE>CERgOZo_u84#{-SbH@+BKSXdbR
z`Tu|Z!i^gz3Lb7~Yis*&&>O5)l3=Q^d_hwq5FEUBPcDx`c~e@9)W$|r=`sTo6B7d?
z!vGG6lN)7kii+$`xYBTN0^f{;nMV#DY)rXbn6_*J1OFVUi^ZzSOK(atbnbJ_(+ilk
Q8t4=TPgg&ebxsLQ04mW<UjP6A

diff --git a/src/data/themes/gray/radio.off.normal.png b/src/data/themes/gray/radio.off.normal.png
deleted file mode 100644
index 4a57f1f5f5c1688980122591fad52086e814aa4f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 238
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE
z)7O>#Dz}KZCEE=q@A*KXUQZXt5R21qCokkXY#`uV8~i^lp}=6e{q8^K4?KuqVrKqi
zFW0qY+x4uV69;-0P0q0w;Fg&w$^UNC-p+KLr4@B6v^<oSs_bSker)h;&fNwHWd?<o
z4P1>g14DnVty(R!McgM#@`d}2dF!_St|*%IK>h>w{{+{I(W&`gxBT2J%P{TirHZgm
i75mCoPq}HipYiqWoqn7=1#^H7WAJqKb6Mw<&;$SwLRfhK

diff --git a/src/data/themes/gray/radio.on.down.png b/src/data/themes/gray/radio.on.down.png
deleted file mode 100644
index 483bd66a93982dc07f7db7f79c1b3ac4e78b3c32..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 248
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE
z)7O>#Dz}KZg?{tuN1K2`(>+}rLo7}wryO9Cl9KxOSRma+Jo(77j|Uo=Z+tPfu&^-r
z^Z)<+g&Q|c6g=F}*4Fmlpf^~pB*9c+`GTfKAUJsMo?IS>@}{&Hsf~@M(q#rFCME_(
zh5;NBg*VqFCo~?~U-XbAEIgr<aaUSQ5)TlFR3}c5YS2Bfp_8|-<N(WQ6+S*bmD_#B
n#;q(B53Y2~)0Wgcdyav9jbEPM8O=DL6B#^R{an^LB{Ts5a$8fj

diff --git a/src/data/themes/gray/radio.on.normal.png b/src/data/themes/gray/radio.on.normal.png
deleted file mode 100644
index 43b380b432d7e06c271cafecfb5b1f9efaacb97b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 250
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE
z)7O>#Dz}KZxmD&nscAr=nVv3=Ar`0423zwTRuK8Tx@b0^tTmH)^_}I;$MXz~j0)t-
z7xA_%@OnAHJn9oWH#ghzRd)_9J)YvyW7zj&!?h-rJ>NG8284zsaU^Oyn8VB<kt`*+
zLTl~TKVQB4)@15iRCxE^J1&;_TWSB^xcu+@Ha-_7f8Vg*=HU{i*N4(>SpIXIyy(f1
uNtdrwzU5=^-fnWvNACRfw5dfU=kl$T4*6L~9;^jAlEKr}&t;ucLK6UgLR?({

diff --git a/src/data/themes/gray/select.arrow.down.png b/src/data/themes/gray/select.arrow.down.png
deleted file mode 100644
index 9ef850e3fd10384425c1ff6143be2e3ea25f80b5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 149
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1SIoCSFHz9oCO|{#S9GG!XV7ZFl!D-1$&97
zuPggiZczp{?)V+&`+!0wo-U3d7N?VQGBOetuq7lWByezkSa4yAsdSlvVE|{3lu6cw
q6^@J9dZkQCc#;~gFiw$XVVJv&?Zl<td0&D089ZJ6T-G@yGywoPfhS1-

diff --git a/src/data/themes/gray/select.arrow.normal.png b/src/data/themes/gray/select.arrow.normal.png
deleted file mode 100644
index fde6e42ee18a01f0a68daa964dceb325906feb50..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 168
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1SIoCSFHz9oCO|{#S9GG!XV7ZFl!D-1$&97
zuPggiZczqS%RNqK&jN+qJzX3_EKVoyDSF7ld{klif~MBSM#t#;bA*DWq@^V#Bq9{%
ztQPkVdZD4lrqvkO?8Yl)nsH@8U~>VZSj9_U#e|ZAf(2dO3{7oZyS0K0z5$J7@O1Ta
JS?83{1OT6*E(ibs

diff --git a/src/data/themes/gray/select.arrow.png b/src/data/themes/gray/select.arrow.png
deleted file mode 100644
index 19de7608b2ab5532393829e773261757d94b49df..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 156
zcmeAS@N?(olHy`uVBq!ia0vp^{6Ngk!2%>}d+x6RQk(@Ik;M!Q+`=Ht$S`Y;1V}}R
zr>`sfRd!J}UM?=P?Fm33Yfl%)5Q)plDG5LzkaB?S-eHMy$$!ZQcAwBXzrb^zqj{G3
xq$hbfWow(f)+HTaOf&kEKI3Eqd&z<##!otm`#r2yN&$^w@O1TaS?83{1OOi>Eo=Y)

diff --git a/src/data/themes/gray/select.option.normal.png b/src/data/themes/gray/select.option.normal.png
deleted file mode 100644
index 627790d726869468c8bd45a9d23ca90a5df374c6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 172
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1SIoCSFHz9oCO|{#S9GG!XV7ZFl!D-1$&97
zuPggic2PDik^L1iM}R`IC9V-A&iT2ysd*&~&PAz-C8;S2<(VZJ3LzP(3hti10q;{(
z^MDGKJY5_^EKVo?`TyUZ*_1(;dFp``j*HoPrA)FefEW|`86+<<>v{@Z&IGDv@O1Ta
JS?83{1OUG4EfoL&

diff --git a/src/data/themes/gray/select.options.png b/src/data/themes/gray/select.options.png
deleted file mode 100644
index 477a8264a0517c31697ae2635546d97044c923a8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 181
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1SIoCSFHz9oCO|{#S9GG!XV7ZFl!D-1$&97
zuPggic2PEV4b`1;d_W=D64!_l=ltB<)VvY~=c3falGGH1^30M9g^-L?1$R&1fcGh?
zc|e8Qo-U3d7N?UF76>JzBqaR!|KEP;G6N%{z|*da*?Of+vM#J}T+GHR+q{B}!Mc@M
U$67OcGEf_Xr>mdKI;Vst04J<3!vFvP

diff --git a/src/data/themes/gray/select.selected.normal.png b/src/data/themes/gray/select.selected.normal.png
deleted file mode 100644
index e1463f82ab6de6edd058df7200401a40d1e37f2a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 135
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjoCO|{#S9GG!XV7ZFl!D-1$&97
zuPggiZV@3alSid{j{t?#JY5_^JdVFTYskpJz;Sp(WBvJ~EWf3gB^yL?Pw_xOos76H
Viw=jk(`29y22WQ%mvv4FO#oP#9}@ro

diff --git a/src/data/themes/gray/slider.bar.normal.png b/src/data/themes/gray/slider.bar.normal.png
deleted file mode 100644
index b335bdab5d005a4bd4d67d8d1c33b36377a91314..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 181
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjoCO|{#S9GG!XV7ZFl!D-1$&97
zuPggiZeea?;p4YegMmUJo-U3d9><gS6g@mr&nDG4r-_SAj135KYl~M&-@9?+#DN0`
z7&bOEHa0$db#$`HM^<6x-h(Sx7mM{o8DxPOJp9}d6SOm;7~I&|+y8I*!pLASk!PoY
SRn`}v`3#<}elF{r5}E*IyEd8t

diff --git a/src/data/themes/gray/slider.png b/src/data/themes/gray/slider.png
deleted file mode 100644
index 0ed961935ed53bf0127c514864ff87317a1794da..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 145
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjoCO|{#S9GG!XV7ZFl!D-1$&97
zuPggiZeeaywm&gxc0eHmPZ!4!kK=F8FXUxl;5c&Ne!Y=OQ|&3C2diGqidn|pu>M)G
mU93wZ6Dya9M!<pxOSq$FhD7?GEy)1tW$<+Mb6Mw<&;$TyvnY}P

diff --git a/src/data/themes/gray/tool.down.png b/src/data/themes/gray/tool.down.png
deleted file mode 100644
index 760e66635ddea73b82964ce4d9071ff44fd100d8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 168
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjoCO|{#S9GG!XV7ZFl!D-1$&97
zuPggiZeeac(^tFBYyt|od%8G=cpQIwb)g`G0uRf<X3s(o7S^So-4iq#B%b-ZrKoH1
z3b=YIF&KUR`N@?10OPxZudR+s8YCQOU}TnO4E-;mpfWXX17mnGckwz)HYuQy44$rj
JF6*2UngA`fE>8de

diff --git a/src/data/themes/gray/tool.normal.png b/src/data/themes/gray/tool.normal.png
deleted file mode 100644
index 17b344d82007069424742ef6b6bc14138b3b11b0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 168
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjoCO|{#S9GG!XV7ZFl!D-1$&97
zuPggiZeeb1<z&g;Wk4Z!PZ!4!kK=EzEfi!>;9)t)?fieL!h|giE&=D0CvrUc$92Ll
zL}-#rkf0;$jqE!4d%qYKOqj#S%*G>Oknmt-mHdk-=a~YYv9WLL<36F}Ss(;7lEKr}
K&t;ucLK6To$uH#q

diff --git a/src/data/themes/tools/config.txt b/src/data/themes/tools/config.txt
deleted file mode 100644
index b663eb0..0000000
--- a/src/data/themes/tools/config.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-tool.draw image icons48.draw.tga
-tool.pixel image icons48.pixel.tga
-tool.line image icons48.line.tga
-tool.fill image icons48.fill.tga
-
-tool.select image icons48.select.tga
-tool.eraser image icons48.eraser.tga
-
-tool.tile image icons48.tile.tga
-tool.code image icons48.code.tga
-tool.bkgr image icons48.bkgr.tga
diff --git a/src/data/themes/tools/icons48.bkgr.tga b/src/data/themes/tools/icons48.bkgr.tga
deleted file mode 100644
index 67a614ba79f13cc33f5ebebfc9dc7558fc47ea19..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1595
zcmd6oIc@_n3`LpNr*N6lm+^sS;vET)4enf}OOqoq{7<$B3p0TSX)Is_ivM#JWt+|H
zvKF?m`Qwj{)3>9{*75nfq)%;KeBRl&dB5~!NO61<@S!cyRYhMbDxuhJgg)pf-Acki
z5^*GWuMp6B9f@ew=U$v7gKjI@q_-O&?=pdiL$YEyT<YOS7I3L7i`oiqczgN8Y+a>E
zyk{BHZ{m*nqgAxU)TOQ#euEkL!OQ!jU!&3Jb(&?brkl}3a=tYhoh*YAmEMKbM!ooo
z&o#I0vtrt%_mg(W9GNVn>45H<<;)XpR8zF#rJR>@Q$rDDP~Ije?+vr3&^x+OGnp0&
zVKW*MI!eO<!z-tz^mq&~(mS9CZQfJ{&`>hRAru{jk2)X&ZKVa=+J9V8xHiA86cr%e
r|4s^u+QllPB#~d#qRW&USHz&IjF#h-^(C4Pxce6c(49C^{xkdnS}K88

diff --git a/src/data/themes/tools/icons48.code.tga b/src/data/themes/tools/icons48.code.tga
deleted file mode 100644
index bfe961542fb5df662eb89dcb1cc5a3010b03982e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1360
zcmbu9NlrsC5Jdg6<P<Df=8DYoATfv`z=8!!j%fUz6)Lg_0@0GK?&|JxrR|?mHp<fG
zWnMP7J_v{HU|CY%@z#b9WOv%CCwQq_5MuS1{TGQR>bBb&J03~wk~qQ()g@sLCmKsG
z042p)p(pCa(i^JuyTm@A3M@&-H3?_n8HV>@hBtWUY*?h#E8;UY)xYAMvQ2GO9Pt-C
z=PKQdu$cuS&x96;gK1SEmY9tOB}wiqlenYNjzhd8oFFXK!6&h{;}!y`Jmc*vba;7a
zswdg!@t;s>dr<M)iXQjXy$P?`N>XKBt3vIvgs_VjGdp08Z@{c`a*|4whl-v~I^i{|
zfn*A%x0Xrv83fcdt2yuQM5xJYQj(l9A;11CB*l6Iftc?l8Z(n%p2k+avXF}TnWR_(
mZ@~Mp*tXn?nAw5UUa8pnX=v^*8<r9CnaJW7CA0rJdBvX<huOXW

diff --git a/src/data/themes/tools/icons48.draw.tga b/src/data/themes/tools/icons48.draw.tga
deleted file mode 100644
index 0eec5ff3f7532e5fcf271b51dc7b3dfa84ada6a0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1443
zcmb7^IZgvX5Jh_kIRzo1FU3KIeHHsoh6Iu&L`=jvxCePL?=>?ew@g4wZdd*K|5tU-
z*rlwNam~uCtgXM3Hro?e|M3}dM)YVJ!xB54up%~}&!a%L@F4m8Yamn5K&%7Xc>9hE
z824;N+9Ed5E+O2pB~9!Ws7G3mUXhAT(rcg_wv;9|(PW4xO-#$|p!qRw+ruX|i6#>#
zJOX0H7JE<B5lsh_b_iq<qhH#1E#8O>YO%}Cik?$0tJ1+6-GjGJc0iPEoXerLvo*Y8
z!Bj0r3QtHeq?`~^t<N>dFBDjz_Ft*D?LaxCE<Rbu@OpF7jC^lQ^DsNiA?C>~IGSl{
zJ%=rm@(S_K^qDHFK5vIK^<Io}AZJdBF9BP99WrvDeD+3Ksb~x=ct9hx?aO0dZ%qU3
zjoiFvDUDUiassh#AjZ@urPB1&DMv|44l1@XI`OUC;gHuuq=ylB<tdk(<{33@I%H@S
w*k_@$GcO^fp;6PWX@Y-1sa^C$R-dks3ayx-77)~*F^c-55|eC8qvp@|2Tm_WA^-pY

diff --git a/src/data/themes/tools/icons48.eraser.tga b/src/data/themes/tools/icons48.eraser.tga
deleted file mode 100644
index a7f4d4208fba9c88eb5dbd6e34001eb9605ab339..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1381
zcmZ{jIZgyY3`J{FPC-aGm*O5Y`wqjtBhr=-F%jqB9^|IqD^0m+iIKWw|Nm{5U7k`_
z%JMfa^Rl}3fjc=~my$Tedg17Xue#5=>+e5-F~VkGi|>dth$oIt*<Y;5&QUya6l5JT
zu?L_GUEqqf&<mh@j+7<VWS1!JII@D+El`GD;fl4;YoHsBlqJ?=Dh%)XzOOxq9TU1U
zd@;lN{EARfV)$9=0DOP=oMY*fG<F-7B(aHASuHRtZs97~#lj7{Ga?CZ;dCU9&>6AU
zEG3pya@Yul7rea-P>e<F@JECZ5<F;ZATf+CLxP2<gf%QK!9rES#bMp5>-MpX)jb)k
zqHAVZ>w0n6IxDl#VC0A`<eFO?H=N&Klz8K8T~-3O=7S7tIATX<f=s1l0>xI-lHkZ$
zjVzN|DDPr~v0}1jo}^DA#S_c)Vhp?fg%iu9E@7r`&5R~wn0?rrkCzFo;jp!`g{<Zc
zoL?5AZXNr-333L!w7)t(%*X^@%^DKkK+I}dIpVxkYoWfcv0_TRu5C?HDajpj*Tmeg
EU$DYJDgXcg

diff --git a/src/data/themes/tools/icons48.fill.tga b/src/data/themes/tools/icons48.fill.tga
deleted file mode 100644
index cb7be713a6262769c30a3d0b6b9206f7381a504c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1221
zcmchX%TB{U3`Iv>@)az*?9b$b@+vJADirY)J0y^@;S-0PGh&8D6-qZ`Vfk@=?Xj(d
za1nmKRak|~<rn5eyy0txVTgOQS454usH!TW@aefB_JRob8vsemkR8EOkS;^EK%Noi
zwy;RwXUG-738bZDf%HJ05QSw8#6tQe5Zm1XX(=S6Bfqc+*#W7KA&=n9sD1Qk#J$z<
z|B4d0Jq|SZe4zB#L~YHqnyBONVBX~D!x#wWBGQJORS#s1uR!FJ#Tr)IWJo(|(V03#
z7vQ2;Xp|-M#RF;bvBq>1j)}{NYDAN!`GHA|p!tbu&wrcNFjw#$1lG{B4LVJQ)U5Fi
z&JH9f*KE{)F9(*!q;`)KqUkBC`Es@MA*E1Z{x`lE#q$=@!THJ=oz7q`EN6iyWB2&o
Lv_jJ#P}%A?UL{Uy

diff --git a/src/data/themes/tools/icons48.line.tga b/src/data/themes/tools/icons48.line.tga
deleted file mode 100644
index 19f9f9c89cb9c05876e181dcade9c54631c1cde0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1141
zcmbu8%Sr=55Jfv%zrv-<{FEOuzKzfLegs4jgaOIgmEYlixG!_gkgg;kI5>-<>ejtg
zx4W5A*2?@FmSI`nm{P8U30U*-8F5bbXc@Cl?5tu%tZmyUkZn9j9)HcqG#nr{0NZ^3
zjtdy~gd%MjtF%i9cZ8&g-2yd83(_k}u`0a=x*?=Au}YI6o-{E><_3q0RjIyolhVX0
z%~N__yhMZF#2PT~CMn+a81`1}y4q4F21^^=g+q3VZ)ex%c&ek0$zBNV9g)2fB=3{G
z)pCc-KoatlL0)L=QS!wzF%_P2o5s;{<AicRV~z*3&J-&;KZj&FF8AzKidNDTc&HFN
zp#F7$WJj4fY6bhx03CRxy&SMI`pY!#Yxmlw$y3CCmHANkTQKRA?oXg$Hf3mrAE&wt
A@&Et;

diff --git a/src/data/themes/tools/icons48.pixel.tga b/src/data/themes/tools/icons48.pixel.tga
deleted file mode 100644
index 976b66a4be25f2b9842f0f6933b2fe27d94ca2d8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1210
zcmaKrIZgyY3`J{FPC-aGm*ODJz6i1Jgd~iFh>17{_aHCky%P1CQG)}I>-+nc?XD?h
zt^C-$%**=58^;y*1U9^X)Otqr=&>$M?6hM=Y_V9>0@=ia<nzxZnS=sjGqBCquX+LF
z9#^FO#yag1!W}L&v0I>l(n9GKN3mXd4RnJ`X|PU{As(8TlDR=~heNS$<GY9*+E+xx
zj-g?758n%%+=3ZNMi6o>1JFKvtZud6WpqN+t|4I$K=lZZ)kC~r(xr=85mB>K?in`L
zRQ^BOi{!SvUgn}q*dN{39nM%&b{AyZR!m5?N#`{pQH(OG14cQ^S&6)tT5Yte@TNpz
zkJ=5{5vUk_4+YY*wdwCqsa-M|i*1ZVR|KZ+P{0Ax-vOdnTe0oVID*N|xcM9|$W{{N
n<=Kj41-urywoS{@fDx27i&>k>ZT=ff_&BF1FX*SjW8UgF9IX}J

diff --git a/src/data/themes/tools/icons48.select.tga b/src/data/themes/tools/icons48.select.tga
deleted file mode 100644
index 09ee6310d024e7a87551a309eaa640afb98c799e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1457
zcmeH{I}XA?3`CcfQ&3Xoiu{E{1xQpBIRQsBnP<pI79b%};$kyv&x|+LCaq1|GrHEb
z+5Dz$SvJb`F~m;j)pnukRaKCA|H6MH<E8oGW$52s$CJ7#;+)R`t%bfXAX~}`v>1`>
z;;2>MLa5MITA)mXh6tzFQ<NPMd`2>k{Ui10gG{NU6j?EVXNAZdCCuaSrqH*@3YnHx
zV2Z+8n~Im+7)G($sw!>HrWmN21$xkzobow!kaI?yfFBJM_q8dnfT{a_Hjqn>9aDN>
jV1yMp?8}%;_FS++hW$9YoEkaF@(Lk4XiMQD<p1#<3cQ_(

diff --git a/src/data/themes/tools/icons48.tile.tga b/src/data/themes/tools/icons48.tile.tga
deleted file mode 100644
index 8ca8bae6e6858c981ff2c6b826800a4e1770e5fd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1268
zcma)*u}%X)3`DoiS5Q*sXYPY8Asiqi5JE|ng7z9damhT39cdIqTv+zbtUdPLwYF)$
zwr$&XcmJ*QPj?Wy^oxBdB5mus_Jhud49o)d0*DOk1k3`63@iekMvwQ=qi#&oR5zeR
zUz4k^$V8Asi^)|*WFp9+&*VkC(kG<=M~Mu5211L0=xcx;q`bo0*v3f_X-sY)rZf-}
z8DQg1V-7#}^JpFuUHb$~jwvCBNRycyO2~zBW)WJu(~xT*L>dS|253%-Q?q(sq7V5S
zfJgCU^_37Ykz5CLm3m77wHHNuU6K7mhVlS&kSV_?jVh4oaV@eS-NmZ8!jeW&3fw^E
u+N(U|Syhnc2#VE1e$k<<i-&bnyjae57re`1Rh|NxynpIcyaM=-?0x{c&5@%3

diff --git a/src/dataTools/__init__.py b/src/dataTools/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/src/dataTools/odict.py b/src/dataTools/odict.py
deleted file mode 100644
index 2c8391d..0000000
--- a/src/dataTools/odict.py
+++ /dev/null
@@ -1,1399 +0,0 @@
-# odict.py
-# An Ordered Dictionary object
-# Copyright (C) 2005 Nicola Larosa, Michael Foord
-# E-mail: nico AT tekNico DOT net, fuzzyman AT voidspace DOT org DOT uk
-
-# This software is licensed under the terms of the BSD license.
-# http://www.voidspace.org.uk/python/license.shtml
-# Basically you're free to copy, modify, distribute and relicense it,
-# So long as you keep a copy of the license with it.
-
-# Documentation at http://www.voidspace.org.uk/python/odict.html
-# For information about bugfixes, updates and support, please join the
-# Pythonutils mailing list:
-# http://groups.google.com/group/pythonutils/
-# Comments, suggestions and bug reports welcome.
-
-"""A dict that keeps keys in insertion order"""
-from __future__ import generators
-
-__author__ = ('Nicola Larosa <nico-NoSp@m-tekNico.net>,'
-    'Michael Foord <fuzzyman AT voidspace DOT org DOT uk>')
-
-__docformat__ = "restructuredtext en"
-
-__revision__ = '$Id: odict.py 129 2005-09-12 18:15:28Z teknico $'
-
-__version__ = '0.2.2'
-
-__all__ = ['OrderedDict', 'SequenceOrderedDict']
-
-import sys
-INTP_VER = sys.version_info[:2]
-if INTP_VER < (2, 2):
-    raise RuntimeError("Python v.2.2 or later required")
-
-import types, warnings
-
-class OrderedDict(dict):
-    """
-    A class of dictionary that keeps the insertion order of keys.
-    
-    All appropriate methods return keys, items, or values in an ordered way.
-    
-    All normal dictionary methods are available. Update and comparison is
-    restricted to other OrderedDict objects.
-    
-    Various sequence methods are available, including the ability to explicitly
-    mutate the key ordering.
-    
-    __contains__ tests:
-    
-    >>> d = OrderedDict(((1, 3),))
-    >>> 1 in d
-    1
-    >>> 4 in d
-    0
-    
-    __getitem__ tests:
-    
-    >>> OrderedDict(((1, 3), (3, 2), (2, 1)))[2]
-    1
-    >>> OrderedDict(((1, 3), (3, 2), (2, 1)))[4]
-    Traceback (most recent call last):
-    KeyError: 4
-    
-    __len__ tests:
-    
-    >>> len(OrderedDict())
-    0
-    >>> len(OrderedDict(((1, 3), (3, 2), (2, 1))))
-    3
-    
-    get tests:
-    
-    >>> d = OrderedDict(((1, 3), (3, 2), (2, 1)))
-    >>> d.get(1)
-    3
-    >>> d.get(4) is None
-    1
-    >>> d.get(4, 5)
-    5
-    >>> d
-    OrderedDict([(1, 3), (3, 2), (2, 1)])
-    
-    has_key tests:
-    
-    >>> d = OrderedDict(((1, 3), (3, 2), (2, 1)))
-    >>> d.has_key(1)
-    1
-    >>> d.has_key(4)
-    0
-    """
-
-    def __init__(self, init_val=(), strict=False):
-        """
-        Create a new ordered dictionary. Cannot init from a normal dict,
-        nor from kwargs, since items order is undefined in those cases.
-        
-        If the ``strict`` keyword argument is ``True`` (``False`` is the
-        default) then when doing slice assignment - the ``OrderedDict`` you are
-        assigning from *must not* contain any keys in the remaining dict.
-        
-        >>> OrderedDict()
-        OrderedDict([])
-        >>> OrderedDict({1: 1})
-        Traceback (most recent call last):
-        TypeError: undefined order, cannot get items from dict
-        >>> OrderedDict({1: 1}.items())
-        OrderedDict([(1, 1)])
-        >>> d = OrderedDict(((1, 3), (3, 2), (2, 1)))
-        >>> d
-        OrderedDict([(1, 3), (3, 2), (2, 1)])
-        >>> OrderedDict(d)
-        OrderedDict([(1, 3), (3, 2), (2, 1)])
-        """
-        self.strict = strict
-        dict.__init__(self)
-        if isinstance(init_val, OrderedDict):
-            self._sequence = init_val.keys()
-            dict.update(self, init_val)
-        elif isinstance(init_val, dict):
-            # we lose compatibility with other ordered dict types this way
-            raise TypeError('undefined order, cannot get items from dict')
-        else:
-            self._sequence = []
-            self.update(init_val)
-
-### Special methods ###
-
-    def __delitem__(self, key):
-        """
-        >>> d = OrderedDict(((1, 3), (3, 2), (2, 1)))
-        >>> del d[3]
-        >>> d
-        OrderedDict([(1, 3), (2, 1)])
-        >>> del d[3]
-        Traceback (most recent call last):
-        KeyError: 3
-        >>> d[3] = 2
-        >>> d
-        OrderedDict([(1, 3), (2, 1), (3, 2)])
-        >>> del d[0:1]
-        >>> d
-        OrderedDict([(2, 1), (3, 2)])
-        """
-        if isinstance(key, types.SliceType):
-            # FIXME: efficiency?
-            keys = self._sequence[key]
-            for entry in keys:
-                dict.__delitem__(self, entry)
-            del self._sequence[key]
-        else:
-            # do the dict.__delitem__ *first* as it raises
-            # the more appropriate error
-            dict.__delitem__(self, key)
-            self._sequence.remove(key)
-
-    def __eq__(self, other):
-        """
-        >>> d = OrderedDict(((1, 3), (3, 2), (2, 1)))
-        >>> d == OrderedDict(d)
-        True
-        >>> d == OrderedDict(((1, 3), (2, 1), (3, 2)))
-        False
-        >>> d == OrderedDict(((1, 0), (3, 2), (2, 1)))
-        False
-        >>> d == OrderedDict(((0, 3), (3, 2), (2, 1)))
-        False
-        >>> d == dict(d)
-        False
-        >>> d == False
-        False
-        """
-        if isinstance(other, OrderedDict):
-            # FIXME: efficiency?
-            #   Generate both item lists for each compare
-            return (self.items() == other.items())
-        else:
-            return False
-
-    def __lt__(self, other):
-        """
-        >>> d = OrderedDict(((1, 3), (3, 2), (2, 1)))
-        >>> c = OrderedDict(((0, 3), (3, 2), (2, 1)))
-        >>> c < d
-        True
-        >>> d < c
-        False
-        >>> d < dict(c)
-        Traceback (most recent call last):
-        TypeError: Can only compare with other OrderedDicts
-        """
-        if not isinstance(other, OrderedDict):
-            raise TypeError('Can only compare with other OrderedDicts')
-        # FIXME: efficiency?
-        #   Generate both item lists for each compare
-        return (self.items() < other.items())
-
-    def __le__(self, other):
-        """
-        >>> d = OrderedDict(((1, 3), (3, 2), (2, 1)))
-        >>> c = OrderedDict(((0, 3), (3, 2), (2, 1)))
-        >>> e = OrderedDict(d)
-        >>> c <= d
-        True
-        >>> d <= c
-        False
-        >>> d <= dict(c)
-        Traceback (most recent call last):
-        TypeError: Can only compare with other OrderedDicts
-        >>> d <= e
-        True
-        """
-        if not isinstance(other, OrderedDict):
-            raise TypeError('Can only compare with other OrderedDicts')
-        # FIXME: efficiency?
-        #   Generate both item lists for each compare
-        return (self.items() <= other.items())
-
-    def __ne__(self, other):
-        """
-        >>> d = OrderedDict(((1, 3), (3, 2), (2, 1)))
-        >>> d != OrderedDict(d)
-        False
-        >>> d != OrderedDict(((1, 3), (2, 1), (3, 2)))
-        True
-        >>> d != OrderedDict(((1, 0), (3, 2), (2, 1)))
-        True
-        >>> d == OrderedDict(((0, 3), (3, 2), (2, 1)))
-        False
-        >>> d != dict(d)
-        True
-        >>> d != False
-        True
-        """
-        if isinstance(other, OrderedDict):
-            # FIXME: efficiency?
-            #   Generate both item lists for each compare
-            return not (self.items() == other.items())
-        else:
-            return True
-
-    def __gt__(self, other):
-        """
-        >>> d = OrderedDict(((1, 3), (3, 2), (2, 1)))
-        >>> c = OrderedDict(((0, 3), (3, 2), (2, 1)))
-        >>> d > c
-        True
-        >>> c > d
-        False
-        >>> d > dict(c)
-        Traceback (most recent call last):
-        TypeError: Can only compare with other OrderedDicts
-        """
-        if not isinstance(other, OrderedDict):
-            raise TypeError('Can only compare with other OrderedDicts')
-        # FIXME: efficiency?
-        #   Generate both item lists for each compare
-        return (self.items() > other.items())
-
-    def __ge__(self, other):
-        """
-        >>> d = OrderedDict(((1, 3), (3, 2), (2, 1)))
-        >>> c = OrderedDict(((0, 3), (3, 2), (2, 1)))
-        >>> e = OrderedDict(d)
-        >>> c >= d
-        False
-        >>> d >= c
-        True
-        >>> d >= dict(c)
-        Traceback (most recent call last):
-        TypeError: Can only compare with other OrderedDicts
-        >>> e >= d
-        True
-        """
-        if not isinstance(other, OrderedDict):
-            raise TypeError('Can only compare with other OrderedDicts')
-        # FIXME: efficiency?
-        #   Generate both item lists for each compare
-        return (self.items() >= other.items())
-
-    def __repr__(self):
-        """
-        Used for __repr__ and __str__
-        
-        >>> r1 = repr(OrderedDict((('a', 'b'), ('c', 'd'), ('e', 'f'))))
-        >>> r1
-        "OrderedDict([('a', 'b'), ('c', 'd'), ('e', 'f')])"
-        >>> r2 = repr(OrderedDict((('a', 'b'), ('e', 'f'), ('c', 'd'))))
-        >>> r2
-        "OrderedDict([('a', 'b'), ('e', 'f'), ('c', 'd')])"
-        >>> r1 == str(OrderedDict((('a', 'b'), ('c', 'd'), ('e', 'f'))))
-        True
-        >>> r2 == str(OrderedDict((('a', 'b'), ('e', 'f'), ('c', 'd'))))
-        True
-        """
-        return '%s([%s])' % (self.__class__.__name__, ', '.join(
-            ['(%r, %r)' % (key, self[key]) for key in self._sequence]))
-
-    def __setitem__(self, key, val):
-        """
-        Allows slice assignment, so long as the slice is an OrderedDict
-        >>> d = OrderedDict()
-        >>> d['a'] = 'b'
-        >>> d['b'] = 'a'
-        >>> d[3] = 12
-        >>> d
-        OrderedDict([('a', 'b'), ('b', 'a'), (3, 12)])
-        >>> d[:] = OrderedDict(((1, 2), (2, 3), (3, 4)))
-        >>> d
-        OrderedDict([(1, 2), (2, 3), (3, 4)])
-        >>> d[::2] = OrderedDict(((7, 8), (9, 10)))
-        >>> d
-        OrderedDict([(7, 8), (2, 3), (9, 10)])
-        >>> d = OrderedDict(((0, 1), (1, 2), (2, 3), (3, 4)))
-        >>> d[1:3] = OrderedDict(((1, 2), (5, 6), (7, 8)))
-        >>> d
-        OrderedDict([(0, 1), (1, 2), (5, 6), (7, 8), (3, 4)])
-        >>> d = OrderedDict(((0, 1), (1, 2), (2, 3), (3, 4)), strict=True)
-        >>> d[1:3] = OrderedDict(((1, 2), (5, 6), (7, 8)))
-        >>> d
-        OrderedDict([(0, 1), (1, 2), (5, 6), (7, 8), (3, 4)])
-        
-        >>> a = OrderedDict(((0, 1), (1, 2), (2, 3)), strict=True)
-        >>> a[3] = 4
-        >>> a
-        OrderedDict([(0, 1), (1, 2), (2, 3), (3, 4)])
-        >>> a[::1] = OrderedDict([(0, 1), (1, 2), (2, 3), (3, 4)])
-        >>> a
-        OrderedDict([(0, 1), (1, 2), (2, 3), (3, 4)])
-        >>> a[:2] = OrderedDict([(0, 1), (1, 2), (2, 3), (3, 4), (4, 5)])
-        Traceback (most recent call last):
-        ValueError: slice assignment must be from unique keys
-        >>> a = OrderedDict(((0, 1), (1, 2), (2, 3)))
-        >>> a[3] = 4
-        >>> a
-        OrderedDict([(0, 1), (1, 2), (2, 3), (3, 4)])
-        >>> a[::1] = OrderedDict([(0, 1), (1, 2), (2, 3), (3, 4)])
-        >>> a
-        OrderedDict([(0, 1), (1, 2), (2, 3), (3, 4)])
-        >>> a[:2] = OrderedDict([(0, 1), (1, 2), (2, 3), (3, 4)])
-        >>> a
-        OrderedDict([(0, 1), (1, 2), (2, 3), (3, 4)])
-        >>> a[::-1] = OrderedDict([(0, 1), (1, 2), (2, 3), (3, 4)])
-        >>> a
-        OrderedDict([(3, 4), (2, 3), (1, 2), (0, 1)])
-        
-        >>> d = OrderedDict([(0, 1), (1, 2), (2, 3), (3, 4)])
-        >>> d[:1] = 3
-        Traceback (most recent call last):
-        TypeError: slice assignment requires an OrderedDict
-        
-        >>> d = OrderedDict([(0, 1), (1, 2), (2, 3), (3, 4)])
-        >>> d[:1] = OrderedDict([(9, 8)])
-        >>> d
-        OrderedDict([(9, 8), (1, 2), (2, 3), (3, 4)])
-        """
-        if isinstance(key, types.SliceType):
-            if not isinstance(val, OrderedDict):
-                # FIXME: allow a list of tuples?
-                raise TypeError('slice assignment requires an OrderedDict')
-            keys = self._sequence[key]
-            # NOTE: Could use ``range(*key.indices(len(self._sequence)))``
-            indexes = range(len(self._sequence))[key]
-            if key.step is None:
-                # NOTE: new slice may not be the same size as the one being
-                #   overwritten !
-                # NOTE: What is the algorithm for an impossible slice?
-                #   e.g. d[5:3]
-                pos = key.start or 0
-                del self[key]
-                newkeys = val.keys()
-                for k in newkeys:
-                    if k in self:
-                        if self.strict:
-                            raise ValueError('slice assignment must be from '
-                                'unique keys')
-                        else:
-                            # NOTE: This removes duplicate keys *first*
-                            #   so start position might have changed?
-                            del self[k]
-                self._sequence = (self._sequence[:pos] + newkeys +
-                    self._sequence[pos:])
-                dict.update(self, val)
-            else:
-                # extended slice - length of new slice must be the same
-                # as the one being replaced
-                if len(keys) != len(val):
-                    raise ValueError('attempt to assign sequence of size %s '
-                        'to extended slice of size %s' % (len(val), len(keys)))
-                # FIXME: efficiency?
-                del self[key]
-                item_list = zip(indexes, val.items())
-                # smallest indexes first - higher indexes not guaranteed to
-                # exist
-                item_list.sort()
-                for pos, (newkey, newval) in item_list:
-                    if self.strict and newkey in self:
-                        raise ValueError('slice assignment must be from unique'
-                            ' keys')
-                    self.insert(pos, newkey, newval)
-        else:
-            if key not in self:
-                self._sequence.append(key)
-            dict.__setitem__(self, key, val)
-
-    def __getitem__(self, key):
-        """
-        Allows slicing. Returns an OrderedDict if you slice.
-        >>> b = OrderedDict([(7, 0), (6, 1), (5, 2), (4, 3), (3, 4), (2, 5), (1, 6)])
-        >>> b[::-1]
-        OrderedDict([(1, 6), (2, 5), (3, 4), (4, 3), (5, 2), (6, 1), (7, 0)])
-        >>> b[2:5]
-        OrderedDict([(5, 2), (4, 3), (3, 4)])
-        >>> type(b[2:4])
-        <class '__main__.OrderedDict'>
-        """
-        if isinstance(key, types.SliceType):
-            # FIXME: does this raise the error we want?
-            keys = self._sequence[key]
-            # FIXME: efficiency?
-            return OrderedDict([(entry, self[entry]) for entry in keys])
-        else:
-            return dict.__getitem__(self, key)
-
-    __str__ = __repr__
-
-    def __setattr__(self, name, value):
-        """
-        Implemented so that accesses to ``sequence`` raise a warning and are
-        diverted to the new ``setkeys`` method.
-        """
-        if name == 'sequence':
-            warnings.warn('Use of the sequence attribute is deprecated.'
-                ' Use the keys method instead.', DeprecationWarning)
-            # NOTE: doesn't return anything
-            self.setkeys(value)
-        else:
-            # FIXME: do we want to allow arbitrary setting of attributes?
-            #   Or do we want to manage it?
-            object.__setattr__(self, name, value)
-
-    def __getattr__(self, name):
-        """
-        Implemented so that access to ``sequence`` raises a warning.
-        
-        >>> d = OrderedDict()
-        >>> d.sequence
-        []
-        """
-        if name == 'sequence':
-            warnings.warn('Use of the sequence attribute is deprecated.'
-                ' Use the keys method instead.', DeprecationWarning)
-            # NOTE: Still (currently) returns a direct reference. Need to
-            #   because code that uses sequence will expect to be able to
-            #   mutate it in place.
-            return self._sequence
-        else:
-            # raise the appropriate error
-            raise AttributeError("OrderedDict has no '%s' attribute" % name)
-
-    def __deepcopy__(self, memo):
-        """
-        To allow deepcopy to work with OrderedDict.
-        
-        >>> from copy import deepcopy
-        >>> a = OrderedDict([(1, 1), (2, 2), (3, 3)])
-        >>> a['test'] = {}
-        >>> b = deepcopy(a)
-        >>> b == a
-        True
-        >>> b is a
-        False
-        >>> a['test'] is b['test']
-        False
-        """
-        from copy import deepcopy
-        return self.__class__(deepcopy(self.items(), memo), self.strict)
-
-
-### Read-only methods ###
-
-    def copy(self):
-        """
-        >>> OrderedDict(((1, 3), (3, 2), (2, 1))).copy()
-        OrderedDict([(1, 3), (3, 2), (2, 1)])
-        """
-        return OrderedDict(self)
-
-    def items(self):
-        """
-        ``items`` returns a list of tuples representing all the 
-        ``(key, value)`` pairs in the dictionary.
-        
-        >>> d = OrderedDict(((1, 3), (3, 2), (2, 1)))
-        >>> d.items()
-        [(1, 3), (3, 2), (2, 1)]
-        >>> d.clear()
-        >>> d.items()
-        []
-        """
-        return zip(self._sequence, self.values())
-
-    def keys(self):
-        """
-        Return a list of keys in the ``OrderedDict``.
-        
-        >>> d = OrderedDict(((1, 3), (3, 2), (2, 1)))
-        >>> d.keys()
-        [1, 3, 2]
-        """
-        return self._sequence[:]
-
-    def values(self, values=None):
-        """
-        Return a list of all the values in the OrderedDict.
-        
-        Optionally you can pass in a list of values, which will replace the
-        current list. The value list must be the same len as the OrderedDict.
-        
-        >>> d = OrderedDict(((1, 3), (3, 2), (2, 1)))
-        >>> d.values()
-        [3, 2, 1]
-        """
-        return [self[key] for key in self._sequence]
-
-    def iteritems(self):
-        """
-        >>> ii = OrderedDict(((1, 3), (3, 2), (2, 1))).iteritems()
-        >>> ii.next()
-        (1, 3)
-        >>> ii.next()
-        (3, 2)
-        >>> ii.next()
-        (2, 1)
-        >>> ii.next()
-        Traceback (most recent call last):
-        StopIteration
-        """
-        def make_iter(self=self):
-            keys = self.iterkeys()
-            while True:
-                key = keys.next()
-                yield (key, self[key])
-        return make_iter()
-
-    def iterkeys(self):
-        """
-        >>> ii = OrderedDict(((1, 3), (3, 2), (2, 1))).iterkeys()
-        >>> ii.next()
-        1
-        >>> ii.next()
-        3
-        >>> ii.next()
-        2
-        >>> ii.next()
-        Traceback (most recent call last):
-        StopIteration
-        """
-        return iter(self._sequence)
-
-    __iter__ = iterkeys
-
-    def itervalues(self):
-        """
-        >>> iv = OrderedDict(((1, 3), (3, 2), (2, 1))).itervalues()
-        >>> iv.next()
-        3
-        >>> iv.next()
-        2
-        >>> iv.next()
-        1
-        >>> iv.next()
-        Traceback (most recent call last):
-        StopIteration
-        """
-        def make_iter(self=self):
-            keys = self.iterkeys()
-            while True:
-                yield self[keys.next()]
-        return make_iter()
-
-### Read-write methods ###
-
-    def clear(self):
-        """
-        >>> d = OrderedDict(((1, 3), (3, 2), (2, 1)))
-        >>> d.clear()
-        >>> d
-        OrderedDict([])
-        """
-        dict.clear(self)
-        self._sequence = []
-
-    def pop(self, key, *args):
-        """
-        No dict.pop in Python 2.2, gotta reimplement it
-        
-        >>> d = OrderedDict(((1, 3), (3, 2), (2, 1)))
-        >>> d.pop(3)
-        2
-        >>> d
-        OrderedDict([(1, 3), (2, 1)])
-        >>> d.pop(4)
-        Traceback (most recent call last):
-        KeyError: 4
-        >>> d.pop(4, 0)
-        0
-        >>> d.pop(4, 0, 1)
-        Traceback (most recent call last):
-        TypeError: pop expected at most 2 arguments, got 3
-        """
-        if len(args) > 1:
-            raise TypeError, ('pop expected at most 2 arguments, got %s' %
-                (len(args) + 1))
-        if key in self:
-            val = self[key]
-            del self[key]
-        else:
-            try:
-                val = args[0]
-            except IndexError:
-                raise KeyError(key)
-        return val
-
-    def popitem(self, i=-1):
-        """
-        Delete and return an item specified by index, not a random one as in
-        dict. The index is -1 by default (the last item).
-        
-        >>> d = OrderedDict(((1, 3), (3, 2), (2, 1)))
-        >>> d.popitem()
-        (2, 1)
-        >>> d
-        OrderedDict([(1, 3), (3, 2)])
-        >>> d.popitem(0)
-        (1, 3)
-        >>> OrderedDict().popitem()
-        Traceback (most recent call last):
-        KeyError: 'popitem(): dictionary is empty'
-        >>> d.popitem(2)
-        Traceback (most recent call last):
-        IndexError: popitem(): index 2 not valid
-        """
-        if not self._sequence:
-            raise KeyError('popitem(): dictionary is empty')
-        try:
-            key = self._sequence[i]
-        except IndexError:
-            raise IndexError('popitem(): index %s not valid' % i)
-        return (key, self.pop(key))
-
-    def setdefault(self, key, defval = None):
-        """
-        >>> d = OrderedDict(((1, 3), (3, 2), (2, 1)))
-        >>> d.setdefault(1)
-        3
-        >>> d.setdefault(4) is None
-        True
-        >>> d
-        OrderedDict([(1, 3), (3, 2), (2, 1), (4, None)])
-        >>> d.setdefault(5, 0)
-        0
-        >>> d
-        OrderedDict([(1, 3), (3, 2), (2, 1), (4, None), (5, 0)])
-        """
-        if key in self:
-            return self[key]
-        else:
-            self[key] = defval
-            return defval
-
-    def update(self, from_od):
-        """
-        Update from another OrderedDict or sequence of (key, value) pairs
-        
-        >>> d = OrderedDict(((1, 0), (0, 1)))
-        >>> d.update(OrderedDict(((1, 3), (3, 2), (2, 1))))
-        >>> d
-        OrderedDict([(1, 3), (0, 1), (3, 2), (2, 1)])
-        >>> d.update({4: 4})
-        Traceback (most recent call last):
-        TypeError: undefined order, cannot get items from dict
-        >>> d.update((4, 4))
-        Traceback (most recent call last):
-        TypeError: cannot convert dictionary update sequence element "4" to a 2-item sequence
-        """
-        if isinstance(from_od, OrderedDict):
-            for key, val in from_od.items():
-                self[key] = val
-        elif isinstance(from_od, dict):
-            # we lose compatibility with other ordered dict types this way
-            raise TypeError('undefined order, cannot get items from dict')
-        else:
-            # FIXME: efficiency?
-            # sequence of 2-item sequences, or error
-            for item in from_od:
-                try:
-                    key, val = item
-                except TypeError:
-                    raise TypeError('cannot convert dictionary update'
-                        ' sequence element "%s" to a 2-item sequence' % item)
-                self[key] = val
-
-    def rename(self, old_key, new_key):
-        """
-        Rename the key for a given value, without modifying sequence order.
-        
-        For the case where new_key already exists this raise an exception,
-        since if new_key exists, it is ambiguous as to what happens to the
-        associated values, and the position of new_key in the sequence.
-        
-        >>> od = OrderedDict()
-        >>> od['a'] = 1
-        >>> od['b'] = 2
-        >>> od.items()
-        [('a', 1), ('b', 2)]
-        >>> od.rename('b', 'c')
-        >>> od.items()
-        [('a', 1), ('c', 2)]
-        >>> od.rename('c', 'a')
-        Traceback (most recent call last):
-        ValueError: New key already exists: 'a'
-        >>> od.rename('d', 'b')
-        Traceback (most recent call last):
-        KeyError: 'd'
-        """
-        if new_key == old_key:
-            # no-op
-            return
-        if new_key in self:
-            raise ValueError("New key already exists: %r" % new_key)
-        # rename sequence entry
-        value = self[old_key] 
-        old_idx = self._sequence.index(old_key)
-        self._sequence[old_idx] = new_key
-        # rename internal dict entry
-        dict.__delitem__(self, old_key)
-        dict.__setitem__(self, new_key, value)
-
-    def setitems(self, items):
-        """
-        This method allows you to set the items in the dict.
-        
-        It takes a list of tuples - of the same sort returned by the ``items``
-        method.
-        
-        >>> d = OrderedDict()
-        >>> d.setitems(((3, 1), (2, 3), (1, 2)))
-        >>> d
-        OrderedDict([(3, 1), (2, 3), (1, 2)])
-        """
-        self.clear()
-        # FIXME: this allows you to pass in an OrderedDict as well :-)
-        self.update(items)
-
-    def setkeys(self, keys):
-        """
-        ``setkeys`` all ows you to pass in a new list of keys which will
-        replace the current set. This must contain the same set of keys, but
-        need not be in the same order.
-        
-        If you pass in new keys that don't match, a ``KeyError`` will be
-        raised.
-        
-        >>> d = OrderedDict(((1, 3), (3, 2), (2, 1)))
-        >>> d.keys()
-        [1, 3, 2]
-        >>> d.setkeys((1, 2, 3))
-        >>> d
-        OrderedDict([(1, 3), (2, 1), (3, 2)])
-        >>> d.setkeys(['a', 'b', 'c'])
-        Traceback (most recent call last):
-        KeyError: 'Keylist is not the same as current keylist.'
-        """
-        # FIXME: Efficiency? (use set for Python 2.4 :-)
-        # NOTE: list(keys) rather than keys[:] because keys[:] returns
-        #   a tuple, if keys is a tuple.
-        kcopy = list(keys)
-        kcopy.sort()
-        self._sequence.sort()
-        if kcopy != self._sequence:
-            raise KeyError('Keylist is not the same as current keylist.')
-        # NOTE: This makes the _sequence attribute a new object, instead
-        #       of changing it in place.
-        # FIXME: efficiency?
-        self._sequence = list(keys)
-
-    def setvalues(self, values):
-        """
-        You can pass in a list of values, which will replace the
-        current list. The value list must be the same len as the OrderedDict.
-        
-        (Or a ``ValueError`` is raised.)
-        
-        >>> d = OrderedDict(((1, 3), (3, 2), (2, 1)))
-        >>> d.setvalues((1, 2, 3))
-        >>> d
-        OrderedDict([(1, 1), (3, 2), (2, 3)])
-        >>> d.setvalues([6])
-        Traceback (most recent call last):
-        ValueError: Value list is not the same length as the OrderedDict.
-        """
-        if len(values) != len(self):
-            # FIXME: correct error to raise?
-            raise ValueError('Value list is not the same length as the '
-                'OrderedDict.')
-        self.update(zip(self, values))
-
-### Sequence Methods ###
-
-    def index(self, key):
-        """
-        Return the position of the specified key in the OrderedDict.
-        
-        >>> d = OrderedDict(((1, 3), (3, 2), (2, 1)))
-        >>> d.index(3)
-        1
-        >>> d.index(4)
-        Traceback (most recent call last):
-        ValueError: list.index(x): x not in list
-        """
-        return self._sequence.index(key)
-
-    def insert(self, index, key, value):
-        """
-        Takes ``index``, ``key``, and ``value`` as arguments.
-        
-        Sets ``key`` to ``value``, so that ``key`` is at position ``index`` in
-        the OrderedDict.
-        
-        >>> d = OrderedDict(((1, 3), (3, 2), (2, 1)))
-        >>> d.insert(0, 4, 0)
-        >>> d
-        OrderedDict([(4, 0), (1, 3), (3, 2), (2, 1)])
-        >>> d.insert(0, 2, 1)
-        >>> d
-        OrderedDict([(2, 1), (4, 0), (1, 3), (3, 2)])
-        >>> d.insert(8, 8, 1)
-        >>> d
-        OrderedDict([(2, 1), (4, 0), (1, 3), (3, 2), (8, 1)])
-        """
-        if key in self:
-            # FIXME: efficiency?
-            del self[key]
-        self._sequence.insert(index, key)
-        dict.__setitem__(self, key, value)
-
-    def reverse(self):
-        """
-        Reverse the order of the OrderedDict.
-        
-        >>> d = OrderedDict(((1, 3), (3, 2), (2, 1)))
-        >>> d.reverse()
-        >>> d
-        OrderedDict([(2, 1), (3, 2), (1, 3)])
-        """
-        self._sequence.reverse()
-
-    def sort(self, *args, **kwargs):
-        """
-        Sort the key order in the OrderedDict.
-        
-        This method takes the same arguments as the ``list.sort`` method on
-        your version of Python.
-        
-        >>> d = OrderedDict(((4, 1), (2, 2), (3, 3), (1, 4)))
-        >>> d.sort()
-        >>> d
-        OrderedDict([(1, 4), (2, 2), (3, 3), (4, 1)])
-        """
-        self._sequence.sort(*args, **kwargs)
-
-class Keys(object):
-    # FIXME: should this object be a subclass of list?
-    """
-    Custom object for accessing the keys of an OrderedDict.
-    
-    Can be called like the normal ``OrderedDict.keys`` method, but also
-    supports indexing and sequence methods.
-    """
-
-    def __init__(self, main):
-        self._main = main
-
-    def __call__(self):
-        """Pretend to be the keys method."""
-        return self._main._keys()
-
-    def __getitem__(self, index):
-        """Fetch the key at position i."""
-        # NOTE: this automatically supports slicing :-)
-        return self._main._sequence[index]
-
-    def __setitem__(self, index, name):
-        """
-        You cannot assign to keys, but you can do slice assignment to re-order
-        them.
-        
-        You can only do slice assignment if the new set of keys is a reordering
-        of the original set.
-        """
-        if isinstance(index, types.SliceType):
-            # FIXME: efficiency?
-            # check length is the same
-            indexes = range(len(self._main._sequence))[index]
-            if len(indexes) != len(name):
-                raise ValueError('attempt to assign sequence of size %s '
-                    'to slice of size %s' % (len(name), len(indexes)))
-            # check they are the same keys
-            # FIXME: Use set
-            old_keys = self._main._sequence[index]
-            new_keys = list(name)
-            old_keys.sort()
-            new_keys.sort()
-            if old_keys != new_keys:
-                raise KeyError('Keylist is not the same as current keylist.')
-            orig_vals = [self._main[k] for k in name]
-            del self._main[index]
-            vals = zip(indexes, name, orig_vals)
-            vals.sort()
-            for i, k, v in vals:
-                if self._main.strict and k in self._main:
-                    raise ValueError('slice assignment must be from '
-                        'unique keys')
-                self._main.insert(i, k, v)
-        else:
-            raise ValueError('Cannot assign to keys')
-
-    ### following methods pinched from UserList and adapted ###
-    def __repr__(self): return repr(self._main._sequence)
-
-    # FIXME: do we need to check if we are comparing with another ``Keys``
-    #   object? (like the __cast method of UserList)
-    def __lt__(self, other): return self._main._sequence <  other
-    def __le__(self, other): return self._main._sequence <= other
-    def __eq__(self, other): return self._main._sequence == other
-    def __ne__(self, other): return self._main._sequence != other
-    def __gt__(self, other): return self._main._sequence >  other
-    def __ge__(self, other): return self._main._sequence >= other
-    # FIXME: do we need __cmp__ as well as rich comparisons?
-    def __cmp__(self, other): return cmp(self._main._sequence, other)
-
-    def __contains__(self, item): return item in self._main._sequence
-    def __len__(self): return len(self._main._sequence)
-    def __iter__(self): return self._main.iterkeys()
-    def count(self, item): return self._main._sequence.count(item)
-    def index(self, item, *args): return self._main._sequence.index(item, *args)
-    def reverse(self): self._main._sequence.reverse()
-    def sort(self, *args, **kwds): self._main._sequence.sort(*args, **kwds)
-    def __mul__(self, n): return self._main._sequence*n
-    __rmul__ = __mul__
-    def __add__(self, other): return self._main._sequence + other
-    def __radd__(self, other): return other + self._main._sequence
-
-    ## following methods not implemented for keys ##
-    def __delitem__(self, i): raise TypeError('Can\'t delete items from keys')
-    def __iadd__(self, other): raise TypeError('Can\'t add in place to keys')
-    def __imul__(self, n): raise TypeError('Can\'t multiply keys in place')
-    def append(self, item): raise TypeError('Can\'t append items to keys')
-    def insert(self, i, item): raise TypeError('Can\'t insert items into keys')
-    def pop(self, i=-1): raise TypeError('Can\'t pop items from keys')
-    def remove(self, item): raise TypeError('Can\'t remove items from keys')
-    def extend(self, other): raise TypeError('Can\'t extend keys')
-
-class Items(object):
-    """
-    Custom object for accessing the items of an OrderedDict.
-    
-    Can be called like the normal ``OrderedDict.items`` method, but also
-    supports indexing and sequence methods.
-    """
-
-    def __init__(self, main):
-        self._main = main
-
-    def __call__(self):
-        """Pretend to be the items method."""
-        return self._main._items()
-
-    def __getitem__(self, index):
-        """Fetch the item at position i."""
-        if isinstance(index, types.SliceType):
-            # fetching a slice returns an OrderedDict
-            return self._main[index].items()
-        key = self._main._sequence[index]
-        return (key, self._main[key])
-
-    def __setitem__(self, index, item):
-        """Set item at position i to item."""
-        if isinstance(index, types.SliceType):
-            # NOTE: item must be an iterable (list of tuples)
-            self._main[index] = OrderedDict(item)
-        else:
-            # FIXME: Does this raise a sensible error?
-            orig = self._main.keys[index]
-            key, value = item
-            if self._main.strict and key in self and (key != orig):
-                raise ValueError('slice assignment must be from '
-                        'unique keys')
-            # delete the current one
-            del self._main[self._main._sequence[index]]
-            self._main.insert(index, key, value)
-
-    def __delitem__(self, i):
-        """Delete the item at position i."""
-        key = self._main._sequence[i]
-        if isinstance(i, types.SliceType):
-            for k in key:
-                # FIXME: efficiency?
-                del self._main[k]
-        else:
-            del self._main[key]
-
-    ### following methods pinched from UserList and adapted ###
-    def __repr__(self): return repr(self._main.items())
-
-    # FIXME: do we need to check if we are comparing with another ``Items``
-    #   object? (like the __cast method of UserList)
-    def __lt__(self, other): return self._main.items() <  other
-    def __le__(self, other): return self._main.items() <= other
-    def __eq__(self, other): return self._main.items() == other
-    def __ne__(self, other): return self._main.items() != other
-    def __gt__(self, other): return self._main.items() >  other
-    def __ge__(self, other): return self._main.items() >= other
-    def __cmp__(self, other): return cmp(self._main.items(), other)
-
-    def __contains__(self, item): return item in self._main.items()
-    def __len__(self): return len(self._main._sequence) # easier :-)
-    def __iter__(self): return self._main.iteritems()
-    def count(self, item): return self._main.items().count(item)
-    def index(self, item, *args): return self._main.items().index(item, *args)
-    def reverse(self): self._main.reverse()
-    def sort(self, *args, **kwds): self._main.sort(*args, **kwds)
-    def __mul__(self, n): return self._main.items()*n
-    __rmul__ = __mul__
-    def __add__(self, other): return self._main.items() + other
-    def __radd__(self, other): return other + self._main.items()
-
-    def append(self, item):
-        """Add an item to the end."""
-        # FIXME: this is only append if the key isn't already present
-        key, value = item
-        self._main[key] = value
-
-    def insert(self, i, item):
-        key, value = item
-        self._main.insert(i, key, value)
-
-    def pop(self, i=-1):
-        key = self._main._sequence[i]
-        return (key, self._main.pop(key))
-
-    def remove(self, item):
-        key, value = item
-        try:
-            assert value == self._main[key]
-        except (KeyError, AssertionError):
-            raise ValueError('ValueError: list.remove(x): x not in list')
-        else:
-            del self._main[key]
-
-    def extend(self, other):
-        # FIXME: is only a true extend if none of the keys already present
-        for item in other:
-            key, value = item
-            self._main[key] = value
-
-    def __iadd__(self, other):
-        self.extend(other)
-
-    ## following methods not implemented for items ##
-
-    def __imul__(self, n): raise TypeError('Can\'t multiply items in place')
-
-class Values(object):
-    """
-    Custom object for accessing the values of an OrderedDict.
-    
-    Can be called like the normal ``OrderedDict.values`` method, but also
-    supports indexing and sequence methods.
-    """
-
-    def __init__(self, main):
-        self._main = main
-
-    def __call__(self):
-        """Pretend to be the values method."""
-        return self._main._values()
-
-    def __getitem__(self, index):
-        """Fetch the value at position i."""
-        if isinstance(index, types.SliceType):
-            return [self._main[key] for key in self._main._sequence[index]]
-        else:
-            return self._main[self._main._sequence[index]]
-
-    def __setitem__(self, index, value):
-        """
-        Set the value at position i to value.
-        
-        You can only do slice assignment to values if you supply a sequence of
-        equal length to the slice you are replacing.
-        """
-        if isinstance(index, types.SliceType):
-            keys = self._main._sequence[index]
-            if len(keys) != len(value):
-                raise ValueError('attempt to assign sequence of size %s '
-                    'to slice of size %s' % (len(name), len(keys)))
-            # FIXME: efficiency?  Would be better to calculate the indexes
-            #   directly from the slice object
-            # NOTE: the new keys can collide with existing keys (or even
-            #   contain duplicates) - these will overwrite
-            for key, val in zip(keys, value):
-                self._main[key] = val
-        else:
-            self._main[self._main._sequence[index]] = value
-
-    ### following methods pinched from UserList and adapted ###
-    def __repr__(self): return repr(self._main.values())
-
-    # FIXME: do we need to check if we are comparing with another ``Values``
-    #   object? (like the __cast method of UserList)
-    def __lt__(self, other): return self._main.values() <  other
-    def __le__(self, other): return self._main.values() <= other
-    def __eq__(self, other): return self._main.values() == other
-    def __ne__(self, other): return self._main.values() != other
-    def __gt__(self, other): return self._main.values() >  other
-    def __ge__(self, other): return self._main.values() >= other
-    def __cmp__(self, other): return cmp(self._main.values(), other)
-
-    def __contains__(self, item): return item in self._main.values()
-    def __len__(self): return len(self._main._sequence) # easier :-)
-    def __iter__(self): return self._main.itervalues()
-    def count(self, item): return self._main.values().count(item)
-    def index(self, item, *args): return self._main.values().index(item, *args)
-
-    def reverse(self):
-        """Reverse the values"""
-        vals = self._main.values()
-        vals.reverse()
-        # FIXME: efficiency
-        self[:] = vals
-
-    def sort(self, *args, **kwds):
-        """Sort the values."""
-        vals = self._main.values()
-        vals.sort(*args, **kwds)
-        self[:] = vals
-
-    def __mul__(self, n): return self._main.values()*n
-    __rmul__ = __mul__
-    def __add__(self, other): return self._main.values() + other
-    def __radd__(self, other): return other + self._main.values()
-
-    ## following methods not implemented for values ##
-    def __delitem__(self, i): raise TypeError('Can\'t delete items from values')
-    def __iadd__(self, other): raise TypeError('Can\'t add in place to values')
-    def __imul__(self, n): raise TypeError('Can\'t multiply values in place')
-    def append(self, item): raise TypeError('Can\'t append items to values')
-    def insert(self, i, item): raise TypeError('Can\'t insert items into values')
-    def pop(self, i=-1): raise TypeError('Can\'t pop items from values')
-    def remove(self, item): raise TypeError('Can\'t remove items from values')
-    def extend(self, other): raise TypeError('Can\'t extend values')
-
-class SequenceOrderedDict(OrderedDict):
-    """
-    Experimental version of OrderedDict that has a custom object for ``keys``,
-    ``values``, and ``items``.
-    
-    These are callable sequence objects that work as methods, or can be
-    manipulated directly as sequences.
-    
-    Test for ``keys``, ``items`` and ``values``.
-    
-    >>> d = SequenceOrderedDict(((1, 2), (2, 3), (3, 4)))
-    >>> d
-    SequenceOrderedDict([(1, 2), (2, 3), (3, 4)])
-    >>> d.keys
-    [1, 2, 3]
-    >>> d.keys()
-    [1, 2, 3]
-    >>> d.setkeys((3, 2, 1))
-    >>> d
-    SequenceOrderedDict([(3, 4), (2, 3), (1, 2)])
-    >>> d.setkeys((1, 2, 3))
-    >>> d.keys[0]
-    1
-    >>> d.keys[:]
-    [1, 2, 3]
-    >>> d.keys[-1]
-    3
-    >>> d.keys[-2]
-    2
-    >>> d.keys[0:2] = [2, 1]
-    >>> d
-    SequenceOrderedDict([(2, 3), (1, 2), (3, 4)])
-    >>> d.keys.reverse()
-    >>> d.keys
-    [3, 1, 2]
-    >>> d.keys = [1, 2, 3]
-    >>> d
-    SequenceOrderedDict([(1, 2), (2, 3), (3, 4)])
-    >>> d.keys = [3, 1, 2]
-    >>> d
-    SequenceOrderedDict([(3, 4), (1, 2), (2, 3)])
-    >>> a = SequenceOrderedDict()
-    >>> b = SequenceOrderedDict()
-    >>> a.keys == b.keys
-    1
-    >>> a['a'] = 3
-    >>> a.keys == b.keys
-    0
-    >>> b['a'] = 3
-    >>> a.keys == b.keys
-    1
-    >>> b['b'] = 3
-    >>> a.keys == b.keys
-    0
-    >>> a.keys > b.keys
-    0
-    >>> a.keys < b.keys
-    1
-    >>> 'a' in a.keys
-    1
-    >>> len(b.keys)
-    2
-    >>> 'c' in d.keys
-    0
-    >>> 1 in d.keys
-    1
-    >>> [v for v in d.keys]
-    [3, 1, 2]
-    >>> d.keys.sort()
-    >>> d.keys
-    [1, 2, 3]
-    >>> d = SequenceOrderedDict(((1, 2), (2, 3), (3, 4)), strict=True)
-    >>> d.keys[::-1] = [1, 2, 3]
-    >>> d
-    SequenceOrderedDict([(3, 4), (2, 3), (1, 2)])
-    >>> d.keys[:2]
-    [3, 2]
-    >>> d.keys[:2] = [1, 3]
-    Traceback (most recent call last):
-    KeyError: 'Keylist is not the same as current keylist.'
-
-    >>> d = SequenceOrderedDict(((1, 2), (2, 3), (3, 4)))
-    >>> d
-    SequenceOrderedDict([(1, 2), (2, 3), (3, 4)])
-    >>> d.values
-    [2, 3, 4]
-    >>> d.values()
-    [2, 3, 4]
-    >>> d.setvalues((4, 3, 2))
-    >>> d
-    SequenceOrderedDict([(1, 4), (2, 3), (3, 2)])
-    >>> d.values[::-1]
-    [2, 3, 4]
-    >>> d.values[0]
-    4
-    >>> d.values[-2]
-    3
-    >>> del d.values[0]
-    Traceback (most recent call last):
-    TypeError: Can't delete items from values
-    >>> d.values[::2] = [2, 4]
-    >>> d
-    SequenceOrderedDict([(1, 2), (2, 3), (3, 4)])
-    >>> 7 in d.values
-    0
-    >>> len(d.values)
-    3
-    >>> [val for val in d.values]
-    [2, 3, 4]
-    >>> d.values[-1] = 2
-    >>> d.values.count(2)
-    2
-    >>> d.values.index(2)
-    0
-    >>> d.values[-1] = 7
-    >>> d.values
-    [2, 3, 7]
-    >>> d.values.reverse()
-    >>> d.values
-    [7, 3, 2]
-    >>> d.values.sort()
-    >>> d.values
-    [2, 3, 7]
-    >>> d.values.append('anything')
-    Traceback (most recent call last):
-    TypeError: Can't append items to values
-    >>> d.values = (1, 2, 3)
-    >>> d
-    SequenceOrderedDict([(1, 1), (2, 2), (3, 3)])
-    
-    >>> d = SequenceOrderedDict(((1, 2), (2, 3), (3, 4)))
-    >>> d
-    SequenceOrderedDict([(1, 2), (2, 3), (3, 4)])
-    >>> d.items()
-    [(1, 2), (2, 3), (3, 4)]
-    >>> d.setitems([(3, 4), (2 ,3), (1, 2)])
-    >>> d
-    SequenceOrderedDict([(3, 4), (2, 3), (1, 2)])
-    >>> d.items[0]
-    (3, 4)
-    >>> d.items[:-1]
-    [(3, 4), (2, 3)]
-    >>> d.items[1] = (6, 3)
-    >>> d.items
-    [(3, 4), (6, 3), (1, 2)]
-    >>> d.items[1:2] = [(9, 9)]
-    >>> d
-    SequenceOrderedDict([(3, 4), (9, 9), (1, 2)])
-    >>> del d.items[1:2]
-    >>> d
-    SequenceOrderedDict([(3, 4), (1, 2)])
-    >>> (3, 4) in d.items
-    1
-    >>> (4, 3) in d.items
-    0
-    >>> len(d.items)
-    2
-    >>> [v for v in d.items]
-    [(3, 4), (1, 2)]
-    >>> d.items.count((3, 4))
-    1
-    >>> d.items.index((1, 2))
-    1
-    >>> d.items.index((2, 1))
-    Traceback (most recent call last):
-    ValueError: list.index(x): x not in list
-    >>> d.items.reverse()
-    >>> d.items
-    [(1, 2), (3, 4)]
-    >>> d.items.reverse()
-    >>> d.items.sort()
-    >>> d.items
-    [(1, 2), (3, 4)]
-    >>> d.items.append((5, 6))
-    >>> d.items
-    [(1, 2), (3, 4), (5, 6)]
-    >>> d.items.insert(0, (0, 0))
-    >>> d.items
-    [(0, 0), (1, 2), (3, 4), (5, 6)]
-    >>> d.items.insert(-1, (7, 8))
-    >>> d.items
-    [(0, 0), (1, 2), (3, 4), (7, 8), (5, 6)]
-    >>> d.items.pop()
-    (5, 6)
-    >>> d.items
-    [(0, 0), (1, 2), (3, 4), (7, 8)]
-    >>> d.items.remove((1, 2))
-    >>> d.items
-    [(0, 0), (3, 4), (7, 8)]
-    >>> d.items.extend([(1, 2), (5, 6)])
-    >>> d.items
-    [(0, 0), (3, 4), (7, 8), (1, 2), (5, 6)]
-    """
-
-    def __init__(self, init_val=(), strict=True):
-        OrderedDict.__init__(self, init_val, strict=strict)
-        self._keys = self.keys
-        self._values = self.values
-        self._items = self.items
-        self.keys = Keys(self)
-        self.values = Values(self)
-        self.items = Items(self)
-        self._att_dict = {
-            'keys': self.setkeys,
-            'items': self.setitems,
-            'values': self.setvalues,
-        }
-
-    def __setattr__(self, name, value):
-        """Protect keys, items, and values."""
-        if not '_att_dict' in self.__dict__:
-            object.__setattr__(self, name, value)
-        else:
-            try:
-                fun = self._att_dict[name]
-            except KeyError:
-                OrderedDict.__setattr__(self, name, value)
-            else:
-                fun(value)
-
-if __name__ == '__main__':
-    if INTP_VER < (2, 3):
-        raise RuntimeError("Tests require Python v.2.3 or later")
-    # turn off warnings for tests
-    warnings.filterwarnings('ignore')
-    # run the code tests in doctest format
-    import doctest
-    m = sys.modules.get('__main__')
-    globs = m.__dict__.copy()
-    globs.update({
-        'INTP_VER': INTP_VER,
-    })
-    doctest.testmod(m, globs=globs)
-
diff --git a/src/gradients/__init__.py b/src/gradients/__init__.py
deleted file mode 100755
index e69de29..0000000
diff --git a/src/gradients/gradients.py b/src/gradients/gradients.py
deleted file mode 100755
index cac1f2e..0000000
--- a/src/gradients/gradients.py
+++ /dev/null
@@ -1,576 +0,0 @@
-#Copyright 2006 DR0ID <dr0id@bluewin.ch> http://mypage.bluewin.ch/DR0ID
-#
-#
-#
-"""
-Allow to draw some gradients relatively easy.
-"""
-
-__author__ = "$Author: DR0ID $"
-__version__= "$Revision: 109 $"
-__date__   = "$Date: 2007-08-09 20:33:32 +0200 (Do, 09 Aug 2007) $"
-
-import pygame
-import math
-
-BLEND_MODES_AVAILABLE = False
-vernum = pygame.vernum
-if vernum[0]>=1 and vernum[1]>=8:
-    BLEND_MODES_AVAILABLE = True
-    
-
-class ColorInterpolator(object):
-    '''
-    ColorInterpolator(distance, color1, color2, rfunc, gfunc, bfunc, afunc)
-    
-    interpolates a color over the distance using different functions for r,g,b,a
-    separately (a= alpha).
-    '''
-    def __init__(self, distance, color1, color2, rfunc, gfunc, bfunc, afunc):
-        object.__init__(self)
-        
-        self.rInterpolator = FunctionInterpolator(color1[0], color2[0], distance, rfunc)
-        self.gInterpolator = FunctionInterpolator(color1[1], color2[1], distance, gfunc)
-        self.bInterpolator = FunctionInterpolator(color1[2], color2[2], distance, bfunc)
-        if len(color1)==4 and len(color2)==4:
-            self.aInterpolator = FunctionInterpolator(color1[3], color2[3], distance, afunc)
-        else:
-            self.aInterpolator = FunctionInterpolator(255, 255, distance, afunc)
-            
-    def eval(self, x):
-        '''
-        eval(x) -> color
-        
-        returns the color at the position 0<=x<=d (actually not bound to this interval).
-        '''
-##        print "colorInterp x", x, self.rInterpolator.eval(x), self.gInterpolator.eval(x), self.bInterpolator.eval(x)
-        return [self.rInterpolator.eval(x), 
-                self.gInterpolator.eval(x), 
-                self.bInterpolator.eval(x), 
-                self.aInterpolator.eval(x)]
-            
-
-
-class FunctionInterpolator(object):
-    '''
-    FunctionINterpolator(startvalue, endvalue, trange, func)
-    
-    interpolates a function y=f(x) in the range trange with
-    startvalue = f(0)
-    endvalue   = f(trange)
-    using the function func
-    '''
-    def __init__(self, startvalue, endvalue, trange, func):
-        object.__init__(self)
-        # function
-        self.func = func
-        # y-scaling
-        self.a = endvalue-startvalue
-        if self.a == 0:
-            self.a = 1.
-        # x-scaling
-        if trange!=0:
-            self.b = 1./abs(trange)
-        else:
-            self.b = 1.
-        # x-displacement
-        self.c = 0
-        # y-displacement
-        self.d = min(max(startvalue,0),255)
-        
-    def eval(self, x):
-        ''' 
-        eval(x)->float
-        
-        return value at position x
-        '''
-        # make sure that the returned value is in [0,255]
-##        return int(round(min(max(self.a*self.func(self.b*(x+self.c))+self.d, 0), 255)))
-        return int(min(max(self.a*self.func(self.b*(x+self.c))+self.d, 0), 255))
-
-
-
-##def gradient(surface, 
-##                startpoint, 
-##                endpoint, 
-##                startcolor, 
-##                endcolor,
-##                Rfunc = (lambda x:x), 
-##                Gfunc = (lambda x:x), 
-##                Bfunc = (lambda x:x), 
-##                Afunc = (lambda x:1), 
-##                type  = "line", 
-##                mode  = None ):
-##    '''
-##    surface   : surface to draw on
-##    startpoint: (x,y) point on surface
-##    endpoint  : (x,y) point on surface
-##    startcolor: (r,g,b,a) color at startpoint
-##    endcolor  : (r,g,b,a) color at endpoint
-##    Rfunc     : function y = f(x) with  startcolor =f(0) and endcolor = f(1) where 0 is at startpoint and 1 at endpoint
-##    Gfunc     :  ---  "  ---
-##    Bfunc     :  ---  "  ---
-##    Afunc     :  ---  "  ---
-##                these functions are evaluated in the range 0 <= x <= 1 and 0<= y=f(x) <= 1
-##    type      : "line", "circle" or "rect"
-##    mode      : "+", "-", "*", None (how the pixels are drawen)
-##    
-##    returns   : surface with the color characteristics w,h = (d, 256) and d = length of endpoint-startpoint
-##    
-##    '''
-##    dx = endpoint[0]-startpoint[0]
-##    dy = endpoint[1]-startpoint[1]
-##    d = int(round(math.hypot(dx, dy)))
-##    angle = math.degrees( math.atan2(dy, dx) )
-##    
-##    color = ColorInterpolator(d, startcolor, endcolor, Rfunc, Gfunc, Bfunc, Afunc)
-##    
-##    if type=="line":
-##        h = int(2.*math.hypot(*surface.get_size()))
-###        bigSurf = pygame.Surface((d, h)).convert_alpha()
-##        bigSurf = pygame.Surface((d, h), pygame.SRCALPHA)#.convert_alpha()
-###        bigSurf = pygame.Surface((d, 1), pygame.SRCALPHA)#.convert_alpha()
-##        bigSurf.lock()
-##        bigSurf.fill((0,0,0,0))
-##        bigSurf.set_colorkey((0,0,0,0))
-##        for x in range(d):
-##            pygame.draw.line(bigSurf, color.eval(x), (x,0), (x,h), 1)
-###        for x in range(d):
-###            bigSurf.set_at((x, 0), color.eval(x))
-###        bigSurf = pygame.transform.scale(bigSurf, (d, h))
-##            
-##        bigSurf = pygame.transform.rotate(bigSurf, -angle) #rotozoom(bigSurf, -angle, 1)
-##        bigSurf.set_colorkey((0,0,0, 0))
-##        rect = bigSurf.get_rect()
-##        srect = pygame.Rect(rect)
-##        dx = d/2. * math.cos(math.radians(angle))
-##        dy = d/2. * math.sin(math.radians(angle))
-##        rect.center = startpoint
-##        rect.move_ip(dx, dy)
-##        bigSurf.unlock()
-##        
-##    elif type=="circle":
-##        bigSurf = pygame.Surface((2*d, 2*d)).convert_alpha()
-##        bigSurf.fill((0,0,0,0))
-##        bigSurf.lock()
-##        for x in range(d, 0, -1):
-##            pygame.draw.circle(bigSurf, color.eval(x), (d,d), x)
-##        bigSurf.unlock()
-##        rect = bigSurf.get_rect()
-##        srect = pygame.Rect(rect)
-##        rect.center = (startpoint[0], startpoint[1])
-##        
-##    elif type=="rect":
-##        bigSurf = pygame.Surface((2*d, 2*d)).convert_alpha()
-##        bigSurf.fill((0,0,0,0))
-##        c = bigSurf.get_rect().center
-##        bigSurf.lock()
-##        for x in range(d,-1,-1):
-##            r = pygame.Rect(0,0,2*x,2*x)
-##            r.center = c
-##            pygame.draw.rect(bigSurf, color.eval(x), r)
-##        bigSurf.unlock()
-##        bigSurf = pygame.transform.rotozoom(bigSurf, -angle, 1)
-##        bigSurf.set_colorkey((0,0,0, 0))
-##        
-##        rect = bigSurf.get_rect()
-##        srect = pygame.Rect(rect)
-##        rect.center = startpoint
-##    else:
-##        raise NameError("type must be one of \"line\",\"circle\" or \"rect\"")
-##    
-##    if mode is None:
-##        surface.blit(bigSurf, rect, srect)
-##    else:
-##        if mode=="+":
-##            cf = pygame.color.add
-##        elif mode=="*":
-##            cf = pygame.color.multiply
-##        elif mode=="-":
-##            cf = pygame.color.subtract
-##        else:
-##            raise NameError("type must be one of \"+\", \"*\", \"-\" or None")
-##        irect = surface.get_clip().clip(rect)
-##        surface.lock()
-##        for x in range(irect.left, irect.left+irect.width):
-##            for y in range(irect.top, irect.top+irect.height):
-##                surface.set_at((x,y), cf(surface.get_at((x,y)), bigSurf.get_at((x-rect.left, y-rect.top)) ) )
-##        surface.unlock()
-##    
-##    del bigSurf   
-##    char = pygame.Surface((d+1, 257))
-###    char.fill((0,0,0))
-###    ox = 0
-###    oldcol = color.eval(0)
-###    for x in range(d):
-###        col = color.eval(x)
-###        pygame.draw.line(char, (255,0,0), (x, 256-col[0]), (ox, 256-oldcol[0]))
-###        pygame.draw.line(char, (0,255,0), (x, 256-col[1]), (ox, 256-oldcol[1]))
-###        pygame.draw.line(char, (0,0,255), (x, 256-col[2]), (ox, 256-oldcol[2]))
-###        pygame.draw.line(char, (255,255,255), (x, 256-col[3]), (ox, 256-oldcol[3]))
-###        ox = x
-###        oldcol = col
-###     
-##    return char
-        
-    
-    
-
-def vertical(size, startcolor, endcolor):
-    """
-    Draws a vertical linear gradient filling the entire surface. Returns a
-    surface filled with the gradient (numeric is only 2-3 times faster).
-    """
-    height = size[1]
-    bigSurf = pygame.Surface((1,height)).convert_alpha()
-    dd = 1.0/height
-    sr, sg, sb, sa = startcolor
-    er, eg, eb, ea = endcolor
-    rm = (er-sr)*dd
-    gm = (eg-sg)*dd
-    bm = (eb-sb)*dd
-    am = (ea-sa)*dd
-    for y in range(height):
-        bigSurf.set_at((0,y),
-                        (int(sr + rm*y),
-                         int(sg + gm*y),
-                         int(sb + bm*y),
-                         int(sa + am*y))
-                      )
-    return pygame.transform.scale(bigSurf, size)
-
-
-def horizontal(size, startcolor, endcolor):
-    """
-    Draws a horizontal linear gradient filling the entire surface. Returns a
-    surface filled with the gradient (numeric is only 2-3 times faster).
-    """
-    width = size[0]
-    bigSurf = pygame.Surface((width, 1)).convert_alpha()
-    dd = 1.0/width
-    sr, sg, sb, sa = startcolor
-    er, eg, eb, ea = endcolor
-    rm = (er-sr)*dd
-    gm = (eg-sg)*dd
-    bm = (eb-sb)*dd
-    am = (ea-sa)*dd
-    for y in range(width):
-        bigSurf.set_at((y,0),
-                        (int(sr + rm*y),
-                         int(sg + gm*y),
-                         int(sb + bm*y),
-                         int(sa + am*y))
-                      )
-    return pygame.transform.scale(bigSurf, size)
-
-
-def radial(radius, startcolor, endcolor):
-    """
-    Draws a linear raidal gradient on a square sized surface and returns
-    that surface.
-    """
-    bigSurf = pygame.Surface((2*radius, 2*radius)).convert_alpha()
-    bigSurf.fill((0,0,0,0))
-    dd = -1.0/radius
-    sr, sg, sb, sa = endcolor
-    er, eg, eb, ea = startcolor
-    rm = (er-sr)*dd
-    gm = (eg-sg)*dd
-    bm = (eb-sb)*dd
-    am = (ea-sa)*dd
-    
-    draw_circle = pygame.draw.circle
-    for rad in range(radius, 0, -1):
-        draw_circle(bigSurf, (er + int(rm*rad),
-                              eg + int(gm*rad),
-                              eb + int(bm*rad),
-                              ea + int(am*rad)), (radius, radius), rad)
-    return bigSurf
-
-def squared(width, startcolor, endcolor):
-    """
-    Draws a linear sqared gradient on a square sized surface and returns
-    that surface.
-    """
-    bigSurf = pygame.Surface((width, width)).convert_alpha()
-    bigSurf.fill((0,0,0,0))
-    dd = -1.0/(width/2)
-    sr, sg, sb, sa = endcolor
-    er, eg, eb, ea = startcolor
-    rm = (er-sr)*dd
-    gm = (eg-sg)*dd
-    bm = (eb-sb)*dd
-    am = (ea-sa)*dd
-    
-    draw_rect = pygame.draw.rect
-    for currentw in range((width/2), 0, -1):
-        pos = (width/2)-currentw
-        draw_rect(bigSurf, (er + int(rm*currentw),
-                            eg + int(gm*currentw),
-                            eb + int(bm*currentw),
-                            ea + int(am*currentw)), pygame.Rect(pos, pos, 2*currentw, 2*currentw ))
-    return bigSurf
-
-
-def vertical_func(size, startcolor, endcolor, Rfunc = (lambda x:x), Gfunc = (lambda x:x), Bfunc = (lambda x:x), Afunc = (lambda x:1)):
-    """
-    Draws a vertical linear gradient filling the entire surface. Returns a
-    surface filled with the gradient (numeric is only 2x faster).
-    Rfunc, Gfunc, Bfunc and Afunc are function like y = f(x). They define
-    how the color changes.
-    """
-    height = size[1]
-    bigSurf = pygame.Surface((1,height)).convert_alpha()
-    color = ColorInterpolator(height, startcolor, endcolor, Rfunc, Gfunc, Bfunc, Afunc)
-    for y in range(0, height):
-        bigSurf.set_at((0,y), color.eval(y+0.1))
-    return pygame.transform.scale(bigSurf, size)
-
-
-def horizontal_func(size, startcolor, endcolor, Rfunc = (lambda x:x), Gfunc = (lambda x:x), Bfunc = (lambda x:x), Afunc = (lambda x:1)):
-    """
-    Draws a horizontal linear gradient filling the entire surface. Returns a
-    surface filled with the gradient (numeric is only 2x faster).
-    Rfunc, Gfunc, Bfunc and Afunc are function like y = f(x). They define
-    how the color changes.
-    """
-    width = size[0]
-    bigSurf = pygame.Surface((width, 1)).convert_alpha()
-    color = ColorInterpolator(width, startcolor, endcolor, Rfunc, Gfunc, Bfunc, Afunc)
-    for y in range(0, width):
-        bigSurf.set_at((y, 0), color.eval(y+0.1))
-    return pygame.transform.scale(bigSurf, size)
-
-def radial_func(radius, startcolor, endcolor, Rfunc = (lambda x:x), Gfunc = (lambda x:x), Bfunc = (lambda x:x), Afunc = (lambda x:1), colorkey=(0,0,0,0)):
-    """
-    Draws a linear raidal gradient on a square sized surface and returns
-    that surface.
-    """
-    bigSurf = pygame.Surface((2*radius, 2*radius)).convert_alpha()
-    if len(colorkey)==3:
-        colorkey += (0,)
-    bigSurf.fill(colorkey)
-    color = ColorInterpolator(radius, startcolor, endcolor, Rfunc, Gfunc, Bfunc, Afunc)
-    draw_circle = pygame.draw.circle
-    for rad in range(radius, 0, -1):
-        draw_circle(bigSurf, color.eval(rad), (radius, radius), rad)
-    return bigSurf
-
-def radial_func_offset(radius, startcolor, endcolor, Rfunc = (lambda x:x), Gfunc = (lambda x:x), Bfunc = (lambda x:x), Afunc = (lambda x:1), colorkey=(0,0,0,0), offset=(0,0)):
-    """
-    Draws a linear raidal gradient on a square sized surface and returns
-    that surface.
-    offset is the amount the center of the gradient is displaced of the center of the image.
-    Unfotunately this function ignores alpha.
-    """
-    bigSurf = pygame.Surface((2*radius, 2*radius))#.convert_alpha()
-    
-    mask = pygame.Surface((2*radius, 2*radius), pygame.SRCALPHA)#.convert_alpha()
-    mask.fill(colorkey)
-    mask.set_colorkey((255,0,255))
-    pygame.draw.circle(mask, (255,0,255), (radius, radius), radius)
-    
-    if len(colorkey)==3:
-        colorkey += (0,)
-    bigSurf.fill(colorkey)
-    
-    color = ColorInterpolator(radius, startcolor, endcolor, Rfunc, Gfunc, Bfunc, Afunc)
-    draw_circle = pygame.draw.circle
-    radi = radius + int(math.hypot(offset[0], offset[1])+1)
-    for rad in range(radi, 0, -1):
-        draw_circle(bigSurf, color.eval(rad), (radius+offset[0], radius+offset[1]), rad)
-        
-    bigSurf.blit(mask, (0,0))
-    bigSurf.set_colorkey(colorkey)
-    return bigSurf
-
-
-def squared_func(width, startcolor, endcolor, Rfunc = (lambda x:x), Gfunc = (lambda x:x), Bfunc = (lambda x:x), Afunc = (lambda x:1), offset=(0,0)):
-    """
-    Draws a linear sqared gradient on a square sized surface and returns
-    that surface.
-    """
-    bigSurf = pygame.Surface((width, width)).convert_alpha()
-    bigSurf.fill((0,0,0,0))
-    color = ColorInterpolator(width/2, startcolor, endcolor, Rfunc, Gfunc, Bfunc, Afunc)
-    draw_rect = pygame.draw.rect
-    widthh = width+2*int(max(abs(offset[0]),abs(offset[1])))
-    for currentw in range((widthh/2), 0, -1):
-##        pos = (width/2)-currentw
-        rect = pygame.Rect(0, 0, 2*currentw, 2*currentw )
-        rect.center = (width/2+offset[0], width/2+offset[1])
-        draw_rect(bigSurf, color.eval(currentw), rect)
-    return bigSurf
-
-def draw_gradient(surface, startpoint, endpoint, startcolor, endcolor, Rfunc = (lambda x:x), Gfunc = (lambda x:x), Bfunc = (lambda x:x), Afunc = (lambda x:1), mode=0):
-    """
-    Instead of returning an Surface, this function draw it directy onto the 
-    given Surface and returns the rect.
-    """
-    dx = endpoint[0]-startpoint[0]
-    dy = endpoint[1]-startpoint[1]
-    d = int(round(math.hypot(dx, dy)))
-    angle = math.degrees( math.atan2(dy, dx) )
-    
-    h = int(2.*math.hypot(*surface.get_size()))
-    
-    bigSurf = horizontal_func((d,h), startcolor, endcolor, Rfunc, Gfunc, Bfunc, Afunc)
-    
-##    bigSurf = pygame.transform.rotate(bigSurf, -angle) #rotozoom(bigSurf, -angle, 1)
-    bigSurf = pygame.transform.rotozoom(bigSurf, -angle, 1)
-##    bigSurf.set_colorkey((0,0,0, 0))
-    rect = bigSurf.get_rect()
-    srect = pygame.Rect(rect)
-    dx = d/2. * math.cos(math.radians(angle))
-    dy = d/2. * math.sin(math.radians(angle))
-    rect.center = startpoint
-    rect.move_ip(dx, dy)
-    if BLEND_MODES_AVAILABLE:
-        return surface.blit(bigSurf, rect, None, mode)
-    else:
-        return surface.blit(bigSurf, rect)
-
-
-def draw_circle(surface, startpoint, endpoint, startcolor, endcolor, Rfunc = (lambda x:x), Gfunc = (lambda x:x), Bfunc = (lambda x:x), Afunc = (lambda x:1), mode=0):
-    """
-    Instead of returning an Surface, this function draw it directy onto the 
-    given Surface and returns the rect.
-    """
-    dx = endpoint[0]-startpoint[0]
-    dy = endpoint[1]-startpoint[1]
-    radius = int(round(math.hypot(dx, dy)))
-    pos = (startpoint[0]-radius, startpoint[1]-radius)
-    if BLEND_MODES_AVAILABLE:
-        return surface.blit(radial_func(radius, startcolor, endcolor, Rfunc, Gfunc, Bfunc, Afunc), pos, None, mode)
-    else:
-        return surface.blit(radial_func(radius, startcolor, endcolor, Rfunc, Gfunc, Bfunc, Afunc), pos)
-
-def draw_squared(surface, startpoint, endpoint, startcolor, endcolor, Rfunc = (lambda x:x), Gfunc = (lambda x:x), Bfunc = (lambda x:x), Afunc = (lambda x:1), mode=0):
-    """
-    Instead of returning an Surface, this function draw it directy onto the 
-    given Surface and returns the rect.
-    """
-    dx = endpoint[0]-startpoint[0]
-    dy = endpoint[1]-startpoint[1]
-    angle = math.degrees( math.atan2(dy, dx) )
-    width = 2*int(round(math.hypot(dx, dy)))
-    
-    bigSurf = squared_func(width, startcolor, endcolor, Rfunc, Gfunc, Bfunc, Afunc)
-    
-    bigSurf = pygame.transform.rotozoom(bigSurf, -angle, 1)
-##    bigSurf.set_colorkey((0,0,0, 0))
-    rect = bigSurf.get_rect()
-    rect.center = startpoint
-    if BLEND_MODES_AVAILABLE:
-        return surface.blit(bigSurf, rect, None, mode)
-    else:
-        return surface.blit(bigSurf, rect)
-    
-    
-def chart(startpoint, endpoint, startcolor, endcolor, Rfunc = (lambda x:x), Gfunc = (lambda x:x), Bfunc = (lambda x:x), Afunc = (lambda x:1), scale=None):
-    """
-    This returns a Surface where the change of the colors over the distance 
-    (the width of the image) is showen as a line.
-    scale: a float, 1 is not scaling
-    """
-    dx = endpoint[0]-startpoint[0]
-    dy = endpoint[1]-startpoint[1]
-    distance = int(round(math.hypot(dx, dy)))
-    color = ColorInterpolator(distance, startcolor, endcolor, Rfunc, Gfunc, Bfunc, Afunc)
-    bigSurf = pygame.Surface((distance, 256))
-    bigSurf.fill((0,)*3)
-    oldcol = color.eval(0)
-    for x in range(distance):
-        r, g, b, a = color.eval(x)
-        pygame.draw.line(bigSurf, (255, 0, 0, 128), (x-1, oldcol[0]), (x, r))
-        pygame.draw.line(bigSurf, (0, 255, 0, 128), (x-1, oldcol[1]), (x, g))
-        pygame.draw.line(bigSurf, (0, 0, 255, 128), (x-1, oldcol[2]), (x, b))
-        pygame.draw.line(bigSurf, (255, 255, 255, 128), (x-1, oldcol[3]), (x, a))
-        oldcol = (r,g,b,a)
-    if scale:
-##        return pygame.transform.scale(bigSurf, size)
-        return pygame.transform.rotozoom(bigSurf, 0, scale)
-    return pygame.transform.flip(bigSurf, 0, 1)
-#------------------------------------------------------------------------------
-
-
-    
-
-def genericFxyGradient(surf, clip, color1, color2, func, intx, yint, zint=None):
-    """
-    genericFxyGradient(size, color1, color2,func, intx, yint, zint=None)
-    
-    some sort of highfield drawer :-)
-    
-    surf   : surface to draw
-    clip   : rect on surf to draw in
-    color1 : start color
-    color2 : end color
-    func   : function z = func(x,y)
-    xint   : interval in x direction where the function is evaluated
-    yint   : interval in y direction where the function is evaluated
-    zint   : if not none same as yint or xint, if None then the max and min value
-             of func is taken as z-interval
-    
-    color = a*func(b*(x+c), d*(y+e))+f
-    """
-    # make shure that x1<x2 and y1<y2 and z1<z2
-    w,h = clip.size
-    x1 = min(intx)
-    x2 = max(intx)
-    y1 = min(yint)
-    y2 = max(yint)
-    if zint: # if user give us z intervall, then use it
-        z1 = min(zint)
-        z2 = max(zint)
-    else: # look for extrema of function (not best algorithme)
-        z1 = func(x1,y1)
-        z2 = z1
-        for i in range(w):
-            for j in range(h):
-                r = func(i,j)
-                z1 = min(z1, r)
-                z2 = max(z2, r)
-                
-    x1 = float(x1)
-    x2 = float(x2)
-    y1 = float(y1)
-    y2 = float(y2)
-    z1 = float(z1)
-    z2 = float(z2)
-    if len(color1)==3:
-        color1 = list(color1)
-        color1.append(255)
-    if len(color2)==3:
-        color2 = list(color2)
-        color2.append(255)
-    
-    # calculate streching and displacement variables
-    a = ((color2[0]-color1[0])/(z2-z1), \
-         (color2[1]-color1[1])/(z2-z1), \
-         (color2[2]-color1[2])/(z2-z1), \
-         (color2[3]-color1[3])/(z2-z1) ) # streching in z direction
-    b = (x2-x1)/float(w) # streching in x direction
-    d = (y2-y1)/float(h) # streching in y direction
-    f = ( color1[0]-a[0]*z1, \
-          color1[1]-a[1]*z1, \
-          color1[2]-a[2]*z1, \
-          color1[3]-a[3]*z1 )# z displacement
-    c = x1/b
-    e = y1/d
-    
-    surff = pygame.surface.Surface((w,h)).convert_alpha()
-    # generate values
-    for i in range(h):
-        for j in range(w):
-            val = func(b*(j+c), d*(i+e))
-            #clip color
-            color = (   max(min(a[0]*val+f[0],255),0), \
-                        max(min(a[1]*val+f[1],255),0), \
-                        max(min(a[2]*val+f[2],255),0), \
-                        max(min(a[3]*val+f[3],255),0) )
-            surff.set_at( (j,i), color )
-    surf.blit(surff, clip)
-
-
-
diff --git a/src/gui/DefaultFamiliarizer.py b/src/gui/DefaultFamiliarizer.py
deleted file mode 100644
index ca9d35e..0000000
--- a/src/gui/DefaultFamiliarizer.py
+++ /dev/null
@@ -1,27 +0,0 @@
-'''
-Created on 21 janv. 2010
-
-@author: samsam
-'''
-import pygame
-
-from gui.FamiliarizerPGUConfiguration import FamiliarizerPGUConfiguration
-
-class DefaultFamiliarizer(FamiliarizerPGUConfiguration):
-    '''
-    classdocs
-    '''
-
-
-    def __init__(self,window):
-        '''
-        Constructor
-        '''
-        FamiliarizerPGUConfiguration.__init__(self, window,defaultParams = True)
-
-if __name__ == "__main__" :
-    pygame.init()
-    modeResolution = (1024,768)
-    window = pygame.display.set_mode(modeResolution,pygame.FULLSCREEN)
-    familiarizer = DefaultFamiliarizer(window)
-    pygame.quit()
\ No newline at end of file
diff --git a/src/gui/DummyInstrumentChoice.py b/src/gui/DummyInstrumentChoice.py
deleted file mode 100644
index 84b4003..0000000
--- a/src/gui/DummyInstrumentChoice.py
+++ /dev/null
@@ -1,57 +0,0 @@
-'''
-Created on 21 janv. 2010
-
-@author: samsam
-'''
-
-import pygame
-import pygame.midi
-import sys
-import time
-import pickle
-
-from numpy import array
-from numpy.linalg import norm
-
-from math import floor
-
-from gui.constants import *
-from PlayingScreen import PlayingScreen
-from instruments.Instrument import Instrument
-from cursor.WarpingCursor import *
-from controllers.Wiimote import Wiimote
-from logging.EventLog import EventLog
-from logging.PickleableEvent import PickleableEvent 
-from InstrumentChoice import InstrumentChoice
-
-class DummyInstrumentChoice():
-    '''
-    classdocs
-    '''
-
-
-    def __init__(self,wiimotes, window, screen, clock, joys, portOffset, activeWiimotes, eventLog=None, replay = False, logFilePath = None, scaleFactor = 1):
-        '''
-        Constructor
-        '''
-        self.wiimotes =wiimotes
-        self.activeWiimotes =activeWiimotes
-        self.window = window
-        self.screen = screen
-        self.scaleFactor = scaleFactor
-        self.width = int(floor(screen.get_width()*self.scaleFactor))
-        self.height = int(floor(screen.get_height()*self.scaleFactor))
-        self.blitOrigin = ((self.screen.get_width()-self.width)/2,(self.screen.get_height()-self.height)/2)
-        self.clock = clock        
-        self.savedScreen = pygame.Surface(self.screen.get_size())
-        self.savedScreen.fill((255, 255, 255))
-        self.playerScreen = pygame.Surface(self.savedScreen.get_size())
-        self.playerScreen.blit(self.savedScreen, (0, 0))
-        self.cursorPositions = []
-        for i in range(len(self.wiimotes)):
-            self.wiimotes[i].cursor.screen = self.playerScreen
-            self.cursorPositions.append(self.wiimotes[i].cursor.centerPosition)
-        self.joys = joys
-        self.portOffset = portOffset
-        self.eventLog = eventLog
-        self.replay = replay
\ No newline at end of file
diff --git a/src/gui/Familiarizer.py b/src/gui/Familiarizer.py
deleted file mode 100644
index 8e62b5e..0000000
--- a/src/gui/Familiarizer.py
+++ /dev/null
@@ -1,328 +0,0 @@
-'''
-Created on 15 juil. 2009
-
-@author: Samuel Benveniste
-'''
-
-import pygame
-import pygame.midi
-import sys
-import time
-import pickle
-import random
-
-from numpy import array
-from numpy.linalg import norm
-
-from math import floor
-
-from gui.constants import *
-from PlayingScreen import PlayingScreen
-from instruments.Instrument import Instrument
-from cursor.WarpingCursor import *
-from controllers.Wiimote import Wiimote
-from logging.EventLog import EventLog
-from logging.PickleableEvent import PickleableEvent 
-
-joyNames = ["PPJoy Virtual joystick 1", "PPJoy Virtual joystick 2", "PPJoy Virtual joystick 3"]
-portNames = ["Out To MIDI Yoke:  1"]
-majorScale = [55, 57, 59, 60, 62, 64, 65, 67, 69, 71, 72]
-minorScale = [55, 56, 58, 60, 62, 63, 65, 67, 68, 70, 72]
-myxolydianScale = [55, 57, 58, 60, 62, 64, 65, 67, 69, 70, 72]
-dorianScale = [55, 57, 58, 60, 62, 63, 65, 67, 69, 70, 72]
-instrumentImagePathList = ["piano", "guitare", "accordeon", "violon", "flute", "tuba", "orgue", "violoncelle", "celesta"]
-octaves = [0, -1, 0, 1, 1, -2, 0, -1, 0]
-
-class Familiarizer:
-    '''
-    The screen for choosing instruments
-    
-        instruments: 
-                The available instruments            
-        wiimotes: 
-                The wiimotes used in this session
-        window:
-            The main display window
-        screen:
-            The main display surface
-        clock:
-            The clock used to animate the screen
-        savedScreen:
-            The background that is painted every time
-        playerScreen:
-            The buffer for painting everything before bliting
-        width:
-            The width of the window in pixels
-        height:
-            The height of the window in pixels
-        done:
-            Goes to True when all instruments have been selected
-        cursorPositions:
-            The positions of the cursors on the screen, in pixels
-        imageRects:
-            The rectangles where the images of the instruments are located
-        focus:
-            The numbers of the instruments currently in focus
-    '''
-    
-    def __init__(self, instruments, wiimotes, window, screen, clock, joys, portOffset, eventLog=None, replay = False, logFilePath = None, scaleFactor = 1, level = 1):
-        '''
-        Constructor
-        
-            instruments: 
-                The instruments for this session           
-            wiimotes: 
-                The wiimotes used in this session
-        '''
-        
-        
-        self.scaleFactor = scaleFactor
-        
-        self.instruments = instruments
-        self.wiimotes = wiimotes
-        self.window = window
-        self.screen = screen
-        self.clock = clock
-        self.width = int(floor(screen.get_width()*self.scaleFactor))
-        self.height = int(floor(screen.get_height()*self.scaleFactor))
-        self.blitOrigin = ((self.screen.get_width()-self.width)/2,(self.screen.get_height()-self.height)/2)        
-        self.joys = joys
-        self.portOffset = portOffset
-        
-        self.currentWiimote = 0
-        self.done = False        
-        
-        self.cursorPositions = []
-        self.imageRects = []
-        self.displayedInstruments = []
-        self.savedImageRects = []
-        self.focus = []
-        self.level = level
-        
-        if eventLog == None:
-            self.eventLog = EventLog()
-            self.replay = False
-        else:
-            self.eventLog = eventLog
-            self.replay = replay
-                        
-        self.savedScreen = pygame.Surface(self.screen.get_size())        
-        
-        self.displayedInstruments.append(0)
-        if level == 1 :
-            self.displayedInstruments.append(2)
-        
-        self.savedScreen.fill((255, 255, 255))
-        for i in range(len(self.displayedInstruments)):
-            self.imageRects.append(self.drawInstrument(self.displayedInstruments[i]))
-                    
-        self.savedImageRects = self.imageRects[:]
-        
-        #Draw the initial cursor on the buffer
-        self.playerScreen = pygame.Surface(self.savedScreen.get_size())
-        self.playerScreen.blit(self.savedScreen, (0, 0))
-        
-        for i in range(len(self.wiimotes)):
-            #Create the list of instrument focus (one focus per wiimote)
-            self.focus.append(None)
-            #Set the screen for the cursors (it can't be set before)
-            self.wiimotes[i].cursor.screen = self.playerScreen
-            self.cursorPositions.append(self.wiimotes[i].cursor.centerPosition)
-            
-        self.wiimotes[self.currentWiimote].cursor.blit(self.playerScreen)
-        
-        #The main loop
-        while self.done == False :
-            
-            #Clear the cursors from the screen
-            self.drawBackground()
-            self.playerScreen.blit(self.savedScreen, (0, 0))
-            
-            # Limit frame speed to 50 FPS
-            #
-            timePassed = self.clock.tick(50)
-            
-            if self.replay:
-                self.eventLog.update(timePassed)
-                pickledEventsToPost = self.eventLog.getPickledEvents() 
-                for pickledEvent in pickledEventsToPost:
-                    pygame.event.post(pickledEvent.event)
-            
-            events = pygame.event.get()
-            
-            if not self.replay:
-                pickledEvents = [PickleableEvent(event.type,event.dict) for event in events if self.eventFilter(event)]
-                if pickledEvents != [] :
-                    self.eventLog.appendEventGroup(pickledEvents)
-            
-            for event in events:
-                self.input(event)
-            
-            for i in range(len(self.wiimotes)):
-                self.wiimotes[i].cursor.update(timePassed, self.cursorPositions[i])
-                
-            self.wiimotes[self.currentWiimote].cursor.blit(self.playerScreen)  
-            
-            self.focus[self.currentWiimote] = None
-                          
-            for i in range(len(self.imageRects)) :
-                if self.imageRects[i].collidepoint(self.cursorPositions[self.currentWiimote]):
-                    self.focus[self.currentWiimote] = i
-                                
-            self.screen.blit(self.playerScreen, (0, 0))
-            
-            pygame.display.flip()
-            
-    def input(self, event):
-        if event.type == pygame.QUIT:
-            pygame.midi.quit()
-            sys.exit()
-        if event.type == pygame.JOYAXISMOTION:
-            self.updateCursorPositionFromJoy(event)
-        if event.type == pygame.JOYBUTTONDOWN :
-            self.joyClicked(event)
-        if event.type == pygame.MOUSEBUTTONDOWN:
-            self.mouseClicked(event)
-        if event.type == pygame.MOUSEMOTION:
-            self.updateCursorPositionFromMouse(event)
-        if event.type == pygame.KEYDOWN:
-            if event.key == pygame.K_q:
-                self.done = True                            
-                     
-    def updateCursorPositionFromJoy(self, joyEvent):
-        joyName = pygame.joystick.Joystick(joyEvent.joy).get_name()
-        correctedJoyId = joyNames.index(joyName) 
-        if correctedJoyId < len(self.cursorPositions):
-            if joyEvent.axis == 0 :
-                self.cursorPositions[correctedJoyId] = (int((joyEvent.value + 1) / 2 * self.screen.get_width()), self.cursorPositions[correctedJoyId][1])
-            if joyEvent.axis == 1 :
-                self.cursorPositions[correctedJoyId] = (self.cursorPositions[correctedJoyId][0], int((joyEvent.value + 1) / 2 * self.screen.get_height()))                  
-    
-    def assignInstrumentToWiimote(self, joyEvent):
-        joyName = pygame.joystick.Joystick(joyEvent.joy).get_name()
-        correctedJoyId = joyNames.index(joyName)
-        if self.zoomed[correctedJoyId] == self.focus[correctedJoyId]:
-            self.wiimotes[correctedJoyId].instrument = self.instruments[self.focus[correctedJoyId]]
-            self.zoomed[correctedJoyId] = None
-            self.imageRects = self.savedImageRects[:]
-            if self.currentWiimote<len(self.wiimotes)-1:
-                self.currentWiimote = self.currentWiimote+1
-        else:
-            self.zoomed[correctedJoyId] = self.focus[correctedJoyId]
-        if self.hasFinished():
-            self.done = True
-    
-    def updateCursorPositionFromMouse(self, mouseEvent):
-        self.cursorPositions[0] = mouseEvent.pos
-    
-    def assignInstrumentToMouse(self, mouseEvent):
-        self.wiimotes[0].instrument = self.instruments[self.focus[0]]
-        if self.hasFinished():
-            self.done = True
-    
-    def hasFinished(self):
-        finished = True
-        for wiimote in self.wiimotes:
-            if wiimote.instrument == None:
-                finished = False
-        return(finished)
-    
-    def eventFilter(self, event):
-        c = event.type
-        if c == 17:
-            return False
-        elif c == pygame.MOUSEMOTION or pygame.MOUSEBUTTONDOWN or pygame.MOUSEBUTTONUP or pygame.JOYAXISMOTION or pygame.JOYBUTTONDOWN or pygame.JOYBUTTONUP or pygame.KEYDOWN:
-            return True
-        else:
-            return False
-        
-    def drawInstrument(self,instrumentNumber,drawPos = None):
-        if not drawPos :
-            drawPos = array([random.randint(0,self.width/2),random.randint(0,self.height/2)])
-        curImage = pygame.image.load(self.instruments[instrumentNumber].image).convert_alpha()
-        scaledImage = pygame.transform.smoothscale(curImage, (self.width / 2, self.height / 2))
-        imageRect = self.savedScreen.blit(scaledImage, drawPos + self.blitOrigin)
-        pygame.draw.rect(self.savedScreen, pygame.Color(0, 0, 0, 255), imageRect, 5)
-        return imageRect           
-    
-    def drawBackground(self):
-        self.savedScreen.fill((255, 255, 255))
-        for i in range(len(self.displayedInstruments)):
-            self.drawInstrument(self.displayedInstruments[i], self.imageRects[i].topleft)
-            if i in self.focus:
-                pygame.draw.rect(self.savedScreen, pygame.Color(0, 255, 0, 255), self.imageRects[i], 10)
-    
-    def mouseClicked(self,mouseEvent):
-        correctedJoyId = 0
-        self.wiimotes[correctedJoyId].cursor.flash(400)
-        if self.focus[correctedJoyId] != None :
-            self.imageRects.pop(self.focus[correctedJoyId])
-            instrumentNumber = self.displayedInstruments.pop(self.focus[correctedJoyId])
-            self.drawBackground()
-            self.imageRects.append(self.drawInstrument(instrumentNumber))
-            self.displayedInstruments.append(instrumentNumber)
-            self.wiimotes[correctedJoyId].instrument = self.instruments[instrumentNumber]
-            octave = self.wiimotes[correctedJoyId].instrument.octave
-            noteOnHexCode = self.wiimotes[correctedJoyId].getNoteOnHexCode()
-            baseTime = pygame.midi.time()
-            self.wiimotes[correctedJoyId].port.write([[[noteOnHexCode,60+12*octave,127],baseTime],[[noteOnHexCode,60+12*octave,0],baseTime+500],[[noteOnHexCode,65+12*octave,100],baseTime+510],[[noteOnHexCode,65+12*octave,0],baseTime+1000]])
-            self.wiimotes[correctedJoyId].instrument = None
-            
-    def joyClicked(self,joyEvent):
-        joyName = pygame.joystick.Joystick(joyEvent.joy).get_name()
-        correctedJoyId = joyNames.index(joyName)
-        self.wiimotes[correctedJoyId].cursor.flash(400)
-        if self.focus[correctedJoyId] != None :
-            self.imageRects.pop(self.focus[correctedJoyId])
-            instrumentNumber = self.displayedInstruments.pop(self.focus[correctedJoyId])
-            self.drawBackground()
-            self.imageRects.append(self.drawInstrument(instrumentNumber))
-            self.displayedInstruments.append(instrumentNumber)
-            self.wiimotes[correctedJoyId].instrument = self.instruments[instrumentNumber]
-            octave = self.wiimotes[correctedJoyId].instrument.octave
-            noteOnHexCode = self.wiimotes[correctedJoyId].getNoteOnHexCode()
-            baseTime = pygame.midi.time()
-            self.wiimotes[correctedJoyId].port.write([[[noteOnHexCode,60+12*octave,127],baseTime],[[noteOnHexCode,60+12*octave,0],baseTime+500],[[noteOnHexCode,65+12*octave,100],baseTime+510],[[noteOnHexCode,65+12*octave,0],baseTime+1000]])
-            self.wiimotes[correctedJoyId].instrument = None
-                                    
-
-def zoomRect(rect, ratio):
-    zoomedRect = rect.inflate(int(floor((ratio - 1) * rect.width)), int(floor((ratio - 1) * rect.height)))
-    return(zoomedRect)        
-
-if __name__ == "__main__":
-    pygame.init()
-    #pygame.event.set_blocked([pygame.MOUSEBUTTONDOWN,pygame.MOUSEBUTTONUP,pygame.MOUSEMOTION])
-    
-    pygame.midi.init()
-    instruments = [Instrument(majorScale, i + 1, "".join(["../instruments/instrumentImages/", instrumentImagePathList[i], ".jpg"]), octaves[i]) for i in range(9)]
-    
-    joys = [pygame.joystick.Joystick(id).get_name() for id in range(pygame.joystick.get_count())]
-    joyOffset = joys.index(joyNames[0])
-    pygame.joystick.Joystick(joyOffset).init()
-    print(joyOffset)  
-    
-    ports = [pygame.midi.get_device_info(id)[1] for id in range(pygame.midi.get_count())]
-    portOffset = ports.index(portNames[0])
-    print(portOffset)
-    
-    window = pygame.display.set_mode((1280, 1024),pygame.FULLSCREEN)
-    screen = pygame.display.get_surface()
-    clock = pygame.time.Clock()        
-    cursorImages = createImageListFromPath('../cursor/cursorImages/black', 11)
-    durations = [75 for i in range(len(cursorImages))]
-    
-    extsc = False
-    casc = False
-    
-    jadbt = [3, 4, 5, 3, 4, 4, 5, 6, 6, 5, 3, 3, 4, 5, 3, 4, 4, 5, 6, 7, 3]
-    song = None
-    
-    cursors = [WarpingCursor(None, cursorImages, durations, (300 * i, 300 * i),'../cursor/cursorImages/black/flash.png') for i in range(1)]
-    wiimotes = [Wiimote(i, i + portOffset, pygame.midi.Output(i+portOffset,latency = 20), None, cursors[i]) for i in range(1)]
-    familiarize = Familiarizer(instruments, wiimotes, window, screen, clock, joyOffset, portOffset)
-    for wiimote in wiimotes:
-        del wiimote.port            
-    
-    pygame.midi.quit()
-    sys.exit()
diff --git a/src/gui/FamiliarizerPGUConfiguration.py b/src/gui/FamiliarizerPGUConfiguration.py
deleted file mode 100644
index a7b21f7..0000000
--- a/src/gui/FamiliarizerPGUConfiguration.py
+++ /dev/null
@@ -1,237 +0,0 @@
-'''
-Created on 12 nov. 2009
-
-@author: Samuel Benveniste
-'''
-from logging.FamiliarizerLog import FamiliarizerLog
-
-import os
-import sys
-import subprocess
-
-import pygame
-import pygame.midi
-import pickle
-
-from pygame.locals import *
-
-from pgu import gui
-
-from StaticFamiliarizer import StaticFamiliarizer
-from SongFamiliarizer import SongFamiliarizer
-from instruments.Instrument import Instrument
-from cursor.WarpingCursor import *
-from controllers.Wiimote import Wiimote
-from logging.FamiliarizerLog import FamiliarizerLog
-from songs.Song import Song
-from constants import *
-from SongPlayingScreen import SongPlayingScreen
-from DummyInstrumentChoice import DummyInstrumentChoice
-
-class FamiliarizerPGUConfiguration(gui.Desktop):
-    '''
-    classdocs
-    '''
-
-
-    def __init__(self,window,defaultParams = False):
-        '''
-        Constructor
-        '''
-        gui.Desktop.__init__(self)
-        self.done = False
-        self.level = 0
-        self.scale = scaleDict["majorScale"]
-        self.fileName = fileName
-        self.log = None
-        self.activeWiimotes = [False for i in range(4)]    
-        
-        pygame.font.init()
-
-        self.titleFont = pygame.font.Font(None,100)
-        self.font = pygame.font.Font(None,70)
-        self.spaceSize = (100,100)
-        
-        self.goButton = gui.Button(self.createLabel("Go"))
-        self.goButton.connect(gui.CLICK,self.goButtonClicked,None)
-        
-        self.quitButton = gui.Button(self.createLabel("Fin"))
-        self.quitButton.connect(gui.CLICK,self.quitButtonClicked,None)
-        
-        self.levelSelect = gui.Select()
-        for i in range(3) :
-            self.levelSelect.add(self.createLabel(str(i+1)),i)
-        self.levelSelect.connect(gui.CHANGE,self.levelSelectChanged,None)
-        
-        self.activeWiimoteSwitches = [gui.Switch(False) for i in range(4)]
-        for i in range(len(self.activeWiimoteSwitches)) :
-            self.activeWiimoteSwitches[i].connect(gui.CHANGE,self.activeWiimoteSwitchesChanged,i)   
-        
-        self.connect(gui.QUIT,self.quit,None)
-        
-        self.window = window
-        
-        ##The table code is entered much like HTML.
-        ##::
-        mainContainer = gui.Table() 
-        
-        c = gui.Table()
-                
-#        c.tr()
-#        c.td(self.createLabel("MINWii",self.titleFont),colspan = 4)
-        
-        c.tr()
-        c.td(gui.Spacer(*self.spaceSize))
-        
-        c.tr()
-        c.td(self.createLabel("Niveau :"))
-        c.td(self.levelSelect,colspan=3)
-        
-        c.tr()
-        c.td(gui.Spacer(*self.spaceSize))
-        
-        c.tr()
-        c.td(self.createLabel("Joueurs :", self.font))
-        playerTable = gui.Table()
-        for i in range(len(self.activeWiimoteSwitches)):
-            playerTable.td(self.createLabel(" " + str(i+1)+" ", self.font))
-            playerTable.td(self.activeWiimoteSwitches[i])
-        c.td(playerTable,colspan = 3)
-            
-        c.tr()
-        c.td(gui.Spacer(*self.spaceSize))
-        
-        c.tr()
-        c.td(self.goButton)
-        c.td(self.quitButton,colspan=3)        
-        
-        c.tr()
-        c.td(gui.Spacer(500,500))
-        
-        mainContainer.add(c,0,0)
-        
-        if defaultParams :
-            self.goButtonClicked()
-        else :
-            self.run(mainContainer)
-        
-    def open_file_browser(self,data=None):
-        d = gui.FileDialog()
-        d.connect(gui.CHANGE, self.handle_file_browser_closed, d)
-        d.open()
-    
-
-    def handle_file_browser_closed(self,dlg):
-        if dlg.value:
-            self.file = dlg.value
-            
-    def createLabel(self,text,font = None):
-        if font == None :
-            font = self.font
-        w,h = self.font.size(text)
-        label = gui.Label(text,width=w,height=h,font = font)
-        return(label)
-    
-    def levelSelectChanged(self,data=None):
-        self.level = self.levelSelect.value
-    
-    def quitButtonClicked(self,data = None):
-        self.done = True
-        self.quit()
-        
-    def activeWiimoteSwitchesChanged(self,data = None):
-        if self.activeWiimoteSwitches[data].value :
-            for i in range(len(self.activeWiimoteSwitches)) :
-                if self.activeWiimoteSwitches[i].value and data != i :
-                    self.activeWiimoteSwitches[i].click()                
-        for i in range(len(self.activeWiimoteSwitches)) :
-            self.activeWiimotes[i] = self.activeWiimoteSwitches[i].value
-    
-    def hasActiveWiimote(self):
-        hasActive = False
-        for active in self.activeWiimotes :
-            if active :
-                hasActive = True
-                break
-        return(hasActive)
-        
-
-                    
-        
-    def goButtonClicked(self,data = None):        
-        
-        pygame.midi.init()
-        instruments = [Instrument(self.scale, i + 1, "".join(["../instruments/instrumentImages/", instrumentImagePathList[i], ".jpg"]), octaves[i]) for i in range(9)]
-        
-        joys = [[id,pygame.joystick.Joystick(id).get_name()] for id in range(pygame.joystick.get_count())]
-        for joy in joys:
-            if joy[1] in joyNames:
-                pygame.joystick.Joystick(joy[0]).init() 
-        
-        ports = [pygame.midi.get_device_info(id)[1] for id in range(pygame.midi.get_count())]
-        portOffset = ports.index(portNames[0])
-        print(portOffset)
-        
-        screen = pygame.display.get_surface()
-        clock = pygame.time.Clock()        
-        cursorImages=[['../cursor/cursorImages/black/10.png'],['../cursor/cursorImages/red/10.png'],['../cursor/cursorImages/blue/10.png'],['../cursor/cursorImages/green/10.png']]
-        durations = [75 for i in range(len(cursorImages))]
-        
-        extsc = True
-        casc = False
-        easyMode = True
-        
-        song = Song(scaleDict["majorScale"],[3,9,6,4,1,8,5,7,2,10],True)
-
-        wiimoteCount = 4
-        
-        cursors = [WarpingCursor(None, cursorImages[i], durations, (300 * i, 300 * i),'../cursor/cursorImages/black/flash.png') for i in range(wiimoteCount)]
-        wiimotes = [Wiimote(i, i + portOffset, None, instruments[0], cursors[i]) for i in range(wiimoteCount)]
-        dummyInstrumentChoice = DummyInstrumentChoice(wiimotes, self.window, screen, clock, joys, portOffset, self.activeWiimotes)
-        if not self.hasActiveWiimote():
-            self.activeWiimotes[0] = True
-        if self.level < 2 :
-            familiarize = StaticFamiliarizer(wiimotes, self.window, screen, clock, joys, portOffset,self.activeWiimotes,level = self.level)
-        elif familiarize.nextLevel == 2 :
-            familiarize = SongFamiliarizer(wiimotes, self.window, screen, clock, joys, portOffset,song,self.activeWiimotes,casc,extsc,easyMode)
-        else :
-            familiarize = SongPlayingScreen(dummyInstrumentChoice,songDict["clairdelalune"],easyMode = True)
-                        
-        while familiarize.nextLevel != None :
-            if familiarize.nextLevel < 2 :
-                familiarize = StaticFamiliarizer(wiimotes, self.window, screen, clock, joys, portOffset,self.activeWiimotes,level = familiarize.nextLevel,eventLog = familiarize.eventLog)
-            elif familiarize.nextLevel == 2 :
-                familiarize = SongFamiliarizer(wiimotes, self.window, screen, clock, joys, portOffset,song,self.activeWiimotes,casc,extsc,easyMode,eventLog = familiarize.eventLog)
-            else :
-                familiarize = SongPlayingScreen(dummyInstrumentChoice,songDict["clairdelalune"],easyMode = True,eventLog = familiarize.eventLog)
-            
-        for wiimote in wiimotes:
-            del wiimote.port            
-        
-        pygame.midi.quit()
-        
-        i = 1        
-        filePath = "".join([self.fileName,str(i),".fmwi"])        
-        while os.path.exists(filePath):
-            i += 1
-            filePath = "".join([self.fileName,str(i),".fmwi"])
-        
-        f = file(filePath, 'w')
-        self.log = FamiliarizerLog(familiarize.eventLog,self.level,self.activeWiimotes)
-        pickler = pickle.Pickler(f)
-        pickler.dump(self.log)
-        
-        f.close()
-        
-        self.repaint()
-        
-if __name__ == "__main__" :
-    pygame.init()
-    modeResolution = (1024,768)
-    window = pygame.display.set_mode(modeResolution,pygame.FULLSCREEN)
-    familiarizer = FamiliarizerPGUConfiguration(window)
-    pygame.quit()   
-        
-        
-        
-        
\ No newline at end of file
diff --git a/src/gui/InstrumentChoice.py b/src/gui/InstrumentChoice.py
deleted file mode 100755
index d5f073e..0000000
--- a/src/gui/InstrumentChoice.py
+++ /dev/null
@@ -1,315 +0,0 @@
-'''
-Created on 15 juil. 2009
-
-@author: Samuel Benveniste
-'''
-
-import pygame
-import pygame.midi
-import sys
-import time
-import pickle
-
-from numpy import array
-from numpy.linalg import norm
-
-from math import floor
-
-from gui.constants import *
-from PlayingScreen import PlayingScreen
-from instruments.Instrument import Instrument
-from cursor.WarpingCursor import *
-from controllers.Wiimote import Wiimote
-from logging.EventLog import EventLog
-from logging.PickleableEvent import PickleableEvent 
-
-class InstrumentChoice:
-    '''
-    The screen for choosing instruments
-    
-        instruments: 
-                The available instruments            
-        wiimotes: 
-                The wiimotes used in this session
-        window:
-            The main display window
-        screen:
-            The main display surface
-        clock:
-            The clock used to animate the screen
-        savedScreen:
-            The background that is painted every time
-        playerScreen:
-            The buffer for painting everything before bliting
-        width:
-            The width of the window in pixels
-        height:
-            The height of the window in pixels
-        done:
-            Goes to True when all instruments have been selected
-        cursorPositions:
-            The positions of the cursors on the screen, in pixels
-        imageRects:
-            The rectangles where the images of the instruments are located
-        focus:
-            The numbers of the instruments currently in focus
-    '''
-    
-    def __init__(self, instruments, wiimotes, window, screen, clock, joys, portOffset, activeWiimotes, eventLog=None, replay = False, logFilePath = None, scaleFactor = 1):
-        '''
-        Constructor
-        
-            instruments: 
-                The instruments for this session           
-            wiimotes: 
-                The wiimotes used in this session
-        '''
-        self.scaleFactor = scaleFactor
-        
-        self.instruments = instruments
-        self.wiimotes = wiimotes
-        self.window = window
-        self.screen = screen
-        self.clock = clock
-        self.width = int(floor(screen.get_width()*self.scaleFactor))
-        self.height = int(floor(screen.get_height()*self.scaleFactor))
-        self.blitOrigin = ((self.screen.get_width()-self.width)/2,(self.screen.get_height()-self.height)/2)        
-        self.joys = joys
-        self.portOffset = portOffset
-        
-        self.activeWiimotes = activeWiimotes
-        
-        self.currentWiimote = 0
-        while not self.activeWiimotes[self.currentWiimote] :
-            self.currentWiimote += 1
-        self.done = False        
-        
-        self.cursorPositions = []
-        self.imageRects = []
-        self.savedImageRects = []
-        self.focus = []
-        self.zoomed = []
-        
-        if eventLog == None:
-            self.eventLog = EventLog()
-            self.replay = False
-        else:
-            self.eventLog = eventLog
-            self.replay = replay
-            print self.replay
-                
-        #There are 3 instruments per row, up to 9 instruments
-        #Draw their images on the screen
-        self.savedScreen = pygame.Surface(self.screen.get_size())
-        self.savedScreen.fill((255, 255, 255))
-        for i in range(len(self.instruments)) :
-            drawPos = array([(self.width / 3) * (i % 3), (self.height / 3) * (i / 3)])
-            curImage = pygame.image.load(self.instruments[i].image).convert_alpha()
-            scaledImage = pygame.transform.smoothscale(curImage, (self.width / 3, self.height / 3))
-            self.imageRects.append(self.savedScreen.blit(scaledImage, drawPos + self.blitOrigin))
-            self.savedImageRects = self.imageRects[:]
-        #Draw the initial cursor on the buffer
-        self.playerScreen = pygame.Surface(self.savedScreen.get_size())
-        self.playerScreen.blit(self.savedScreen, (0, 0))
-        
-        for i in range(len(self.wiimotes)):
-            #Create the list of instrument focus (one focus per wiimote)
-            self.focus.append(0)
-            self.zoomed.append(None)
-            #Set the screen for the cursors (it can't be set before)
-            self.wiimotes[i].cursor.screen = self.playerScreen
-            self.cursorPositions.append(self.wiimotes[i].cursor.centerPosition)
-            
-        self.wiimotes[self.currentWiimote].cursor.blit(self.playerScreen)
-        
-        #The main loop
-        while self.done == False :
-            
-            #Clear the cursors from the screen
-            self.playerScreen.blit(self.savedScreen, (0, 0))
-            
-            # Limit frame speed to 50 FPS
-            #
-            timePassed = self.clock.tick(50)
-            
-            if self.replay:
-                self.eventLog.update(timePassed)
-                pickledEventsToPost = self.eventLog.getPickledEvents() 
-                for pickledEvent in pickledEventsToPost:
-                    pygame.event.post(pickledEvent.event)
-            
-            events = pygame.event.get()
-            
-            if not self.replay:
-                pickledEvents = [PickleableEvent(event.type,event.dict) for event in events if self.eventFilter(event)]
-                if pickledEvents != [] :
-                    self.eventLog.appendEventGroup(pickledEvents)
-            
-            for event in events:
-                self.input(event)
-                            
-        
-            if self.zoomed[self.currentWiimote] != None :
-                self.imageRects = self.savedImageRects[:]
-                #inflate the chosen rect
-                zoomedRectNumber = self.zoomed[self.currentWiimote]
-                newRect = zoomRect(self.imageRects[zoomedRectNumber], 1.3)
-                self.imageRects[zoomedRectNumber] = newRect
-                curImage = pygame.image.load(self.instruments[zoomedRectNumber].image).convert_alpha()
-                self.scaledImage = pygame.transform.smoothscale(curImage, newRect.size)
-                self.playerScreen.blit(self.scaledImage, newRect.topleft)
-            
-            for i in range(len(self.wiimotes)):
-                self.wiimotes[i].cursor.update(timePassed, self.cursorPositions[i])
-                
-            self.wiimotes[self.currentWiimote].cursor.blit(self.playerScreen)                
-            
-            if self.zoomed[self.currentWiimote] != None and self.imageRects[self.zoomed[self.currentWiimote]].collidepoint(self.cursorPositions[self.currentWiimote]):
-                self.focus[self.currentWiimote] = self.zoomed[self.currentWiimote]
-                pygame.draw.rect(self.playerScreen, pygame.Color(0, 255, 0, 255), self.imageRects[self.zoomed[self.currentWiimote]], 10)
-            else:
-                for i in range(len(self.imageRects)) :
-                    if self.imageRects[i].collidepoint(self.cursorPositions[self.currentWiimote]):
-                        self.focus[self.currentWiimote] = i
-                        pygame.draw.rect(self.playerScreen, pygame.Color(0, 255, 0, 255), self.imageRects[i], 10)
-                        if self.zoomed[self.currentWiimote] != None:
-                            self.playerScreen.blit(self.scaledImage, self.imageRects[self.zoomed[self.currentWiimote]].topleft)
-            
-            self.screen.blit(self.playerScreen, (0, 0))
-            
-            pygame.display.flip()
-            
-    def input(self, event):
-        if event.type == pygame.QUIT:
-            pygame.midi.quit()
-            sys.exit()
-        if event.type == pygame.JOYAXISMOTION:
-            self.updateCursorPositionFromJoy(event)
-        if event.type == pygame.JOYBUTTONDOWN :
-            self.assignInstrumentToWiimote(event)
-        if event.type == pygame.MOUSEBUTTONDOWN:
-            if self.zoomed[self.currentWiimote] == self.focus[self.currentWiimote]:
-                self.assignInstrumentToMouse(event)
-            else:
-                self.zoomed[self.currentWiimote] = self.focus[self.currentWiimote]
-        if event.type == pygame.MOUSEMOTION:
-            self.updateCursorPositionFromMouse(event)            
-                     
-    def updateCursorPositionFromJoy(self, joyEvent):
-        joyName = pygame.joystick.Joystick(joyEvent.joy).get_name()
-        print joyName
-        correctedJoyId = joyNames.index(joyName)
-        if self.activeWiimotes[correctedJoyId]: 
-            if correctedJoyId < len(self.cursorPositions):
-                if joyEvent.axis == 0 :
-                    self.cursorPositions[correctedJoyId] = (int((joyEvent.value + 1) / 2 * self.screen.get_width()), self.cursorPositions[correctedJoyId][1])
-                if joyEvent.axis == 1 :
-                    self.cursorPositions[correctedJoyId] = (self.cursorPositions[correctedJoyId][0], int((joyEvent.value + 1) / 2 * self.screen.get_height()))                  
-    
-    def assignInstrumentToWiimote(self, joyEvent):
-        joyName = pygame.joystick.Joystick(joyEvent.joy).get_name()
-        correctedJoyId = joyNames.index(joyName)
-        if self.activeWiimotes[correctedJoyId]:
-            if self.zoomed[correctedJoyId] == self.focus[correctedJoyId]:
-                self.wiimotes[correctedJoyId].instrument = self.instruments[self.focus[correctedJoyId]]
-                self.zoomed[correctedJoyId] = None
-                self.imageRects = self.savedImageRects[:]
-                if self.currentWiimote<len(self.wiimotes)-1:
-                    self.currentWiimote = self.currentWiimote+1
-            else:
-                self.zoomed[correctedJoyId] = self.focus[correctedJoyId]
-            if self.hasFinished():
-                self.done = True
-    
-    def updateCursorPositionFromMouse(self, mouseEvent):
-        correctedJoyId = 0
-        while not self.activeWiimotes[correctedJoyId] :
-            correctedJoyId += 1
-        self.cursorPositions[correctedJoyId] = mouseEvent.pos
-    
-    def assignInstrumentToMouse(self, mouseEvent):
-        correctedJoyId = 0
-        while not self.activeWiimotes[correctedJoyId] :
-            correctedJoyId += 1
-        self.wiimotes[correctedJoyId].instrument = self.instruments[self.focus[correctedJoyId]]
-        if self.hasFinished():
-            self.done = True
-    
-    def hasFinished(self):
-        finished = True
-        for i in range(len(self.wiimotes)):
-            if self.wiimotes[i].instrument == None and self.activeWiimotes[i]:
-                finished = False
-        return(finished)
-    
-    def eventFilter(self, event):
-        c = event.type
-        if c == 17:
-            return False
-        elif c == pygame.MOUSEMOTION or pygame.MOUSEBUTTONDOWN or pygame.MOUSEBUTTONUP or pygame.JOYAXISMOTION or pygame.JOYBUTTONDOWN or pygame.JOYBUTTONUP or pygame.KEYDOWN:
-            return True
-        else:
-            return False
-
-def zoomRect(rect, ratio):
-    zoomedRect = rect.inflate(int(floor((ratio - 1) * rect.width)), int(floor((ratio - 1) * rect.height)))
-    return(zoomedRect)        
-
-if __name__ == "__main__":
-    pygame.init()
-    #pygame.event.set_blocked([pygame.MOUSEBUTTONDOWN,pygame.MOUSEBUTTONUP,pygame.MOUSEMOTION])
-    
-    pygame.midi.init()
-    instruments = [Instrument(majorScale, i + 1, "".join(["../instruments/instrumentImages/", instrumentImagePathList[i], ".jpg"]), octaves[i]) for i in range(9)]
-    
-    joys = [pygame.joystick.Joystick(id).get_name() for id in range(pygame.joystick.get_count())]
-    joyOffset = joys.index(joyNames[0])
-    pygame.joystick.Joystick(joyOffset).init()
-    print(joyOffset)  
-    
-    ports = [pygame.midi.get_device_info(id)[1] for id in range(pygame.midi.get_count())]
-    portOffset = ports.index(portNames[0])
-    print(portOffset)
-    
-    window = pygame.display.set_mode((1280, 1024),pygame.FULLSCREEN)
-    screen = pygame.display.get_surface()
-    clock = pygame.time.Clock()        
-    cursorImages = createImageListFromPath('../cursor/cursorImages/black', 11)
-    durations = [75 for i in range(len(cursorImages))]
-    
-    extsc = False
-    casc = False
-    
-    jadbt = [3, 4, 5, 3, 4, 4, 5, 6, 6, 5, 3, 3, 4, 5, 3, 4, 4, 5, 6, 7, 3]
-    song = None
-    
-    cursors = [WarpingCursor(None, cursorImages, durations, (300 * i, 300 * i)) for i in range(1)]
-    wiimotes = [Wiimote(i, i + portOffset, None, None, cursors[i]) for i in range(1)]
-    choice = InstrumentChoice(instruments, wiimotes, window, screen, clock, joyOffset, portOffset)
-    play = PlayingScreen(choice, song, casc, extsc)
-    for wiimote in wiimotes:
-        del wiimote.port            
-        
-    f = file('temp.pkl', 'w')
-    pickler = pickle.Pickler(f)
-    pickler.dump(play.eventLog.eventGroups)
-    pickler.dump(play.eventLog.times)
-    f.close()
-    
-    f = file('temp.pkl', 'r')
-    unpickler = pickle.Unpickler(f)
-    eventGroups = unpickler.load()
-    times = unpickler.load()
-    f.close()
-    eventLog = EventLog(eventGroups,times)
-    
-    cursors = [WarpingCursor(None, cursorImages, durations, (300 * i, 300 * i)) for i in range(1)]
-    wiimotes = [Wiimote(i, i + portOffset, None, None, cursors[i]) for i in range(1)]
-    choice2 = InstrumentChoice(instruments, wiimotes, window, screen, clock, joyOffset, portOffset, eventLog)
-    play = PlayingScreen(choice2, song, casc, extsc)
-    
-    for wiimote in wiimotes:
-        del wiimote.port
-    
-    pygame.midi.quit()
-    sys.exit()
diff --git a/src/gui/MINWiiDialog.py b/src/gui/MINWiiDialog.py
deleted file mode 100644
index 4116318..0000000
--- a/src/gui/MINWiiDialog.py
+++ /dev/null
@@ -1,65 +0,0 @@
-# -*- coding: utf-8 -*-
-'''
-Created on 17 dec. 2009
-
-@author: samsam
-'''
-
-import pgu.gui as pguGui
-import os
-import constants
-
-class MINWiiDialog(pguGui.FileDialog):
-    '''
-    classdocs
-    '''
-    
-    def __init__(self, font = None, width = 800, height = 600,path=None):
-        pguGui.FileDialog.__init__(self,title_txt = "Choisir une chanson", customFont = font,customWidth = width, customHeight = height,folderText = "", fileText = "",path =path,showCurDir = False)
-    
-    def _list_dir_(self):
-        self.input_dir.value = self.curdir
-        self.input_dir.pos = len(self.curdir)
-        self.input_dir.vpos = 0
-        dirs = []
-        files = []
-        try:
-            for i in os.listdir(self.curdir):
-                if os.path.isdir(os.path.join(self.curdir, i)): dirs.append(i)
-                else: files.append(i)
-        except:
-            self.input_file.value = "Opps! no access"
-        #if '..' not in dirs: dirs.append('..')
-        dirs.sort()
-        dirs = ['..'] + dirs
-        
-        files.sort()
-        for i in dirs:
-            #item = ListItem(image=self.dir_img, text=i, value=i)
-            if self.customFont == None :
-                self.list.add(i,image=self.dir_img,value=i)
-            else :
-                if i == ".." or i[0] != ".":
-                    label = pguGui.basic.Label(i,font = self.customFont)
-                    self.list.add(label,image=self.dir_img,value=i)
-        for i in files:
-            #item = ListItem(image=None, text=i, value=i)
-            if self.customFont == None :
-                self.list.add(i,value=i)
-            else:
-                if i.endswith(".smwi"):
-                    key = i[:-5]
-                    if key in constants.reversedReadabilityDict :                     
-                        label = pguGui.basic.Label(constants.reversedReadabilityDict[key],font = self.customFont)
-                    else :
-                        label = pguGui.basic.Label(key,font = self.customFont)
-                    self.list.add(label,value=i)
-                elif i.endswith(".xml") :
-                    # TODO : afficher le Titre de la chanson au lieu du nom
-                    # de fichier
-                    label = pguGui.basic.Label(i, font=self.customFont)
-                    self.list.add(label,value=i)
-        #self.list.resize()
-        self.list.set_vertical_scroll(0)
-        #self.list.repaintall()
-        
\ No newline at end of file
diff --git a/src/gui/PGUConfiguration.py b/src/gui/PGUConfiguration.py
deleted file mode 100644
index d903c5a..0000000
--- a/src/gui/PGUConfiguration.py
+++ /dev/null
@@ -1,313 +0,0 @@
-'''
-Created on 12 nov. 2009
-
-@author: Samuel Benveniste
-'''
-
-import os
-import sys
-import subprocess
-
-import pygame
-import pygame.midi
-import pickle
-
-from pygame.locals import *
-
-from pgu import gui as pguGui
-
-from PlayingScreen import PlayingScreen
-from SongPlayingScreen import SongPlayingScreen
-from InstrumentChoice import InstrumentChoice
-from instruments.Instrument import Instrument
-from cursor.WarpingCursor import *
-from controllers.Wiimote import Wiimote
-from logging.Log import Log
-from songs.Song import Song,loadSong
-from songs.musicxmltosong import musicXml2Song
-from constants import *
-from MINWiiDialog import MINWiiDialog
-
-class PGUConfiguration(pguGui.Desktop):
-    '''
-    classdocs
-    '''
-
-
-    def __init__(self,window):
-        '''
-        Constructor
-        '''
-        pguGui.Desktop.__init__(self)
-        self.extendedScale = False
-        self.cascade = False
-        self.song = None
-        self.scale = scaleDict["majorScale"]
-        self.log = None
-        self.done = False
-        self.easyMode = True
-        self.mode = 0
-        self.activeWiimotes = [False for i in range(4)]
-        self.alwaysDown = False
-        
-        self.file = None
-        #fileName is the path for the log file
-        self.fileName = fileName
-        self.titleFont = pygame.font.Font(None,100)
-        self.font = pygame.font.Font(None,70)
-        self.spaceSize = (100,100)
-        
-        self.browseButton = pguGui.Button(self.createLabel("Choisir..."))
-        self.browseButton.connect(pguGui.CLICK, self.open_file_browser, None)
-        
-        self.songSwitch = pguGui.Switch(False)
-        
-        self.modeSelect = pguGui.Select()
-        for key in modeDict.keys() :
-            self.modeSelect.add(self.createLabel(reversedReadabilityDict[key]),key)
-        self.modeSelect.connect(pguGui.CHANGE,self.modeSelectChanged,None)
-        
-        self.activeWiimoteSwitches = [pguGui.Switch(False) for i in range(4)]
-        for i in range(len(self.activeWiimoteSwitches)) :
-            self.activeWiimoteSwitches[i].connect(pguGui.CHANGE,self.activeWiimoteSwitchesChanged,i)
-        
-        self.goButton = pguGui.Button(self.createLabel("Go"))
-        self.goButton.connect(pguGui.CLICK,self.goButtonClicked,None)
-        
-        self.quitButton = pguGui.Button(self.createLabel("Fin"))
-        self.quitButton.connect(pguGui.CLICK,self.quitButtonClicked,None)
-        
-        self.connect(pguGui.QUIT,self.quit,None)
-        
-        self.window = window
-        
-        ##The table code is entered much like HTML.
-        ##::
-        
-        self.mainTable = pguGui.Table()
-        
-        self.fillMainTable()
-                
-#        self.mainTable.tr()
-#        self.mainTable.td(self.createLabel("MINWii",self.titleFont),colspan = 4)
-        
-        self.run(self.mainTable)
-        
-    def open_file_browser(self,data=None):
-        d = MINWiiDialog(font = self.font,width = 800, height = 600,path = "../songs/smwis")
-        d.connect(pguGui.CHANGE, self.handle_file_browser_closed, d)
-        d.open()
-    
-
-    def handle_file_browser_closed(self,dlg):
-        if dlg.value:
-            if os.path.isfile(dlg.value):
-                self.file = dlg.value
-                if self.file.endswith('.smwi') :
-                    self.song = loadSong(self.file)
-                    key = os.path.basename(self.file)[:-5]
-                    if key in reversedReadabilityDict :                     
-                        label = self.createLabel(reversedReadabilityDict[key])
-                    else :
-                        label = self.createLabel(key)
-                elif self.file.endswith('.xml') :
-                    self.song = musicXml2Song(self.file, printNotes=False)
-                    filename = os.path.basename(self.file)
-                    label = self.createLabel(filename) 
-                self.browseButton = pguGui.Button(label)
-                self.browseButton.connect(pguGui.CLICK, self.open_file_browser, None)
-                if not self.songSwitch.value :
-                    self.songSwitch.click()
-                self.mainTable.clear()
-                self.fillMainTable()
-                
-                
-    def fillMainTable(self):
-        
-        self.mainTable.tr()
-        self.mainTable.td(pguGui.Spacer(*self.spaceSize))
-        
-        self.mainTable.tr()
-        self.mainTable.td(self.createLabel("Chanson :"))
-        self.mainTable.td(self.browseButton,colspan=2)
-        self.mainTable.td(self.songSwitch)
-        
-        self.mainTable.tr()
-        self.mainTable.td(pguGui.Spacer(*self.spaceSize))
-        
-        self.mainTable.tr()
-        self.mainTable.td(self.createLabel("Niveau :"))
-        self.mainTable.td(self.modeSelect,colspan=3)
-        
-        self.mainTable.tr()
-        self.mainTable.td(pguGui.Spacer(*self.spaceSize))
-        
-        self.mainTable.tr()
-        self.mainTable.td(self.createLabel("Joueurs :", self.font))
-        playerTable = pguGui.Table()
-        for i in range(len(self.activeWiimoteSwitches)):
-            playerTable.td(self.createLabel(" " + str(i+1)+" ", self.font))
-            playerTable.td(self.activeWiimoteSwitches[i])
-        self.mainTable.td(playerTable,colspan = 3)
-        
-        self.mainTable.tr()
-        self.mainTable.td(pguGui.Spacer(*self.spaceSize))
-        
-        self.mainTable.tr()
-        self.mainTable.td(self.goButton)
-        self.mainTable.td(self.quitButton,colspan=3)        
-        
-        self.mainTable.tr()
-        self.mainTable.td(pguGui.Spacer(500,500))        
-                           
-    def createLabel(self,text,font = None):
-        if font == None :
-            font = self.font
-        w,h = self.font.size(text)
-        label = pguGui.Label(text,width=w,height=h,font = font)
-        return(label)
-    
-    def songSelectChanged(self,data=None):
-        self.song = songDict[self.songSelect.value]
-        
-    def activeWiimoteSwitchesChanged(self,data = None):
-        if self.activeWiimoteSwitches[data].value :
-            for i in range(len(self.activeWiimoteSwitches)) :
-                if self.activeWiimoteSwitches[i].value and data != i :
-                    self.activeWiimoteSwitches[i].click()                
-        for i in range(len(self.activeWiimoteSwitches)) :
-            self.activeWiimotes[i] = self.activeWiimoteSwitches[i].value
-        
-    def modeSelectChanged(self,data = None):
-        self.mode = modeDict[self.modeSelect.value]
-        
-    def hasActiveWiimote(self):
-        hasActive = False
-        for i in self.activeWiimotes:
-            if i :
-                hasActive = True
-        return(hasActive)
-    
-    def quitButtonClicked(self,data = None):
-        self.done = True
-        print 'puti'
-        for isActive in self.activeWiimotes :
-            print isActive
-        self.quit()
-    
-    def goButtonClicked(self,data = None):
-        pygame.font.init()
-        
-        if not self.hasActiveWiimote():
-            self.activeWiimotes[0] = True
-        pygame.midi.init()
-        instruments = [Instrument(self.scale, i + 1, "".join(["../instruments/instrumentImages/", instrumentImagePathList[i], ".jpg"]), octaves[i]) for i in range(9)]
-        
-        joys = [[id,pygame.joystick.Joystick(id).get_name()] for id in range(pygame.joystick.get_count())]
-        for joy in joys:
-            print joy[1]
-            if joy[1] in joyNames:
-                print "On"
-                pygame.joystick.Joystick(joy[0]).init()
-            else :
-                print "off" 
-        
-        ports = [pygame.midi.get_device_info(id)[1] for id in range(pygame.midi.get_count())]
-        portOffset = ports.index(portNames[0])
-        print(portOffset)
-        
-        screen = pygame.display.get_surface()
-        clock = pygame.time.Clock()        
-        cursorImages=[['../cursor/cursorImages/black/10.png'],['../cursor/cursorImages/red/10.png'],['../cursor/cursorImages/blue/10.png'],['../cursor/cursorImages/green/10.png']]
-        durations = [75 for i in range(len(cursorImages[0]))]
-        
-        wiimoteCount = 4
-        cursors = [WarpingCursor(None, cursorImages[i], durations, (300 * i, 300 * i),flashImage = '../cursor/cursorImages/black/flash.png' ) for i in range(wiimoteCount)]
-        wiimotes = [Wiimote(i, i + portOffset, None, None, cursors[i]) for i in range(wiimoteCount)]
-        
-        if self.song != None and self.songSwitch.value :
-            
-            if self.mode == 0 :
-                self.extendedScale = self.song.requiresExtendedScale
-                self.cascade = True
-                self.easyMode = True
-                self.alwaysDown = True
-            elif self.mode == 1 :
-                self.extendedScale = self.song.requiresExtendedScale
-                self.cascade = True
-                self.easyMode = True
-            elif self.mode == 2:
-                self.extendedScale = self.song.requiresExtendedScale
-                self.cascade = False
-                self.easyMode = True
-            elif self.mode == 3:
-                self.extendedScale = True
-                self.cascade = False
-                self.easyMode = False
-                
-            choice = InstrumentChoice(instruments, wiimotes, self.window, screen, clock, joys, portOffset,self.activeWiimotes, scaleFactor = songScaleFactor)
-            play = SongPlayingScreen(choice, self)# self.song,self.cascade, self.extendedScale,self.easyMode,self.alwaysDown)
-        
-        else:
-            
-            if self.mode == 0 :
-                self.extendedScale = False
-                self.cascade = False
-            elif self.mode == 1 :
-                self.extendedScale = True
-                self.cascade = False
-            elif self.mode == 2:
-                self.extendedScale = False
-                self.cascade = True
-            elif self.mode == 3:
-                self.extendedScale = True
-                self.cascade = True
-                
-            choice = InstrumentChoice(instruments, wiimotes, self.window, screen, clock, joys, portOffset,self.activeWiimotes)
-            play = PlayingScreen(choice, self)#None,self.cascade, self.extendedScale)            
-                
-        while play.backToInstrumentChoice == True :
-            
-            for wiimote in wiimotes:
-                del wiimote.port
-                
-            wiimotes = [Wiimote(i, i + portOffset, None, None, cursors[i]) for i in range(wiimoteCount)]
-            previousEventLog = choice.eventLog
-
-            if self.song != None :
-                choice = InstrumentChoice(instruments, wiimotes, self.window, screen, clock, joys, portOffset, self.activeWiimotes,eventLog = previousEventLog, replay = False, scaleFactor = songScaleFactor)
-                play = SongPlayingScreen(choice, self.song, False, self.extendedScale,self.easyMode)
-            else:
-                choice = InstrumentChoice(instruments, wiimotes, self.window, screen, clock, joys, portOffset,self.activeWiimotes, eventLog = previousEventLog, replay = False)
-                play = PlayingScreen(choice, None, self.cascade, self.extendedScale)
-                               
-        for wiimote in wiimotes:
-                del wiimote.port
-        
-        i = 1        
-        filePath = "".join([self.fileName,str(i),".mwi"])        
-        while os.path.exists(filePath):
-            i += 1
-            filePath = "".join([self.fileName,str(i),".mwi"])            
-        
-        f = file(filePath, 'w')
-        self.log = Log(play.eventLog,self.scale,self.extendedScale,self.cascade,self.song,self.mode,self.activeWiimotes)
-        pickler = pickle.Pickler(f)
-        pickler.dump(self.log)
-        
-        f.close()
-        
-        pygame.midi.quit()
-        
-        self.repaint()
-        
-if __name__ == "__main__" :
-    pygame.init()
-    modeResolution = (1024,768)
-    window = pygame.display.set_mode(modeResolution)#,pygame.FULLSCREEN)
-    pgu = PGUConfiguration(window)
-    pygame.quit()   
-        
-        
-        
-        
\ No newline at end of file
diff --git a/src/gui/PlayingScreen.py b/src/gui/PlayingScreen.py
deleted file mode 100755
index 0b1b272..0000000
--- a/src/gui/PlayingScreen.py
+++ /dev/null
@@ -1,439 +0,0 @@
-'''
-Created on 23 juil. 2009
-
-@author: Samuel Benveniste
-'''
-from math import floor, ceil
-import pygame
-import sys
-import colorsys
-import constants
-from gradients import gradients
-from logging.PickleableEvent import PickleableEvent
-
-
-class PlayingScreen:
-    '''
-    The screen on which the game is played
-    
-        wiimotes: 
-                The wiimotes used in this session
-        window:
-            The main display window
-        screen:
-            The main display surface
-        clock:
-            The clock used to animate the screen
-        savedScreen:
-            The background that is painted every time
-        playerScreen:
-            The buffer for painting everything before bliting
-        width:
-            The width of the window in pixels
-        height:
-            The height of the window in pixels
-        extendScale :
-            True if the scale is G to C instead of C to C
-        cascade:
-            True if crossing from note to note with a button pressed triggers a new note
-        scaleSize:
-            The size of the scale used
-        cursorPositions:
-            The positions of the cursors on the screen, in pixels
-    '''
-    
-    
-    
-    def __init__(self, instrumentChoice=None, song = None, cascade=False, extendedScale=False, defaultInstrumentChannel = 16, defaultNote = 60):
-        '''
-        Constructor
-        '''        
-        self.blinkLength = 200
-        self.minimalVelocity = 64
-        self.shortScaleSize = 8
-        self.longScaleSize = 11
-        if not extendedScale:
-            self.offset = self.longScaleSize - self.shortScaleSize
-        else:
-            self.offset = 0
-        self.borderSize = 5
-        self.savedHighlightedNote = 0
-        
-        self.wiimotes = instrumentChoice.wiimotes
-        self.activeWiimotes = instrumentChoice.activeWiimotes
-        self.window = instrumentChoice.window
-        self.screen = instrumentChoice.screen
-        self.blitOrigin = instrumentChoice.blitOrigin
-        self.clock = instrumentChoice.clock
-        self.width = instrumentChoice.width
-        self.height = instrumentChoice.height
-        self.cursorPositions = instrumentChoice.cursorPositions
-        self.savedScreen = instrumentChoice.savedScreen
-        self.playerScreen = instrumentChoice.playerScreen
-        self.extendedScale = extendedScale
-        self.cascade = cascade
-        self.joys = instrumentChoice.joys
-        self.portOffset = instrumentChoice.portOffset
-        self.eventLog = instrumentChoice.eventLog
-        self.cursorPositions = instrumentChoice.cursorPositions
-        self.song = song
-        self.songIterator = self.moveToNextNote()
-        self.replay = instrumentChoice.replay
-        
-        self.defaultInstrumentChannel = defaultInstrumentChannel
-        self.defaultNote = defaultNote
-        
-        self.done = False
-        self.backToInstrumentChoice = False
-        self.easyMode = False
-        
-        self.highlightedNote = self.songIterator.next()
-        
-        self.blinkOn = False
-        self.savedBlinkOn = False
-        ##Will prevent the song to move on if two consecutive notes are identical and the buttons have not been released in between the two
-        ##i.e. it guarantees that there will be an attack between two identical consecutive notes
-        self.highlightIsFree = True
-        
-        self.noteRects = []
-        self.boundingRect = None
-        self.notes = []
-        self.buttonDown = []
-        self.velocityLock = []
-        
-        self._blinkOffset = 0
-        
-        self.font = pygame.font.Font(None,50)
-        self.firstWiimote = 0
-        while not self.activeWiimotes[self.firstWiimote] :
-            self.firstWiimote += 1
-        self.renderedNoteNames = [self.font.render(constants.noteNumberToName(note),False,(0,0,0)) for note in self.wiimotes[self.firstWiimote].instrument.notes[self.offset:]]
-        
-        self.drawBackground()
-        self.initializeWiimotes()
-        
-        #The main loop
-        while not self.done :
-            
-            #Clear the cursors from the screen
-            if self.hasChanged():
-                self.drawBackground()
-            self.playerScreen.blit(self.savedScreen, (0, 0))
-            
-            # Limit frame speed to 50 FPS
-            #
-            timePassed = self.clock.tick(50)
-            
-            self._blinkOffset += timePassed
-            if self._blinkOffset > self.blinkLength:
-                self._blinkOffset -= self.blinkLength
-                self.blinkOn = not self.blinkOn
-                
-            if self.replay:
-                self.eventLog.update(timePassed)
-                pickledEventsToPost = self.eventLog.getPickledEvents() 
-                for pickledEvent in pickledEventsToPost:
-                    pygame.event.post(pickledEvent.event)
-            
-            events = pygame.event.get()
-            
-            if not self.replay:
-                pickledEvents = [PickleableEvent(event.type,event.dict) for event in events]
-                if pickledEvents != [] :
-                    self.eventLog.appendEventGroup(pickledEvents)
-            
-            for event in events:
-                self.input(event)
-                            
-            for i in range(len(self.wiimotes)):
-                if self.activeWiimotes[i]:
-                    self.wiimotes[i].cursor.update(timePassed, self.cursorPositions[i])
-                    if self.buttonDown[i] :
-                        self.wiimotes[i].cursor.flash()
-                    self.wiimotes[i].cursor.blit(self.playerScreen)
-            
-            self.screen.blit(self.playerScreen, (0,0))
-            
-            pygame.display.flip()
-        
-        for i in range(len(self.wiimotes)):
-            if self.activeWiimotes[i]:
-                self.wiimotes[i].stopNote(self.notes[i])            
-            
-    def drawBackground(self):
-        self.savedScreen.fill((255,255,255))
-        
-        if self.extendedScale :
-            self.scaleSize = self.longScaleSize
-        else:
-            self.scaleSize = self.shortScaleSize
-        
-        self.noteRects = [pygame.Rect(i * self.width / self.scaleSize+self.blitOrigin[0], self.blitOrigin[1], self.width / self.scaleSize + 1, self.height+1) for i in range(self.scaleSize)]
-        #inflate last noteRect to cover the far right pixels
-        self.noteRects[-1].width = self.noteRects[-1].width + 1
-        
-        #create bounding rect
-        self.boundingRect = self.noteRects[0].unionall(self.noteRects)
-        
-        #fill the rectangles with a color gradient
-        #We start with blue
-        startingHue = 0.66666666666666663
-        
-        for rectNumber in range(self.scaleSize):
-            colorRatio = float(rectNumber) / (self.scaleSize - 1)
-            #hue will go from 0.6666... (blue) to 0 (red) as colorRation goes up
-            hue = startingHue * (1 - colorRatio)
-            if self.song != None:
-                if rectNumber + self.offset == self.highlightedNote:
-                    #The color of the bottom of the rectangle in hls coordinates
-                    bottomColorHls = (hue, 0.6, 1)
-                    #The color of the top of the rectangle in hls coordinates
-                    topColorHls = (hue, 0.9, 1)
-                else:
-                    #The color of the bottom of the rectangle in hls coordinates
-                    bottomColorHls = (hue, 0.2, 1)
-                    #The color of the top of the rectangle in hls coordinates
-                    topColorHls = (hue, 0.4, 1)
-            else:
-                #The color of the bottom of the rectangle in hls coordinates
-                bottomColorHls = (hue, 0.6, 1)
-                #The color of the top of the rectangle in hls coordinates
-                topColorHls = (hue, 0.9, 1)
-            
-            #convert to rgb ranging from 0 to 255
-            bottomColorRgb = [floor(255 * i) for i in colorsys.hls_to_rgb(*bottomColorHls)]
-            topColorRgb = [floor(255 * i) for i in colorsys.hls_to_rgb(*topColorHls)]
-            #add transparency
-            bottomColorRgb.append(255)
-            topColorRgb.append(255)
-            #convert to tuple
-            bottomColorRgb = tuple(bottomColorRgb)
-            topColorRgb = tuple(topColorRgb)            
-            
-            self.savedScreen.blit(gradients.vertical(self.noteRects[rectNumber].size, topColorRgb, bottomColorRgb), self.noteRects[rectNumber])
-            
-            textBlitPoint = (self.noteRects[rectNumber].left+(self.noteRects[rectNumber].width-self.renderedNoteNames[rectNumber].get_width())/2,
-                             self.noteRects[rectNumber].bottom-self.renderedNoteNames[rectNumber].get_height())
-            
-            self.savedScreen.blit(self.renderedNoteNames[rectNumber], textBlitPoint)
-            
-            pygame.draw.rect(self.savedScreen, pygame.Color(0, 0, 0, 255), self.noteRects[rectNumber], 2)
-            
-            
-            if self.song != None and self.blinkOn:
-                borderSize = self.borderSize
-                pygame.draw.rect(self.savedScreen, pygame.Color(0, 0, 0, 0), self.noteRects[self.highlightedNote-self.offset].inflate(borderSize/2,borderSize/2), borderSize)
-        
-    def initializeWiimotes(self):
-        for loop in self.wiimotes:
-            if loop.port == None :
-                loop.port = pygame.midi.Output(loop.portNumber)
-            self.notes.append(0)
-            self.buttonDown.append(False)
-            self.velocityLock.append(False)
-    
-    def updateCursorPositionFromJoy(self, joyEvent):
-        joyName = pygame.joystick.Joystick(joyEvent.joy).get_name()
-        correctedJoyId = constants.joyNames.index(joyName)
-        if correctedJoyId < len(self.cursorPositions):
-            if joyEvent.axis == 0 :
-                self.cursorPositions[correctedJoyId] = (int((joyEvent.value + 1) / 2 * self.screen.get_width()), self.cursorPositions[correctedJoyId][1])
-            if joyEvent.axis == 1 :
-                self.cursorPositions[correctedJoyId] = (self.cursorPositions[correctedJoyId][0], int((joyEvent.value + 1) / 2 * self.screen.get_height()))
-    
-    def heightToVelocity(self, pos, controllerNumber):
-        if self.song != None:
-            if self.boundingRect.collidepoint(pos) and (self.highlightedNote == self.notes[controllerNumber] or self.velocityLock[controllerNumber]):
-                velocity = int(floor((1 - (float(pos[1])-self.blitOrigin[1]) / self.height) * (127-self.minimalVelocity))+self.minimalVelocity)
-            else :
-                if self.easyMode:
-                    velocity = None
-                else:
-                    velocity = self.minimalVelocity/3
-        else:
-            if self.boundingRect.collidepoint(pos):
-                velocity = int(floor((1 - (float(pos[1])-self.blitOrigin[1]) / self.height) * (127-self.minimalVelocity))+self.minimalVelocity)
-            else :
-                velocity = self.minimalVelocity
-        return(velocity)
-    
-    def widthToNote(self, pos):
-        nn = 0
-        try :
-            while self.noteRects[nn].collidepoint(pos) == False:
-                nn = nn + 1
-            return(nn + self.offset)
-        except(IndexError):
-            return(None)
-    
-    def input(self, event): 
-        
-        if event.type == pygame.QUIT:
-            for loop in self.wiimotes:
-                del loop.port
-            pygame.midi.quit()
-            sys.exit(0) 
-        
-        if event.type == pygame.KEYDOWN:
-            if event.key == pygame.K_q:
-                self.done = True
-                
-            if event.key == pygame.K_i:
-                self.backToInstrumentChoice = True
-                self.done = True 
-        
-        if event.type == pygame.JOYAXISMOTION:
-            joyName = pygame.joystick.Joystick(event.joy).get_name()
-            correctedJoyId = constants.joyNames.index(joyName)
-            if self.activeWiimotes[correctedJoyId]:
-                self.updateCursorPositionFromJoy(event)            
-                wiimote = self.wiimotes[correctedJoyId]
-                pos = self.cursorPositions[correctedJoyId]
-    
-                if self.buttonDown[correctedJoyId]:
-                    if self.notes[correctedJoyId] != None:
-                        velocity = self.heightToVelocity(pos, correctedJoyId)
-                        CCHexCode = wiimote.getCCHexCode()
-                        wiimote.port.write_short(CCHexCode, 07, velocity)
-                    if self.cascade:
-                        n = self.widthToNote(pos)
-                        if n != self.notes[correctedJoyId]:
-                            wiimote.stopNote(self.notes[correctedJoyId])
-                            self.notes[correctedJoyId] = n
-                            
-                            if self.song != None :
-                                if self.highlightedNote == self.notes[correctedJoyId]:
-                                    self.highlightedNote = self.songIterator.next()
-                                    self.velocityLock[correctedJoyId] = True
-                                else:
-                                    self.velocityLock[correctedJoyId] = False
-                            
-                            velocity = self.heightToVelocity(pos, correctedJoyId)
-                            
-                            wiimote.playNote(self.notes[correctedJoyId],velocity)
-        
-        if event.type == pygame.JOYBUTTONDOWN :
-            
-            joyName = pygame.joystick.Joystick(event.joy).get_name()
-            correctedJoyId = constants.joyNames.index(joyName)
-            if self.activeWiimotes[correctedJoyId]:
-                wiimote = self.wiimotes[correctedJoyId]
-                pos = self.cursorPositions[correctedJoyId]
-    
-                if not self.buttonDown[correctedJoyId]:
-                    savedNote = self.notes[correctedJoyId]
-                    self.notes[correctedJoyId] = self.widthToNote(pos)
-                    
-                    if self.song != None :
-                        if self.highlightedNote == self.notes[correctedJoyId]:
-                            self.highlightedNote = self.songIterator.next()
-                            self.velocityLock[correctedJoyId] = True
-                    
-                    velocity = self.heightToVelocity(pos, correctedJoyId)
-                    
-                    if velocity != None :                            
-                        if self.easyMode :
-                            wiimote.stopNote(savedNote)
-                        wiimote.playNote(self.notes[correctedJoyId],velocity)
-                    self.buttonDown[correctedJoyId] = True
-        
-        if event.type == pygame.JOYBUTTONUP:
-            joyName = pygame.joystick.Joystick(event.joy).get_name()
-            correctedJoyId = constants.joyNames.index(joyName)
-            if self.activeWiimotes[correctedJoyId]:
-                self.buttonDown[correctedJoyId] = False
-                wiimote = self.wiimotes[correctedJoyId]
-                if not self.easyMode:
-                    wiimote.stopNote(self.notes[correctedJoyId])
-                    self.velocityLock[correctedJoyId] = False
-            
-        if event.type == pygame.MOUSEMOTION:
-            
-            self.updateCursorPositionFromMouse(event)
-
-            correctedJoyId = 0
-            while not self.activeWiimotes[correctedJoyId] :
-                correctedJoyId += 1
-            wiimote = self.wiimotes[correctedJoyId]
-            pos = self.cursorPositions[correctedJoyId]
-
-            if self.buttonDown[correctedJoyId]:
-                if self.notes[correctedJoyId] != None:
-                    velocity = self.heightToVelocity(pos, correctedJoyId)
-                    CCHexCode = wiimote.getCCHexCode()
-                    wiimote.port.write_short(CCHexCode, 07, velocity)
-                if self.cascade:
-                    n = self.widthToNote(pos)
-                    if n != self.notes[correctedJoyId]:
-                        wiimote.stopNote(self.notes[correctedJoyId])
-                        self.notes[correctedJoyId] = n
-                        
-                        if self.song != None :
-                            if self.highlightedNote == self.notes[correctedJoyId]:
-                                self.highlightedNote = self.songIterator.next()
-                                self.velocityLock[correctedJoyId] = True
-                            else:
-                                self.velocityLock[correctedJoyId] = False
-                        
-                        velocity = self.heightToVelocity(pos, correctedJoyId)
-                            
-                        wiimote.playNote(self.notes[correctedJoyId],velocity)                            
-        
-        if event.type == pygame.MOUSEBUTTONDOWN:
-            
-            if event.button == 1:
-                correctedJoyId = 0
-                while not self.activeWiimotes[correctedJoyId] :
-                    correctedJoyId += 1
-                wiimote = self.wiimotes[correctedJoyId]
-                pos = self.cursorPositions[correctedJoyId]
-    
-                if not self.buttonDown[correctedJoyId]:
-                    self.notes[correctedJoyId] = self.widthToNote(pos)
-                    
-                    if self.song != None :
-                        if self.highlightedNote == self.notes[correctedJoyId]:
-                            self.highlightedNote = self.songIterator.next()
-                            self.velocityLock[correctedJoyId] = True
-                    
-                    velocity = self.heightToVelocity(pos, correctedJoyId)
-                                
-                    wiimote.playNote(self.notes[correctedJoyId],velocity)
-                    self.buttonDown[correctedJoyId] = True
-            
-            if event.button == 2:
-                
-                self.done = True
-        
-        if event.type == pygame.MOUSEBUTTONUP:
-            
-            correctedJoyId = 0
-            while not self.activeWiimotes[correctedJoyId] :
-                correctedJoyId += 1
-            wiimote = self.wiimotes[correctedJoyId]
-            wiimote.stopNote(self.notes[correctedJoyId])
-            self.buttonDown[correctedJoyId] = False
-            self.velocityLock[correctedJoyId] = False
-        
-    def hasChanged(self):
-        changed = False
-        if self.song != None:
-            if self.blinkOn != self.savedBlinkOn or self.highlightedNote != self.savedHighlightedNote:
-                self.savedBlinkOn = self.blinkOn
-                self.savedHighlightedNote = self.highlightedNote
-                changed = True
-        return(changed)
-    
-    def updateCursorPositionFromMouse(self, mouseEvent):
-        correctedJoyId = 0
-        while not self.activeWiimotes[correctedJoyId] :
-            correctedJoyId += 1
-        self.cursorPositions[correctedJoyId] = mouseEvent.pos
-        
-    def moveToNextNote(self):
-        while True:
-            if self.song == None:
-                yield(None)
-            else:
-                for note in self.song:
-                    yield note
diff --git a/src/gui/SongFamiliarizer.py b/src/gui/SongFamiliarizer.py
deleted file mode 100644
index 69ab03c..0000000
--- a/src/gui/SongFamiliarizer.py
+++ /dev/null
@@ -1,583 +0,0 @@
-'''
-Created on 23 juil. 2009
-
-@author: Samuel Benveniste
-'''
-from math import floor, ceil
-import pygame
-import sys
-import colorsys
-import constants
-from gradients import gradients
-from logging.PickleableEvent import PickleableEvent
-from logging.EventLog import EventLog
-
-
-class SongFamiliarizer:
-    '''
-    The screen on which the game is played
-    
-        wiimotes: 
-                The wiimotes used in this session
-        window:
-            The main display window
-        screen:
-            The main display surface
-        clock:
-            The clock used to animate the screen
-        savedScreen:
-            The background that is painted every time
-        playerScreen:
-            The buffer for painting everything before bliting
-        width:
-            The width of the window in pixels
-        height:
-            The height of the window in pixels
-        extendScale :
-            True if the scale is G to C instead of C to C
-        cascade:
-            True if crossing from note to note with a button pressed triggers a new note
-        scaleSize:
-            The size of the scale used
-        cursorPositions:
-            The positions of the cursors on the screen, in pixels
-    '''
-    
-    
-    
-    def __init__(self, wiimotes, window, screen, clock, joys, portOffset, song,  activeWiimotes, cascade=False, extendedScale=False, easyMode = False, replay = False, eventLog = None, defaultInstrumentChannel = 16, defaultNote = 60):
-        '''
-        Constructor
-        ''' 
-        self.firstClickTime = None
-        self.firstClickInTime = None
-        self.duration = None
-        self.clicks = 0
-        self.clicksIn = 0
-        
-        pygame.font.init()
-        self.font = pygame.font.Font(None,60)
-        self.congratulations = ["Bien !","Tres Bien !","Bravo !","Excellent !","Felicitations !"]
-        self.renderedCongratulations = [self.font.render(congratulation,False,(0,0,0)) for congratulation in self.congratulations]
-        self.congratulationCount = None
-        self.isCongratulating = False
-        self.congratulationTimer = 0
-        self.congratulationLength = 2000
-        self.congratulationPos = None
-               
-        self.blinkLength = 200
-        self.minimalVelocity = 90
-        self.shortScaleSize = 8
-        self.longScaleSize = 11
-        if not extendedScale:
-            self.offset = self.longScaleSize - self.shortScaleSize
-        else:
-            self.offset = 0
-        self.borderSize = 5
-        self.highlightedNote = 0
-        self.highlightedNoteNumber = 0
-        self.syllabus = None
-        self.savedHighlightedNote = 0
-        self.scaleFactor = 1
-        self.level = 3
-        
-        self.wiimotes = wiimotes
-        self.activeWiimotes = activeWiimotes
-        self.window = window
-        self.screen = screen
-        self.width = int(floor(screen.get_width()*self.scaleFactor))
-        self.height = int(floor(screen.get_height()*self.scaleFactor))
-        self.blitOrigin = ((self.screen.get_width()-self.width)/2,(self.screen.get_height()-self.height)/2)        
-        self.joys = joys
-        self.clock = clock
-        self.cursorPositions = []
-        self.savedScreen = pygame.Surface(self.screen.get_size())
-        self.savedScreen.fill((255,255,255))
-        self.playerScreen = pygame.Surface(self.savedScreen.get_size())
-        self.playerScreen.blit(self.savedScreen, (0, 0))
-        self.extendedScale = extendedScale
-        self.cascade = cascade
-        self.portOffset =portOffset
-        self.eventLog = eventLog
-        self.song = song
-        self.songIterator = self.song.getSongIterator()
-        self.midiNoteNumbers = self.song.scale
-        self.replay = replay
-        self.quarterNoteLength = 800
-        self.cascadeLockLengthMultiplier = 1
-        self.cascadeLockLength = self.quarterNoteLength * self.cascadeLockLengthMultiplier
-        
-        self.defaultInstrumentChannel = defaultInstrumentChannel
-        self.defaultNote = defaultNote
-        
-        self.done = False
-        self.backToInstrumentChoice = False
-        self.easyMode = easyMode
-        
-        if eventLog == None:
-            self.eventLog = EventLog()
-            self.replay = False
-        else:
-            self.eventLog = eventLog
-            self.replay = replay
-        
-        #Initializes the highlightedNote and highlightedNoteNumber etc...
-        self.moveToNextNote()
-        
-        self.blinkOn = False
-        self.savedBlinkOn = False
-        ##Will prevent the song to move on if two consecutive notes are identical and the buttons have not been released in between the two
-        ##i.e. it guarantees that there will be an attack between two identical consecutive notes
-        self.highlightIsFree = True
-        
-        self.noteRects = []
-        self.boundingRect = None
-        self.notes = []
-        
-        self.buttonDown = []
-        self.velocityLock = []
-        
-        self._blinkOffset = 0
-        self._cascadeLockTimer = 0
-        self.cascadeIsFree = True
-        
-        self.font = pygame.font.Font(None,50)
-        self.renderedNoteNames = [self.font.render(constants.noteNumberToName(note),False,(0,0,0)) for note in self.midiNoteNumbers]
-        
-        self.drawBackground()
-        self.initializeWiimotes()
-        
-        events = pygame.event.get()
-        
-        #The main loop
-        while not self.done :
-            
-            #Clear the cursors from the screen
-            if self.hasChanged():
-                self.drawBackground()
-            self.playerScreen.blit(self.savedScreen, (0, 0))
-            
-            # Limit frame speed to 50 FPS
-            #
-            timePassed = self.clock.tick(10000)
-            
-            self._blinkOffset += timePassed
-            if self.buttonDown and not self.cascadeIsFree :
-                self._cascadeLockTimer += timePassed
-                if self._cascadeLockTimer > self.cascadeLockLength :
-                    self.cascadeIsFree = True
-            
-            
-            if self._blinkOffset > self.blinkLength:
-                self._blinkOffset -= self.blinkLength
-                self.blinkOn = not self.blinkOn
-                
-            if self.replay:
-                self.eventLog.update(timePassed)
-                pickledEventsToPost = self.eventLog.getPickledEvents() 
-                for pickledEvent in pickledEventsToPost:
-                    pygame.event.post(pickledEvent.event)
-            
-            events = pygame.event.get()
-            
-            if not self.replay:
-                pickledEvents = [PickleableEvent(event.type,event.dict) for event in events]
-                if pickledEvents != [] :
-                    self.eventLog.appendEventGroup(pickledEvents)
-            
-            for event in events:
-                self.input(event)
-            
-            if self.isCongratulating :
-                self.congratulationTimer += timePassed
-                if self.congratulationTimer < self.congratulationLength :
-                    self.blitCongratulation()
-                else :
-                    self.isCongratulating = False
-                            
-            for i in range(len(self.wiimotes)):
-                if self.activeWiimotes[i]:
-                    self.wiimotes[i].cursor.update(timePassed, self.cursorPositions[i])
-                    if self.buttonDown[i] :
-                        self.wiimotes[i].cursor.flash()
-                    self.wiimotes[i].cursor.blit(self.playerScreen)
-            
-            self.screen.blit(self.playerScreen, (0,0))
-            
-            pygame.display.flip()
-        
-        for i in range(len(self.wiimotes)):
-            if self.activeWiimotes[i]:
-                self.wiimotes[i].stopNoteByNoteNumber(self.midiNoteNumbers[self.notes[i]])            
-        if self.replay :
-            self.duration = self.eventLog.getCurrentTime()
-        
-    def drawBackground(self):
-        self.savedScreen.fill((255,255,255))
-        
-        if self.extendedScale :
-            self.scaleSize = self.longScaleSize
-        else:
-            self.scaleSize = self.shortScaleSize
-        
-        self.noteRects = [pygame.Rect(i * self.width / self.scaleSize+self.blitOrigin[0], self.blitOrigin[1], self.width / self.scaleSize + 1, self.height+1) for i in range(self.scaleSize)]
-        #inflate last noteRect to cover the far right pixels
-        self.noteRects[-1].width = self.noteRects[-1].width + 1
-        
-        self.noteRects[self.highlightedNote-self.offset].inflate_ip(self.noteRects[self.highlightedNote-self.offset].width*2,0)
-        
-        #create bounding rect
-        self.boundingRect = self.noteRects[0].unionall(self.noteRects)
-        
-        self.renderedNoteNames = [self.font.render(constants.noteNumberToName(note),False,(0,0,0)) for note in self.midiNoteNumbers]
-        
-        #fill the rectangles with a color gradient
-        #We start with blue
-        startingHue = 0.66666666666666663
-        
-#        for rectNumber in range(self.scaleSize):
-#            colorRatio = float(rectNumber) / (self.scaleSize - 1)
-#            #hue will go from 0.6666... (blue) to 0 (red) as colorRation goes up
-#            hue = startingHue * (1 - colorRatio)
-#            if rectNumber + self.offset != self.highlightedNote:
-#                #The color of the bottom of the rectangle in hls coordinates
-#                bottomColorHls = (hue, 0.1, 1)
-#                #The color of the top of the rectangle in hls coordinates
-#                topColorHls = (hue, 0.1, 1)
-#            
-#                #convert to rgb ranging from 0 to 255
-#                bottomColorRgb = [floor(255 * i) for i in colorsys.hls_to_rgb(*bottomColorHls)]
-#                topColorRgb = [floor(255 * i) for i in colorsys.hls_to_rgb(*topColorHls)]
-#                #add transparency
-#                bottomColorRgb.append(255)
-#                topColorRgb.append(255)
-#                #convert to tuple
-#                bottomColorRgb = tuple(bottomColorRgb)
-#                topColorRgb = tuple(topColorRgb)            
-#                
-#                self.savedScreen.blit(gradients.vertical(self.noteRects[rectNumber].size, topColorRgb, bottomColorRgb), self.noteRects[rectNumber])
-#                
-#                noteNameBlitPoint = (self.noteRects[rectNumber].left+(self.noteRects[rectNumber].width-self.renderedNoteNames[rectNumber].get_width())/2,
-#                                 self.noteRects[rectNumber].bottom-self.renderedNoteNames[rectNumber].get_height())
-#                
-#                self.savedScreen.blit(self.renderedNoteNames[rectNumber], noteNameBlitPoint)
-#                
-#                pygame.draw.rect(self.savedScreen, pygame.Color(0, 0, 0, 255), self.noteRects[rectNumber], 2)
-        
-        colorRatio = float(self.highlightedNote-self.offset) / (self.scaleSize - 1)
-        #hue will go from 0.6666... (blue) to 0 (red) as colorRation goes up
-        hue = startingHue * (1 - colorRatio)
-        #The color of the bottom of the rectangle in hls coordinates
-        bottomColorHls = (hue, 0.6, 1)
-        #The color of the top of the rectangle in hls coordinates
-        topColorHls = (hue, 0.9, 1)
-        
-        #convert to rgb ranging from 0 to 255
-        bottomColorRgb = [floor(255 * i) for i in colorsys.hls_to_rgb(*bottomColorHls)]
-        topColorRgb = [floor(255 * i) for i in colorsys.hls_to_rgb(*topColorHls)]
-        #add transparency
-        bottomColorRgb.append(255)
-        topColorRgb.append(255)
-        #convert to tuple
-        bottomColorRgb = tuple(bottomColorRgb)
-        topColorRgb = tuple(topColorRgb)            
-        
-        self.savedScreen.blit(gradients.vertical(self.noteRects[self.highlightedNote-self.offset].size, topColorRgb, bottomColorRgb), self.noteRects[self.highlightedNote-self.offset])
-        
-#        noteNameBlitPoint = (self.noteRects[self.highlightedNote-self.offset].left+(self.noteRects[self.highlightedNote-self.offset].width-self.renderedNoteNames[self.highlightedNote-self.offset].get_width())/2,
-#                         self.noteRects[self.highlightedNote-self.offset].bottom-self.renderedNoteNames[self.highlightedNote-self.offset].get_height())
-#        
-#        self.savedScreen.blit(self.renderedNoteNames[self.highlightedNote-self.offset], noteNameBlitPoint)
-#        
-#        if self.syllabus :
-#            renderedSyllabus = self.font.render(self.syllabus,False,(0,0,0))
-#        
-#            syllabusBlitPoint = (self.noteRects[self.highlightedNote-self.offset].left+(self.noteRects[self.highlightedNote-self.offset].width-renderedSyllabus.get_width())/2,
-#                             self.noteRects[self.highlightedNote-self.offset].centery-renderedSyllabus.get_height()/2)
-#            
-#            self.savedScreen.blit(renderedSyllabus, syllabusBlitPoint)
-        
-        pygame.draw.rect(self.savedScreen, pygame.Color(0, 0, 0, 255), self.noteRects[self.highlightedNote-self.offset], 2)    
-            
-#        if self.song != None and self.blinkOn:
-#            borderSize = self.borderSize
-#            pygame.draw.rect(self.savedScreen, pygame.Color(0, 0, 0, 0), self.noteRects[self.highlightedNote-self.offset].inflate(borderSize/2,borderSize/2), borderSize)
-        
-    def initializeWiimotes(self):
-        for loop in self.wiimotes:
-            if loop.port == None :
-                loop.port = pygame.midi.Output(loop.portNumber)
-            self.notes.append(0)
-            self.cursorPositions.append(loop.cursor.centerPosition)
-            self.buttonDown.append(False)
-            self.velocityLock.append(False)
-    
-    def updateCursorPositionFromJoy(self, joyEvent):
-        joyName = pygame.joystick.Joystick(joyEvent.joy).get_name()
-        correctedJoyId = constants.joyNames.index(joyName)
-        if correctedJoyId < len(self.cursorPositions):
-            if joyEvent.axis == 0 :
-                self.cursorPositions[correctedJoyId] = (int((joyEvent.value + 1) / 2 * self.screen.get_width()), self.cursorPositions[correctedJoyId][1])
-            if joyEvent.axis == 1 :
-                self.cursorPositions[correctedJoyId] = (self.cursorPositions[correctedJoyId][0], int((joyEvent.value + 1) / 2 * self.screen.get_height()))
-    
-    def heightToVelocity(self, pos, controllerNumber):
-        if self.song != None:
-            if self.boundingRect.collidepoint(pos) and (self.highlightedNote == self.notes[controllerNumber] or self.velocityLock[controllerNumber]):
-                velocity = int(floor((1 - (float(pos[1])-self.blitOrigin[1]) / self.height) * (127-self.minimalVelocity))+self.minimalVelocity)
-            else :
-                if self.easyMode:
-                    velocity = None
-                else:
-                    velocity = 60
-        else:
-            if self.boundingRect.collidepoint(pos):
-                velocity = int(floor((1 - (float(pos[1])-self.blitOrigin[1]) / self.height) * (127-self.minimalVelocity))+self.minimalVelocity)
-            else :
-                velocity = self.minimalVelocity
-        return(velocity)
-    
-    def widthToNote(self, pos):
-        nn = 0
-        try :
-            if self.noteRects[self.highlightedNote-self.offset].collidepoint(pos) :
-                return self.highlightedNote
-            else :
-                while self.noteRects[nn].collidepoint(pos) == False:
-                    nn = nn + 1
-                return(nn + self.offset)
-        except(IndexError):
-            return(None)
-    
-    def congratulate(self,targetRect,posy):
-        if self.congratulationCount != None :
-            if self.congratulationCount < len(self.congratulations)-1:
-                self.congratulationCount += 1
-        else :
-            self.congratulationCount = 0
-        self.congratulationTimer = 0
-        self.congratulationPos = (targetRect.left+(targetRect.width-self.renderedCongratulations[self.congratulationCount].get_width())/2,posy)
-        self.isCongratulating = True
-        
-    def resetCongratulation(self):
-        self.congratulationCount = None
-        self.congratulationPos = None
-        self.isCongratulating = False
-        
-    def blitCongratulation(self):
-        self.playerScreen.blit(self.renderedCongratulations[self.congratulationCount],self.congratulationPos)
-    
-    def input(self, event): 
-        
-        if event.type == pygame.QUIT:
-            for loop in self.wiimotes:
-                del loop.port
-            pygame.midi.quit()
-            sys.exit(0) 
-        
-        if event.type == pygame.KEYDOWN:
-            if event.key == pygame.K_q:
-                self.nextLevel = None
-                self.done = True
-                
-            if event.key == pygame.K_w:
-                self.nextLevel = 0
-                self.done = True
-                
-            if event.key == pygame.K_e:
-                self.nextLevel = 1
-                self.done = True
-                
-            if event.key == pygame.K_r:
-                self.nextLevel = 2
-                self.done = True
-                
-            if event.key == pygame.K_t:
-                self.nextLevel = 3
-                self.done = True
-        
-        if event.type == pygame.JOYAXISMOTION:
-            
-            joyName = pygame.joystick.Joystick(event.joy).get_name()
-            correctedJoyId = constants.joyNames.index(joyName)
-            if self.activeWiimotes[correctedJoyId]:
-                self.updateCursorPositionFromJoy(event)
-                wiimote = self.wiimotes[correctedJoyId]
-                pos = self.cursorPositions[correctedJoyId]
-    
-                if self.buttonDown[correctedJoyId]:
-                    if self.notes[correctedJoyId] != None:
-                        velocity = self.heightToVelocity(pos, correctedJoyId)
-                        if velocity != None :
-                            CCHexCode = wiimote.getCCHexCode()
-                            wiimote.port.write_short(CCHexCode, 07, velocity)
-                    if self.cascade and self.cascadeIsFree :
-                        n = self.widthToNote(pos)
-                        if self.highlightedNote == n:
-                            wiimote.stopNoteByNoteNumber(self.savedMidiNoteNumbers[self.notes[correctedJoyId]])
-                            self.notes[correctedJoyId] = n
-                            velocity = self.heightToVelocity(pos, correctedJoyId)
-                            self.velocityLock[correctedJoyId] = True
-                            wiimote.playNoteByNoteNumber(self.midiNoteNumbers[self.notes[correctedJoyId]],velocity)
-                            self.moveToNextNote()
-                            self._cascadeLockTimer = 0
-                            self.cascadeIsFree = False
-        
-        if event.type == pygame.JOYBUTTONDOWN :
-            
-            joyName = pygame.joystick.Joystick(event.joy).get_name()
-            correctedJoyId = constants.joyNames.index(joyName)
-            if self.activeWiimotes[correctedJoyId]:
-                wiimote = self.wiimotes[correctedJoyId]
-                pos = self.cursorPositions[correctedJoyId]
-                self.wiimotes[correctedJoyId].cursor.flash()
-                if self.replay:
-                    self.clicks += 1
-                    if self.firstClickTime == None :
-                        self.firstClickTime = self.eventLog.getCurrentTime()
-                        
-                if not self.buttonDown[correctedJoyId]:
-                    n = self.widthToNote(pos)
-                    if self.highlightedNote == n:
-                        self._cascadeLockTimer = 0
-                        self.cascadeIsFree = False
-                        if self.easyMode:
-                            wiimote.stopNoteByNoteNumber(self.savedMidiNoteNumbers[self.notes[correctedJoyId]])
-                        self.notes[correctedJoyId] = n
-                        velocity = self.heightToVelocity(pos, correctedJoyId)
-                        self.velocityLock[correctedJoyId] = True
-                        wiimote.playNoteByNoteNumber(self.midiNoteNumbers[self.notes[correctedJoyId]],velocity)
-                        self.congratulate(self.noteRects[self.notes[correctedJoyId]],pos[1])
-                        if self.replay:
-                            self.clicksIn += 1
-                            if self.firstClickInTime == None :
-                                self.firstClickInTime = self.eventLog.getCurrentTime()
-                 
-                        self.moveToNextNote()
-                    else :
-                        self.resetCongratulation()
-                        if not self.easyMode :
-                            self._cascadeLockTimer = 0
-                            self.cascadeIsFree = False
-                            self.notes[correctedJoyId] = n
-                            velocity = self.heightToVelocity(pos, correctedJoyId)                    
-                            if velocity != None :
-                                wiimote.playNoteByNoteNumber(self.midiNoteNumbers[self.notes[correctedJoyId]],velocity)                                      
-                    self.buttonDown[correctedJoyId] = True
-            
-        if event.type == pygame.JOYBUTTONUP:
-            joyName = pygame.joystick.Joystick(event.joy).get_name()
-            correctedJoyId = constants.joyNames.index(joyName)
-            if self.activeWiimotes[correctedJoyId]:
-                self.buttonDown[correctedJoyId] = False
-                wiimote = self.wiimotes[correctedJoyId]
-                if not self.easyMode:
-                    wiimote.stopNoteByNoteNumber(self.savedMidiNoteNumbers[self.notes[correctedJoyId]])
-                self.velocityLock[correctedJoyId] = False
-            
-        if event.type == pygame.MOUSEMOTION:
-            
-            self.updateCursorPositionFromMouse(event)
-            
-            correctedJoyId = 0
-            while not self.activeWiimotes[correctedJoyId] :
-                correctedJoyId += 1
-            wiimote = self.wiimotes[correctedJoyId]
-            pos = self.cursorPositions[correctedJoyId]
-
-            if self.buttonDown[correctedJoyId]:
-                self.wiimotes[correctedJoyId].cursor.flash()
-                if self.notes[correctedJoyId] != None:
-                    velocity = self.heightToVelocity(pos, correctedJoyId)
-                    if velocity != None :
-                        CCHexCode = wiimote.getCCHexCode()
-                        wiimote.port.write_short(CCHexCode, 07, velocity)
-                if self.cascade and self.cascadeIsFree :
-                    n = self.widthToNote(pos)
-                    if self.highlightedNote == n:
-                        wiimote.stopNoteByNoteNumber(self.savedMidiNoteNumbers[self.notes[correctedJoyId]])
-                        self.notes[correctedJoyId] = n
-                        velocity = self.heightToVelocity(pos, correctedJoyId)
-                        self.velocityLock[correctedJoyId] = True
-                        wiimote.playNoteByNoteNumber(self.midiNoteNumbers[self.notes[correctedJoyId]],velocity)
-                        self.moveToNextNote()
-                        self._cascadeLockTimer = 0
-                        self.cascadeIsFree = False             
-        
-        if event.type == pygame.MOUSEBUTTONDOWN:
-            
-            if event.button == 1:
-                correctedJoyId = 0
-                while not self.activeWiimotes[correctedJoyId] :
-                    correctedJoyId += 1
-                wiimote = self.wiimotes[correctedJoyId]
-                pos = self.cursorPositions[correctedJoyId]
-                self.wiimotes[correctedJoyId].cursor.flash()
-                if self.replay:
-                    self.clicks += 1
-                    if self.firstClickTime == None :
-                        self.firstClickTime = self.eventLog.getCurrentTime()
-                        
-                if not self.buttonDown[correctedJoyId]:
-                    n = self.widthToNote(pos)
-                    if self.highlightedNote == n:
-                        self._cascadeLockTimer = 0
-                        self.cascadeIsFree = False
-                        if self.easyMode:
-                            wiimote.stopNoteByNoteNumber(self.savedMidiNoteNumbers[self.notes[correctedJoyId]])
-                        self.notes[correctedJoyId] = n
-                        velocity = self.heightToVelocity(pos, correctedJoyId)
-                        self.velocityLock[correctedJoyId] = True
-                        wiimote.playNoteByNoteNumber(self.midiNoteNumbers[self.notes[correctedJoyId]],velocity)
-                        self.congratulate(self.noteRects[self.notes[correctedJoyId]],pos[1])
-                        if self.replay:
-                            self.clicksIn += 1
-                            if self.firstClickInTime == None :
-                                self.firstClickInTime = self.eventLog.getCurrentTime()
-                 
-                        self.moveToNextNote()
-                    else :
-                        self.resetCongratulation()
-                        if not self.easyMode :
-                            self._cascadeLockTimer = 0
-                            self.cascadeIsFree = False
-                            self.notes[correctedJoyId] = n
-                            velocity = self.heightToVelocity(pos, correctedJoyId)                    
-                            if velocity != None :
-                                wiimote.playNoteByNoteNumber(self.midiNoteNumbers[self.notes[correctedJoyId]],velocity)                                      
-                    self.buttonDown[correctedJoyId] = True                    
-            
-            if event.button == 2:
-                
-                self.done = True
-        
-        if event.type == pygame.MOUSEBUTTONUP:
-            if event.button == 1 :
-                correctedJoyId = 0
-                while not self.activeWiimotes[correctedJoyId] :
-                    correctedJoyId += 1
-                wiimote = self.wiimotes[correctedJoyId]
-                self.buttonDown[correctedJoyId] = False
-                if not self.easyMode:
-                    wiimote.stopNoteByNoteNumber(self.savedMidiNoteNumbers[self.notes[correctedJoyId]])
-                self.velocityLock[correctedJoyId] = False
-        
-    def hasChanged(self):
-        changed = False
-        if self.song != None:
-            if self.blinkOn != self.savedBlinkOn or self.highlightedNote != self.savedHighlightedNote:
-                self.savedBlinkOn = self.blinkOn
-                self.savedHighlightedNote = self.highlightedNote
-                changed = True
-        return(changed)
-    
-    def updateCursorPositionFromMouse(self, mouseEvent):
-        correctedJoyId = 0
-        while not self.activeWiimotes[correctedJoyId] :
-            correctedJoyId += 1
-        self.cursorPositions[correctedJoyId] = mouseEvent.pos
-        
-    def moveToNextNote(self):
-        self.savedMidiNoteNumbers = self.midiNoteNumbers[:]
-        self.highlightedNote, self.highlightedNoteNumber, self.syllabus, self.cascadeLockLengthMultiplier = self.songIterator.next()
-        self.midiNoteNumbers[self.highlightedNote] = self.highlightedNoteNumber
diff --git a/src/gui/SongPlayingScreen.py b/src/gui/SongPlayingScreen.py
deleted file mode 100644
index a64adb6..0000000
--- a/src/gui/SongPlayingScreen.py
+++ /dev/null
@@ -1,736 +0,0 @@
-'''
-Created on 23 juil. 2009
-
-@author: Samuel Benveniste
-'''
-from math import floor, ceil
-import pygame
-import sys
-import colorsys
-import constants
-from gradients import gradients
-from logging.PickleableEvent import PickleableEvent
-from songs.Song import Song
-from songs.musicxmltosong import Part
-
-
-class SongPlayingScreen:
-    '''
-    The screen on which the game is played
-    
-        wiimotes: 
-                The wiimotes used in this session
-        window:
-            The main display window
-        screen:
-            The main display surface
-        clock:
-            The clock used to animate the screen
-        savedScreen:
-            The background that is painted every time
-        playerScreen:
-            The buffer for painting everything before bliting
-        width:
-            The width of the window in pixels
-        height:
-            The height of the window in pixels
-        extendScale :
-            True if the scale is G to C instead of C to C
-        cascade:
-            True if crossing from note to note with a button pressed triggers a new note
-        scaleSize:
-            The size of the scale used
-        cursorPositions:
-            The positions of the cursors on the screen, in pixels
-    '''
-    
-    
-    
-    def __init__(self, instrumentChoice, pguconf):# song, cascade=False, extendedScale=False, easyMode = False, alwaysDown = False, eventLog = None, replay = None, defaultInstrumentChannel = 16, defaultNote = 60):
-        '''
-        Constructor
-        '''
-        song = pguconf.song
-        cascade = pguconf.cascade
-        extendedScale = song.requiresExtendedScale
-        easyMode = pguconf.easyMode
-        alwaysDown = pguconf.alwaysDown
-        eventLog = instrumentChoice.eventLog
-        replay = instrumentChoice.replay
-        defaultInstrumentChannel = 16
-        defaultNote = 60
-
-        if isinstance(song, Song) :
-            self.songDurations = []
-            self.totalDuration = None
-            self.clicks = [0]
-            self.clicksIn = [0]
-            self.clicksPerMinute = [0]
-            self.clicksInPerMinute = [0]
-            self.meanTimeBetweenNotes = []
-            self.firstClick = None
-            self.firstClickIn = None
-            
-            self.blinkLength = 200
-            self.minimalVelocity = 90
-            self.shortScaleSize = 8
-            self.longScaleSize = 11
-            if not extendedScale:
-                self.offset = self.longScaleSize - self.shortScaleSize
-            else:
-                self.offset = 0
-            self.borderSize = 5
-            self.highlightedNote = 0
-            self.highlightedNoteNumber = 0
-            self.syllabus = None
-            self.savedHighlightedNote = 0
-            self.alwaysDown = alwaysDown
-            self.nextLevel = None
-            
-            self.wiimotes = instrumentChoice.wiimotes
-            self.activeWiimotes = instrumentChoice.activeWiimotes
-            self.window = instrumentChoice.window
-            self.screen = instrumentChoice.screen
-            self.blitOrigin = instrumentChoice.blitOrigin
-            self.clock = instrumentChoice.clock
-            self.width = instrumentChoice.width
-            self.height = instrumentChoice.height
-            self.cursorPositions = instrumentChoice.cursorPositions
-            self.savedScreen = instrumentChoice.savedScreen
-            self.playerScreen = instrumentChoice.playerScreen
-            self.extendedScale = extendedScale
-            self.cascade = cascade
-            self.joys = instrumentChoice.joys
-            self.portOffset = instrumentChoice.portOffset
-            if eventLog == None :
-                self.eventLog = instrumentChoice.eventLog
-            else :
-                self.eventLog = eventLog
-            self.cursorPositions = instrumentChoice.cursorPositions
-            self.song = song
-            self.songIterator = self.song.getSongIterator()
-            self.midiNoteNumbers = self.song.scale
-            if replay == None :
-                self.replay = instrumentChoice.replay
-            else :
-                self.replay = replay
-            self.quarterNoteLength = song.quarterNoteLength
-            self.cascadeLockLengthMultiplier = 1
-            self.nextCascadeLockLengthMultiplier = 1
-            self.cascadeLockLength = self.quarterNoteLength * self.cascadeLockLengthMultiplier
-            
-            self.defaultInstrumentChannel = defaultInstrumentChannel
-            self.defaultNote = defaultNote
-            
-            self.done = False
-            self.backToInstrumentChoice = False
-            self.easyMode = easyMode
-            
-            #Initializes the highlightedNote and highlightedNoteNumber etc...
-            self.moveToNextNote()
-            self.cascadeLockLengthMultiplier = self.nextCascadeLockLengthMultiplier
-            
-            self.blinkOn = False
-            self.savedBlinkOn = False
-            ##Will prevent the song to move on if two consecutive notes are identical and the buttons have not been released in between the two
-            ##i.e. it guarantees that there will be an attack between two identical consecutive notes
-            self.highlightIsFree = True
-            
-            self.noteRects = []
-            self.boundingRect = None
-            self.notes = []
-            
-            self.buttonDown = []
-            self.velocityLock = []
-            
-            self._blinkOffset = 0
-            self._cascadeLockTimer = 0
-            self.cascadeIsFree = True
-            
-            self.font = pygame.font.Font(None,80)
-            self.renderedNoteNames = [self.font.render(constants.noteNumberToName(note),False,(0,0,0)) for note in self.midiNoteNumbers]
-            
-            self.drawBackground()
-            self.initializeWiimotes()
-            
-            self.songStartTime = self.eventLog.getCurrentTime()
-            
-            #The main loop
-            while not self.done :
-                
-                #Clear the cursors from the screen
-                if self.hasChanged():
-                    self.drawBackground()
-                self.playerScreen.blit(self.savedScreen, (0, 0))
-                
-                # Limit frame speed to 50 FPS
-                #
-                timePassed = self.clock.tick(10000)
-                
-                self._blinkOffset += timePassed
-                if (self.buttonDown or self.alwaysDown) and not self.cascadeIsFree :
-                    self._cascadeLockTimer += timePassed
-                    if self._cascadeLockTimer > self.cascadeLockLengthMultiplier*self.quarterNoteLength :
-                        self.cascadeIsFree = True
-                        self.cascadeLockLengthMultiplier = self.nextCascadeLockLengthMultiplier
-                
-                
-                if self._blinkOffset > self.blinkLength:
-                    self._blinkOffset -= self.blinkLength
-                    self.blinkOn = not self.blinkOn
-                    
-                if self.replay:
-                    self.eventLog.update(timePassed)
-                    pickledEventsToPost = self.eventLog.getPickledEvents() 
-                    for pickledEvent in pickledEventsToPost:
-                        pygame.event.post(pickledEvent.event)
-                
-                events = pygame.event.get()
-                
-                if not self.replay:
-                    pickledEvents = [PickleableEvent(event.type,event.dict) for event in events]
-                    if pickledEvents != [] :
-                        self.eventLog.appendEventGroup(pickledEvents)
-                
-                for event in events:
-                    self.input(event)
-                                
-                for i in range(len(self.wiimotes)):
-                    if self.activeWiimotes[i]:
-                        self.wiimotes[i].cursor.update(timePassed, self.cursorPositions[i])
-                        if self.buttonDown[i] or self.alwaysDown:
-                            self.wiimotes[i].cursor.flash()
-                        self.wiimotes[i].cursor.blit(self.playerScreen)
-                
-                self.screen.blit(self.playerScreen, (0,0))
-                
-                pygame.display.flip()
-            
-            for i in range(len(self.wiimotes)):
-                if self.activeWiimotes[i]:
-                    self.wiimotes[i].stopNoteByNoteNumber(self.midiNoteNumbers[self.notes[i]])
-            if self.replay :        
-                self.totalDuration = self.eventLog.getCurrentTime()
-        
-        elif isinstance(song, Part) :
-            self.songDurations = []
-            self.totalDuration = None
-            self.clicks = [0]
-            self.clicksIn = [0]
-            self.clicksPerMinute = [0]
-            self.clicksInPerMinute = [0]
-            self.meanTimeBetweenNotes = []
-            self.firstClick = None
-            self.firstClickIn = None
-            
-            self.blinkLength = 200
-            self.minimalVelocity = 90
-            self.shortScaleSize = 8
-            self.longScaleSize = 11
-            if not extendedScale:
-                self.offset = self.longScaleSize - self.shortScaleSize
-            else:
-                self.offset = 0
-            self.borderSize = 5
-            self.highlightedNote = 0
-            self.highlightedNoteNumber = 0
-            self.syllabus = None
-            self.savedHighlightedNote = 0
-            self.alwaysDown = alwaysDown
-            self.nextLevel = None
-            
-            self.wiimotes = instrumentChoice.wiimotes
-            self.activeWiimotes = instrumentChoice.activeWiimotes
-            self.window = instrumentChoice.window
-            self.screen = instrumentChoice.screen
-            self.blitOrigin = instrumentChoice.blitOrigin
-            self.clock = instrumentChoice.clock
-            self.width = instrumentChoice.width
-            self.height = instrumentChoice.height
-            self.cursorPositions = instrumentChoice.cursorPositions
-            self.savedScreen = instrumentChoice.savedScreen
-            self.playerScreen = instrumentChoice.playerScreen
-            self.extendedScale = extendedScale
-            self.cascade = cascade
-            self.joys = instrumentChoice.joys
-            self.portOffset = instrumentChoice.portOffset
-            if eventLog == None :
-                self.eventLog = instrumentChoice.eventLog
-            else :
-                self.eventLog = eventLog
-            self.cursorPositions = instrumentChoice.cursorPositions
-            self.song = song
-            self.songIterator = self.song.iterNotes()
-            self.midiNoteNumbers = self.song.scale
-            if replay == None :
-                self.replay = instrumentChoice.replay
-            else :
-                self.replay = replay
-            self.quarterNoteLength = song.quarterNoteLength
-            self.cascadeLockLengthMultiplier = 1
-            self.nextCascadeLockLengthMultiplier = 1
-            self.cascadeLockLength = self.quarterNoteLength * self.cascadeLockLengthMultiplier
-            
-            self.defaultInstrumentChannel = defaultInstrumentChannel
-            self.defaultNote = defaultNote
-            
-            self.done = False
-            self.backToInstrumentChoice = False
-            self.easyMode = easyMode
-            
-            #Initializes the highlightedNote and highlightedNoteNumber etc...
-            self.moveToNextNote()
-            self.cascadeLockLengthMultiplier = self.nextCascadeLockLengthMultiplier
-            
-            self.blinkOn = False
-            self.savedBlinkOn = False
-            ##Will prevent the song to move on if two consecutive notes are identical and the buttons have not been released in between the two
-            ##i.e. it guarantees that there will be an attack between two identical consecutive notes
-            self.highlightIsFree = True
-            
-            self.noteRects = []
-            self.boundingRect = None
-            self.notes = []
-            
-            self.buttonDown = []
-            self.velocityLock = []
-            
-            self._blinkOffset = 0
-            self._cascadeLockTimer = 0
-            self.cascadeIsFree = True
-            
-            self.font = pygame.font.Font(None,80)
-            self.renderedNoteNames = [self.font.render(constants.noteNumberToName(note),False,(0,0,0)) for note in self.midiNoteNumbers]
-            
-            self.drawBackground()
-            self.initializeWiimotes()
-            
-            self.songStartTime = self.eventLog.getCurrentTime()
-            
-            #The main loop
-            while not self.done :
-                
-                #Clear the cursors from the screen
-                if self.hasChanged():
-                    self.drawBackground()
-                self.playerScreen.blit(self.savedScreen, (0, 0))
-                
-                # Limit frame speed to 50 FPS
-                #
-                timePassed = self.clock.tick(10000)
-                
-                self._blinkOffset += timePassed
-                if (self.buttonDown or self.alwaysDown) and not self.cascadeIsFree :
-                    self._cascadeLockTimer += timePassed
-                    if self._cascadeLockTimer > self.cascadeLockLengthMultiplier*self.quarterNoteLength :
-                        self.cascadeIsFree = True
-                        self.cascadeLockLengthMultiplier = self.nextCascadeLockLengthMultiplier
-                
-                
-                if self._blinkOffset > self.blinkLength:
-                    self._blinkOffset -= self.blinkLength
-                    self.blinkOn = not self.blinkOn
-                    
-                if self.replay:
-                    self.eventLog.update(timePassed)
-                    pickledEventsToPost = self.eventLog.getPickledEvents() 
-                    for pickledEvent in pickledEventsToPost:
-                        pygame.event.post(pickledEvent.event)
-                
-                events = pygame.event.get()
-                
-                if not self.replay:
-                    pickledEvents = [PickleableEvent(event.type,event.dict) for event in events]
-                    if pickledEvents != [] :
-                        self.eventLog.appendEventGroup(pickledEvents)
-                
-                for event in events:
-                    self.input(event)
-                                
-                for i in range(len(self.wiimotes)):
-                    if self.activeWiimotes[i]:
-                        self.wiimotes[i].cursor.update(timePassed, self.cursorPositions[i])
-                        if self.buttonDown[i] or self.alwaysDown:
-                            self.wiimotes[i].cursor.flash()
-                        self.wiimotes[i].cursor.blit(self.playerScreen)
-                
-                self.screen.blit(self.playerScreen, (0,0))
-                
-                pygame.display.flip()
-            
-            for i in range(len(self.wiimotes)):
-                if self.activeWiimotes[i]:
-                    self.wiimotes[i].stopNoteByNoteNumber(self.midiNoteNumbers[self.notes[i]])
-            if self.replay :        
-                self.totalDuration = self.eventLog.getCurrentTime()
-        
-    def drawBackground(self):
-        self.savedScreen.fill((255,255,255))
-        
-        if self.extendedScale :
-            self.scaleSize = self.longScaleSize
-        else:
-            self.scaleSize = self.shortScaleSize
-        
-        self.noteRects = [pygame.Rect(i * self.width / self.scaleSize+self.blitOrigin[0], self.blitOrigin[1], self.width / self.scaleSize + 1, self.height+1) for i in range(self.scaleSize)]
-        #inflate last noteRect to cover the far right pixels
-        self.noteRects[-1].width = self.noteRects[-1].width + 1
-        
-        self.noteRects[self.highlightedNote-self.offset].inflate_ip(self.noteRects[self.highlightedNote-self.offset].width*2,0)
-        
-        #create bounding rect
-        self.boundingRect = self.noteRects[0].unionall(self.noteRects)
-        
-        self.renderedNoteNames = [self.font.render(constants.noteNumberToName(note),False,(0,0,0)) for note in self.midiNoteNumbers]
-        
-        #fill the rectangles with a color gradient
-        #We start with blue
-        startingHue = 0.66666666666666663
-        
-        for rectNumber in range(self.scaleSize):
-            colorRatio = float(rectNumber) / (self.scaleSize - 1)
-            #hue will go from 0.6666... (blue) to 0 (red) as colorRation goes up
-            hue = startingHue * (1 - colorRatio)
-            if rectNumber + self.offset != self.highlightedNote:
-                #The color of the bottom of the rectangle in hls coordinates
-                bottomColorHls = (hue, 0.1, 1)
-                #The color of the top of the rectangle in hls coordinates
-                topColorHls = (hue, 0.1, 1)
-            
-                #convert to rgb ranging from 0 to 255
-                bottomColorRgb = [floor(255 * i) for i in colorsys.hls_to_rgb(*bottomColorHls)]
-                topColorRgb = [floor(255 * i) for i in colorsys.hls_to_rgb(*topColorHls)]
-                #add transparency
-                bottomColorRgb.append(255)
-                topColorRgb.append(255)
-                #convert to tuple
-                bottomColorRgb = tuple(bottomColorRgb)
-                topColorRgb = tuple(topColorRgb)            
-                
-                self.savedScreen.blit(gradients.vertical(self.noteRects[rectNumber].size, topColorRgb, bottomColorRgb), self.noteRects[rectNumber])
-                
-                noteNameBlitPoint = (self.noteRects[rectNumber].left+(self.noteRects[rectNumber].width-self.renderedNoteNames[rectNumber+self.offset].get_width())/2,
-                                 self.noteRects[rectNumber].bottom-self.renderedNoteNames[rectNumber+self.offset].get_height())
-                
-                self.savedScreen.blit(self.renderedNoteNames[rectNumber+self.offset], noteNameBlitPoint)
-                
-                pygame.draw.rect(self.savedScreen, pygame.Color(0, 0, 0, 255), self.noteRects[rectNumber], 2)
-        
-        colorRatio = float(self.highlightedNote-self.offset) / (self.scaleSize - 1)
-        #hue will go from 0.6666... (blue) to 0 (red) as colorRation goes up
-        hue = startingHue * (1 - colorRatio)
-        #The color of the bottom of the rectangle in hls coordinates
-        bottomColorHls = (hue, 0.6, 1)
-        #The color of the top of the rectangle in hls coordinates
-        topColorHls = (hue, 0.9, 1)
-        
-        #convert to rgb ranging from 0 to 255
-        bottomColorRgb = [floor(255 * i) for i in colorsys.hls_to_rgb(*bottomColorHls)]
-        topColorRgb = [floor(255 * i) for i in colorsys.hls_to_rgb(*topColorHls)]
-        #add transparency
-        bottomColorRgb.append(255)
-        topColorRgb.append(255)
-        #convert to tuple
-        bottomColorRgb = tuple(bottomColorRgb)
-        topColorRgb = tuple(topColorRgb)            
-        
-        self.savedScreen.blit(gradients.vertical(self.noteRects[self.highlightedNote-self.offset].size, topColorRgb, bottomColorRgb), self.noteRects[self.highlightedNote-self.offset])
-        
-        noteNameBlitPoint = (self.noteRects[self.highlightedNote-self.offset].left+(self.noteRects[self.highlightedNote-self.offset].width-self.renderedNoteNames[self.highlightedNote].get_width())/2,
-                         self.noteRects[self.highlightedNote-self.offset].bottom-self.renderedNoteNames[self.highlightedNote].get_height())
-        
-        self.savedScreen.blit(self.renderedNoteNames[self.highlightedNote], noteNameBlitPoint)
-        
-        if self.syllabus :
-            renderedSyllabus = self.font.render(self.syllabus,False,(0,0,0))
-        
-            syllabusBlitPoint = (self.noteRects[self.highlightedNote-self.offset].left+(self.noteRects[self.highlightedNote-self.offset].width-renderedSyllabus.get_width())/2,
-                             self.noteRects[self.highlightedNote-self.offset].centery-renderedSyllabus.get_height()/2)
-            
-            self.savedScreen.blit(renderedSyllabus, syllabusBlitPoint)
-        
-        pygame.draw.rect(self.savedScreen, pygame.Color(0, 0, 0, 255), self.noteRects[self.highlightedNote-self.offset], 2)    
-            
-        if self.song != None and self.blinkOn:
-            borderSize = self.borderSize
-            pygame.draw.rect(self.savedScreen, pygame.Color(0, 0, 0, 0), self.noteRects[self.highlightedNote-self.offset].inflate(borderSize/2,borderSize/2), borderSize)
-        
-    def initializeWiimotes(self):
-        for loop in self.wiimotes:
-            if loop.port == None :
-                loop.port = pygame.midi.Output(loop.portNumber)
-            self.notes.append(0)
-            self.buttonDown.append(False)
-            self.velocityLock.append(False)
-    
-    def updateCursorPositionFromJoy(self, joyEvent):
-        joyName = pygame.joystick.Joystick(joyEvent.joy).get_name()
-        correctedJoyId = constants.joyNames.index(joyName)
-        if correctedJoyId < len(self.cursorPositions):
-            if joyEvent.axis == 0 :
-                self.cursorPositions[correctedJoyId] = (int((joyEvent.value + 1) / 2 * self.screen.get_width()), self.cursorPositions[correctedJoyId][1])
-            if joyEvent.axis == 1 :
-                self.cursorPositions[correctedJoyId] = (self.cursorPositions[correctedJoyId][0], int((joyEvent.value + 1) / 2 * self.screen.get_height()))
-    
-    def heightToVelocity(self, pos, controllerNumber):
-        if self.song != None:
-            if self.boundingRect.collidepoint(pos) and (self.highlightedNote == self.notes[controllerNumber] or self.velocityLock[controllerNumber]):
-                velocity = int(floor((1 - (float(pos[1])-self.blitOrigin[1]) / self.height) * (127-self.minimalVelocity))+self.minimalVelocity)
-            else :
-                if self.easyMode:
-                    velocity = None
-                else:
-                    velocity = 60
-        else:
-            if self.boundingRect.collidepoint(pos):
-                velocity = int(floor((1 - (float(pos[1])-self.blitOrigin[1]) / self.height) * (127-self.minimalVelocity))+self.minimalVelocity)
-            else :
-                velocity = self.minimalVelocity
-        return(velocity)
-    
-    def widthToNote(self, pos):
-        nn = 0
-        try :
-            if self.noteRects[self.highlightedNote-self.offset].collidepoint(pos) :
-                return self.highlightedNote
-            else :
-                while self.noteRects[nn].collidepoint(pos) == False:
-                    nn = nn + 1
-                return(nn + self.offset)
-        except(IndexError):
-            return(None)
-    
-    def logClick(self):
-        self.clicks[-1] += 1
-        if self.firstClick == None :
-            self.firstClick = self.eventLog.getCurrentTime()
-        minute = int(floor((self.eventLog.getCurrentTime()-self.songStartTime)/60000))
-        if minute > len(self.clicksPerMinute)-1:
-            self.clicksPerMinute.append(0)
-        self.clicksPerMinute[-1] += 1
-    
-    def logClickIn(self):
-        self.clicksIn[-1] += 1
-        if self.clicksIn[-1] > len(self.song.notes)-1 :
-            self.clicksIn.append(0)
-            self.clicks.append(0)
-            self.songDurations.append(self.eventLog.getCurrentTime())
-        if self.firstClickIn == None :
-            self.firstClickIn = self.eventLog.getCurrentTime()
-        minute = int(floor((self.eventLog.getCurrentTime()-self.songStartTime)/60000))
-        if minute > len(self.clicksInPerMinute)-1:
-            self.clicksInPerMinute.append(0)
-        self.clicksInPerMinute[-1]+=1
-    
-    def input(self, event): 
-        
-        if event.type == pygame.QUIT:
-            for loop in self.wiimotes:
-                del loop.port
-            pygame.midi.quit()
-            sys.exit(0) 
-        
-        if event.type == pygame.KEYDOWN:
-            if event.key == pygame.K_q:
-                self.nextLevel = None
-                self.done = True
-                
-            if event.key == pygame.K_i:
-                self.backToInstrumentChoice = True
-                self.done = True
-                
-            if event.key == pygame.K_w:
-                self.nextLevel = 0
-                self.done = True
-                
-            if event.key == pygame.K_e:
-                self.nextLevel = 1
-                self.done = True
-                
-            if event.key == pygame.K_r:
-                self.nextLevel = 2
-                self.done = True
-                
-            if event.key == pygame.K_t:
-                self.nextLevel = 3
-                self.done = True 
-        
-        if event.type == pygame.JOYAXISMOTION:
-            
-            joyName = pygame.joystick.Joystick(event.joy).get_name()
-            correctedJoyId = constants.joyNames.index(joyName)
-            if self.activeWiimotes[correctedJoyId]:
-                self.updateCursorPositionFromJoy(event)
-                wiimote = self.wiimotes[correctedJoyId]
-                pos = self.cursorPositions[correctedJoyId]
-    
-                if (self.buttonDown[correctedJoyId] or self.alwaysDown):
-                    if self.notes[correctedJoyId] != None:
-                        velocity = self.heightToVelocity(pos, correctedJoyId)
-                        if velocity != None :
-                            CCHexCode = wiimote.getCCHexCode()
-                            wiimote.port.write_short(CCHexCode, 07, velocity)
-                    if self.cascade and self.cascadeIsFree :
-                        n = self.widthToNote(pos)
-                        if self.highlightedNote == n:
-                            wiimote.stopNoteByNoteNumber(self.savedMidiNoteNumbers[self.notes[correctedJoyId]])
-                            self.notes[correctedJoyId] = n
-                            velocity = self.heightToVelocity(pos, correctedJoyId)
-                            self.velocityLock[correctedJoyId] = True
-                            wiimote.playNoteByNoteNumber(self.midiNoteNumbers[self.notes[correctedJoyId]],velocity)
-                            self.moveToNextNote()
-                            self._cascadeLockTimer = 0
-                            self.cascadeIsFree = False
-        
-        if event.type == pygame.JOYBUTTONDOWN :
-            
-            joyName = pygame.joystick.Joystick(event.joy).get_name()
-            correctedJoyId = constants.joyNames.index(joyName)
-            if self.activeWiimotes[correctedJoyId]:
-                wiimote = self.wiimotes[correctedJoyId]
-                pos = self.cursorPositions[correctedJoyId]
-                self.wiimotes[correctedJoyId].cursor.flash()
-                if self.replay:
-                    self.logClick()
-                    
-                if not (self.buttonDown[correctedJoyId] or self.alwaysDown):
-                    n = self.widthToNote(pos)
-                    if self.highlightedNote == n:
-                        self._cascadeLockTimer = 0
-                        self.cascadeIsFree = False
-                        if self.easyMode:
-                            wiimote.stopNoteByNoteNumber(self.savedMidiNoteNumbers[self.notes[correctedJoyId]])
-                        self.notes[correctedJoyId] = n
-                        velocity = self.heightToVelocity(pos, correctedJoyId)
-                        self.velocityLock[correctedJoyId] = True
-                        wiimote.playNoteByNoteNumber(self.midiNoteNumbers[self.notes[correctedJoyId]],velocity)
-                        if self.replay :
-                            self.logClickIn()
-                        self.moveToNextNote()
-                    else :
-                        if not self.easyMode :
-                            self._cascadeLockTimer = 0
-                            self.cascadeIsFree = False
-                            self.notes[correctedJoyId] = n
-                            velocity = self.heightToVelocity(pos, correctedJoyId)                    
-                            if velocity != None and self.notes[correctedJoyId] != None :
-                                wiimote.playNoteByNoteNumber(self.midiNoteNumbers[self.notes[correctedJoyId]],velocity)                                      
-                    self.buttonDown[correctedJoyId] = True
-            
-        if event.type == pygame.JOYBUTTONUP:
-            joyName = pygame.joystick.Joystick(event.joy).get_name()
-            correctedJoyId = constants.joyNames.index(joyName)
-            if self.activeWiimotes[correctedJoyId]:
-                self.buttonDown[correctedJoyId] = False
-                wiimote = self.wiimotes[correctedJoyId]
-                if not self.easyMode:
-                    wiimote.stopNoteByNoteNumber(self.savedMidiNoteNumbers[self.notes[correctedJoyId]])
-                self.velocityLock[correctedJoyId] = False
-            
-        if event.type == pygame.MOUSEMOTION:
-            
-            self.updateCursorPositionFromMouse(event)
-            
-            correctedJoyId = 0
-            while not self.activeWiimotes[correctedJoyId] :
-                correctedJoyId += 1
-            wiimote = self.wiimotes[correctedJoyId]
-            pos = self.cursorPositions[correctedJoyId]
-
-            if (self.buttonDown[correctedJoyId] or self.alwaysDown):
-                self.wiimotes[correctedJoyId].cursor.flash()
-                if self.notes[correctedJoyId] != None:
-                    velocity = self.heightToVelocity(pos, correctedJoyId)
-                    if velocity != None :
-                        CCHexCode = wiimote.getCCHexCode()
-                        wiimote.port.write_short(CCHexCode, 07, velocity)
-                if self.cascade and self.cascadeIsFree :
-                    n = self.widthToNote(pos)
-                    if self.highlightedNote == n:
-                        wiimote.stopNoteByNoteNumber(self.savedMidiNoteNumbers[self.notes[correctedJoyId]])
-                        self.notes[correctedJoyId] = n
-                        velocity = self.heightToVelocity(pos, correctedJoyId)
-                        self.velocityLock[correctedJoyId] = True
-                        wiimote.playNoteByNoteNumber(self.midiNoteNumbers[self.notes[correctedJoyId]],velocity)
-                        self.moveToNextNote()
-                        self._cascadeLockTimer = 0
-                        self.cascadeIsFree = False             
-        
-        if event.type == pygame.MOUSEBUTTONDOWN:
-            
-            if event.button == 1:
-                correctedJoyId = 0
-                while not self.activeWiimotes[correctedJoyId] :
-                    correctedJoyId += 1
-                wiimote = self.wiimotes[correctedJoyId]
-                pos = self.cursorPositions[correctedJoyId]
-                self.wiimotes[correctedJoyId].cursor.flash()
-                if self.replay:
-                    self.logClick()
-                    
-                if not (self.buttonDown[correctedJoyId] or self.alwaysDown):
-                    n = self.widthToNote(pos)
-                    if self.highlightedNote == n:
-                        self._cascadeLockTimer = 0
-                        self.cascadeIsFree = False
-                        if self.easyMode:
-                            wiimote.stopNoteByNoteNumber(self.savedMidiNoteNumbers[self.notes[correctedJoyId]])
-                        self.notes[correctedJoyId] = n
-                        velocity = self.heightToVelocity(pos, correctedJoyId)
-                        self.velocityLock[correctedJoyId] = True
-                        wiimote.playNoteByNoteNumber(self.midiNoteNumbers[self.notes[correctedJoyId]],velocity)
-                        if self.replay :
-                            self.logClickIn()
-                        self.moveToNextNote()
-                    else :
-                        if not self.easyMode :
-                            self._cascadeLockTimer = 0
-                            self.cascadeIsFree = False
-                            self.notes[correctedJoyId] = n
-                            velocity = self.heightToVelocity(pos, correctedJoyId)                    
-                            if velocity != None and self.notes[correctedJoyId] != None :
-                                wiimote.playNoteByNoteNumber(self.midiNoteNumbers[self.notes[correctedJoyId]],velocity)                                      
-                    self.buttonDown[correctedJoyId] = True                    
-            
-            if event.button == 2:
-                
-                self.done = True
-        
-        if event.type == pygame.MOUSEBUTTONUP:
-            if event.button == 1 :
-                correctedJoyId = 0
-                while not self.activeWiimotes[correctedJoyId] :
-                    correctedJoyId += 1
-                wiimote = self.wiimotes[correctedJoyId]
-                self.buttonDown[correctedJoyId] = False
-                if not self.easyMode:
-                    if self.notes[correctedJoyId] != None :
-                        wiimote.stopNoteByNoteNumber(self.savedMidiNoteNumbers[self.notes[correctedJoyId]])
-                self.velocityLock[correctedJoyId] = False
-        
-    def hasChanged(self):
-        changed = False
-        if self.song != None:
-            if self.blinkOn != self.savedBlinkOn or self.highlightedNote != self.savedHighlightedNote:
-                self.savedBlinkOn = self.blinkOn
-                self.savedHighlightedNote = self.highlightedNote
-                changed = True
-        return(changed)
-    
-    def updateCursorPositionFromMouse(self, mouseEvent):
-        correctedJoyId = 0
-        while not self.activeWiimotes[correctedJoyId] :
-            correctedJoyId += 1
-        self.cursorPositions[correctedJoyId] = mouseEvent.pos
-        
-    def moveToNextNote(self):
-        self.savedMidiNoteNumbers = self.midiNoteNumbers[:]
-        note, lyricIndex = self.songIterator.next()
-        self.highlightedNote = note.column
-        self.highlightedNoteNumber = note.midi
-        self.syllabus = note.lyrics[lyricIndex].syllabus('iso-8859-1')
-        self.nextCascadeLockLengthMultiplier = note.duration
-        self.midiNoteNumbers[self.highlightedNote] = self.highlightedNoteNumber
-        
-        #self.highlightedNote, self.highlightedNoteNumber, self.syllabus, self.nextCascadeLockLengthMultiplier = self.songIterator.next()
-        #self.midiNoteNumbers[self.highlightedNote] = self.highlightedNoteNumber
diff --git a/src/gui/StaticFamiliarizer.py b/src/gui/StaticFamiliarizer.py
deleted file mode 100644
index 0e095c8..0000000
--- a/src/gui/StaticFamiliarizer.py
+++ /dev/null
@@ -1,457 +0,0 @@
-'''
-Created on 23 juil. 2009
-
-@author: Samuel Benveniste
-'''
-from math import floor, ceil
-import pygame
-import pygame.midi
-import sys
-import colorsys
-import constants
-from gradients import gradients
-from logging.PickleableEvent import PickleableEvent
-from instruments.Instrument import Instrument
-from cursor.WarpingCursor import *
-from controllers.Wiimote import Wiimote
-from logging.EventLog import EventLog
-
-
-class StaticFamiliarizer:
-    '''
-    The screen on which the game is played
-    
-        wiimotes: 
-                The wiimotes used in this session
-        window:
-            The main display window
-        screen:
-            The main display surface
-        clock:
-            The clock used to animate the screen
-        savedScreen:
-            The background that is painted every time
-        playerScreen:
-            The buffer for painting everything before bliting
-        width:
-            The width of the window in pixels
-        height:
-            The height of the window in pixels
-        extendScale :
-            True if the scale is G to C instead of C to C
-        cascade:
-            True if crossing from note to note with a button pressed triggers a new note
-        scaleSize:
-            The size of the scale used
-        cursorPositions:
-            The positions of the cursors on the screen, in pixels
-    '''
-    
-    
-    
-    def __init__(self, wiimotes, window, screen, clock, joys, portOffset,activeWiimotes,replay = False, level = 0, defaultInstrumentChannel = 16, defaultNote = 60, eventLog = None):
-        '''
-        Constructor
-        '''
-        self.firstClickTime = None
-        self.firstClickInTime = None
-        self.duration = None
-        self.clicks = 0
-        self.clicksIn = 0
-        
-        pygame.font.init()
-        self.font = pygame.font.Font(None,60)
-        self.congratulations = ["Bien !","Tres Bien !","Bravo !","Excellent !","Felicitations !"]
-        self.renderedCongratulations = [self.font.render(congratulation,False,(0,0,0)) for congratulation in self.congratulations]
-        self.congratulationCount = None
-        self.isCongratulating = False
-        self.congratulationTimer = 0
-        self.congratulationLength = 2000
-        self.congratulationPos = None
-                
-        self.blinkLength = 200
-        self.minimalVelocity = 64
-        self.shortScaleSize = 8
-        self.longScaleSize = 11
-        self.borderSize = 5
-        self.savedHighlightedNote = 0
-        self.scaleFactor = 1
-        self.wiimotes = wiimotes
-        self.window = window
-        self.screen = screen
-        self.clock = clock
-        self.width = int(floor(screen.get_width()*self.scaleFactor))
-        self.height = int(floor(screen.get_height()*self.scaleFactor))
-        self.blitOrigin = ((self.screen.get_width()-self.width)/2,(self.screen.get_height()-self.height)/2)        
-        self.joys = joys
-        self.portOffset = portOffset
-        self.savedScreen = pygame.Surface(self.screen.get_size())
-        self.savedScreen.fill((255,255,255))
-        self.playerScreen = pygame.Surface(self.savedScreen.get_size())
-        self.playerScreen.blit(self.savedScreen, (0, 0))
-        self.cursorPositions = []
-        self.level = level
-        self.nextLevel = None
-        self.activeWiimotes = activeWiimotes
-        
-        for i in range(len(self.wiimotes)):
-            #Set the screen for the cursors (it can't be set before)
-            self.wiimotes[i].cursor.screen = self.playerScreen
-            self.cursorPositions.append(self.wiimotes[i].cursor.centerPosition)
-        
-        if eventLog == None:
-            self.eventLog = EventLog()
-            self.replay = False
-        else:
-            self.eventLog = eventLog
-            self.replay = replay
-        
-        self.defaultInstrumentChannel = defaultInstrumentChannel
-        self.defaultNote = defaultNote
-        
-        self.done = False
-        self.backToInstrumentChoice = False
-        self.easyMode = False
-
-        self.noteRects = []
-        self.boundingRect = None
-        self.notes = []
-        self.buttonDown = []
-        self.velocityLock = []
-        
-        self.drawBackground()
-        self.initializeWiimotes()
-        events = pygame.event.get()
-        
-        #The main loop
-        while not self.done :
-            
-            self.playerScreen.blit(self.savedScreen, (0, 0))
-            
-            # Limit frame speed to 50 FPS
-            #
-            timePassed = self.clock.tick(10000)
-                
-            if self.replay:
-                self.eventLog.update(timePassed)
-                pickledEventsToPost = self.eventLog.getPickledEvents() 
-                for pickledEvent in pickledEventsToPost:
-                    pygame.event.post(pickledEvent.event)
-            
-            events = pygame.event.get()
-            
-            if not self.replay:
-                pickledEvents = [PickleableEvent(event.type,event.dict) for event in events]
-                if pickledEvents != [] :
-                    self.eventLog.appendEventGroup(pickledEvents)
-            
-            for event in events:
-                self.input(event)
-            
-            if self.isCongratulating :
-                self.congratulationTimer += timePassed
-                if self.congratulationTimer < self.congratulationLength :
-                    self.blitCongratulation()
-                else :
-                    self.isCongratulating = False
-                            
-            for i in range(len(self.wiimotes)):
-                if self.activeWiimotes[i]:
-                    self.wiimotes[i].cursor.update(timePassed, self.cursorPositions[i])
-                    if self.buttonDown[i] :
-                        self.wiimotes[i].cursor.flash()
-                    self.wiimotes[i].cursor.blit(self.playerScreen)
-            
-            self.screen.blit(self.playerScreen, (0,0))
-            
-            pygame.display.flip()
-        
-        for i in range(len(self.wiimotes)):
-            if self.activeWiimotes[i]:
-                if self.notes[i] != None :
-                    self.wiimotes[i].stopNote(self.notes[i])
-        if self.replay :
-            self.duration = self.eventLog.getCurrentTime()            
-        
-    def drawBackground(self):
-        self.savedScreen.fill((255,255,255))
-        if self.level == 0 :
-            A = [4]    
-        else :
-            A = [1,7]
-        
-        self.noteRects = [pygame.Rect(i * self.width / 11+self.blitOrigin[0], self.blitOrigin[1], (self.width / 11 + 1)*3, self.height+1) for i in A]
-        
-        #create bounding rect
-        self.boundingRect = self.noteRects[0].unionall(self.noteRects)
-        
-        #fill the rectangles with a color gradient
-        #We start with blue
-        startingHue = 0.66666666666666663
-        
-        for rectNumber in range(len(self.noteRects)) :
-            colorRatio = float(A[rectNumber]) / (11 - 1)
-            #hue will go from 0.6666... (blue) to 0 (red) as colorRation goes up
-            hue = startingHue * (1 - colorRatio)
-            #The color of the bottom of the rectangle in hls coordinates
-            bottomColorHls = (hue, 0.6, 1)
-            #The color of the top of the rectangle in hls coordinates
-            topColorHls = (hue, 0.9, 1)
-            
-            #convert to rgb ranging from 0 to 255
-            bottomColorRgb = [floor(255 * i) for i in colorsys.hls_to_rgb(*bottomColorHls)]
-            topColorRgb = [floor(255 * i) for i in colorsys.hls_to_rgb(*topColorHls)]
-            #add transparency
-            bottomColorRgb.append(255)
-            topColorRgb.append(255)
-            #convert to tuple
-            bottomColorRgb = tuple(bottomColorRgb)
-            topColorRgb = tuple(topColorRgb)            
-            
-            self.savedScreen.blit(gradients.vertical(self.noteRects[rectNumber].size, topColorRgb, bottomColorRgb), self.noteRects[rectNumber])
-            
-            pygame.draw.rect(self.savedScreen, pygame.Color(0, 0, 0, 255), self.noteRects[rectNumber], 2)
-            
-    def initializeWiimotes(self):
-        for loop in self.wiimotes:
-            if loop.port == None :
-                loop.port = pygame.midi.Output(loop.portNumber)
-            self.notes.append(0)
-            self.buttonDown.append(False)
-            self.velocityLock.append(False)
-    
-    def updateCursorPositionFromJoy(self, joyEvent):
-        joyName = pygame.joystick.Joystick(joyEvent.joy).get_name()
-        correctedJoyId = constants.joyNames.index(joyName)
-        if correctedJoyId < len(self.cursorPositions):
-            if joyEvent.axis == 0 :
-                self.cursorPositions[correctedJoyId] = (int((joyEvent.value + 1) / 2 * self.screen.get_width()), self.cursorPositions[correctedJoyId][1])
-            if joyEvent.axis == 1 :
-                self.cursorPositions[correctedJoyId] = (self.cursorPositions[correctedJoyId][0], int((joyEvent.value + 1) / 2 * self.screen.get_height()))
-    
-    def heightToVelocity(self, pos, controllerNumber):
-        velocity = int(floor((1 - (float(pos[1])-self.blitOrigin[1]) / self.height) * (127-self.minimalVelocity))+self.minimalVelocity)
-        return(velocity)
-    
-    def widthToNote(self, pos):
-        nn = 0
-        try :
-            while self.noteRects[nn].collidepoint(pos) == False:
-                nn = nn + 1
-            return(nn)
-        except(IndexError):
-            return(None)
-        
-    def congratulate(self,targetRect,posy):
-        if self.congratulationCount != None :
-            if self.congratulationCount < len(self.congratulations)-1:
-                self.congratulationCount += 1
-        else :
-            self.congratulationCount = 0
-        self.congratulationTimer = 0
-        self.congratulationPos = (targetRect.left+(targetRect.width-self.renderedCongratulations[self.congratulationCount].get_width())/2,posy)
-        self.isCongratulating = True
-        
-    def resetCongratulation(self):
-        self.congratulationCount = None
-        self.congratulationPos = None
-        self.isCongratulating = False
-            
-    def blitCongratulation(self):
-        self.playerScreen.blit(self.renderedCongratulations[self.congratulationCount],self.congratulationPos)        
-    
-    def input(self, event): 
-        
-        print event
-        
-        if event.type == pygame.QUIT:
-            for loop in self.wiimotes:
-                del loop.port
-            pygame.midi.quit()
-            sys.exit(0) 
-        
-        if event.type == pygame.KEYDOWN:
-            if event.key == pygame.K_q:
-                self.nextLevel = None
-                self.done = True
-                
-            if event.key == pygame.K_w:
-                self.nextLevel = 0
-                self.done = True
-                
-            if event.key == pygame.K_e:
-                self.nextLevel = 1
-                self.done = True
-                
-            if event.key == pygame.K_r:
-                self.nextLevel = 2
-                self.done = True
-                
-            if event.key == pygame.K_t:
-                self.nextLevel = 3
-                self.done = True 
-        
-        if event.type == pygame.JOYAXISMOTION:
-            
-           
-            joyName = pygame.joystick.Joystick(event.joy).get_name()
-            correctedJoyId = constants.joyNames.index(joyName)
-            if self.activeWiimotes[correctedJoyId]:
-                self.updateCursorPositionFromJoy(event)
-                wiimote = self.wiimotes[correctedJoyId]
-                pos = self.cursorPositions[correctedJoyId]
-    
-                if self.buttonDown[correctedJoyId]:
-                    wiimote.cursor.flash()
-                    if self.notes[correctedJoyId] != None:
-                        velocity = self.heightToVelocity(pos, correctedJoyId)
-                        CCHexCode = wiimote.getCCHexCode()
-                        wiimote.port.write_short(CCHexCode, 07, velocity)
-        
-        if event.type == pygame.JOYBUTTONDOWN :
-            
-            joyName = pygame.joystick.Joystick(event.joy).get_name()
-            correctedJoyId = constants.joyNames.index(joyName)
-            if self.activeWiimotes[correctedJoyId]:
-                wiimote = self.wiimotes[correctedJoyId]
-                pos = self.cursorPositions[correctedJoyId]
-                wiimote.cursor.flash()
-                if self.replay :
-                    self.clicks += 1
-                    if self.firstClickTime == None :
-                        self.firstClickTime = self.eventLog.getCurrentTime()
-    
-                if not self.buttonDown[correctedJoyId]:
-                    self.notes[correctedJoyId] = self.widthToNote(pos)
-                    
-                    velocity = self.heightToVelocity(pos, correctedJoyId)
-                    
-                    if self.notes[correctedJoyId] != None :            
-                        wiimote.playNote(self.notes[correctedJoyId],velocity)
-                        self.congratulate(self.noteRects[self.notes[correctedJoyId]],pos[1])
-                        if self.replay :
-                            self.clicksIn += 1
-                            if self.firstClickInTime == None :
-                                self.firstClickInTime = self.eventLog.getCurrentTime()
-                    else :
-                        self.resetCongratulation()
-                        
-                    self.buttonDown[correctedJoyId] = True
-        
-        if event.type == pygame.JOYBUTTONUP:
-            joyName = pygame.joystick.Joystick(event.joy).get_name()
-            correctedJoyId = constants.joyNames.index(joyName)
-            if self.activeWiimotes[correctedJoyId]:
-                wiimote = self.wiimotes[correctedJoyId]
-                wiimote.stopNote(self.notes[correctedJoyId])
-                self.buttonDown[correctedJoyId] = False
-                self.velocityLock[correctedJoyId] = False
-            
-        if event.type == pygame.MOUSEMOTION:
-            
-            self.updateCursorPositionFromMouse(event)
-            
-            correctedJoyId = 0
-            while not self.activeWiimotes[correctedJoyId] :
-                correctedJoyId += 1
-            wiimote = self.wiimotes[correctedJoyId]
-            pos = self.cursorPositions[correctedJoyId]
-
-            if self.buttonDown[correctedJoyId]:
-                wiimote.cursor.flash()
-                if self.notes[correctedJoyId] != None:
-                    velocity = self.heightToVelocity(pos, correctedJoyId)
-                    CCHexCode = wiimote.getCCHexCode()
-                    wiimote.port.write_short(CCHexCode, 07, velocity)                            
-        
-        if event.type == pygame.MOUSEBUTTONDOWN:
-            
-            if event.button == 1:
-                correctedJoyId = 0
-                while not self.activeWiimotes[correctedJoyId] :
-                    correctedJoyId += 1
-                wiimote = self.wiimotes[correctedJoyId]
-                pos = self.cursorPositions[correctedJoyId]
-                wiimote.cursor.flash()
-                if self.replay :
-                    self.clicks += 1
-                    if self.firstClickTime == None :
-                        self.firstClickTime = self.eventLog.getCurrentTime()
-    
-                if not self.buttonDown[correctedJoyId]:
-                    self.notes[correctedJoyId] = self.widthToNote(pos)
-                    
-                    velocity = self.heightToVelocity(pos, correctedJoyId)
-                    
-                    if self.notes[correctedJoyId] != None :            
-                        wiimote.playNote(self.notes[correctedJoyId],velocity)
-                        self.congratulate(self.noteRects[self.notes[correctedJoyId]],pos[1])
-                        if self.replay :
-                            self.clicksIn += 1
-                            if self.firstClickInTime == None :
-                                self.firstClickInTime = self.eventLog.getCurrentTime()
-                    else :
-                        self.resetCongratulation()
-                        
-                    self.buttonDown[correctedJoyId] = True
-            
-            if event.button == 2:
-                
-                self.done = True
-        
-        if event.type == pygame.MOUSEBUTTONUP:
-            
-            correctedJoyId = 0
-            while not self.activeWiimotes[correctedJoyId] :
-                correctedJoyId += 1
-            wiimote = self.wiimotes[correctedJoyId]
-            wiimote.stopNote(self.notes[correctedJoyId])
-            self.buttonDown[correctedJoyId] = False
-            self.velocityLock[correctedJoyId] = False
-        
-    def hasChanged(self):
-        return(True)
-    
-    def updateCursorPositionFromMouse(self, mouseEvent):
-        correctedJoyId = 0
-        while not self.activeWiimotes[correctedJoyId] :
-            correctedJoyId += 1
-        self.cursorPositions[correctedJoyId] = mouseEvent.pos
-                    
-if __name__ == "__main__" :
-    pygame.init()
-    modeResolution = (1024,768)
-    window = pygame.display.set_mode(modeResolution,pygame.FULLSCREEN)
-    pygame.font.init()
-        
-    pygame.midi.init()
-    instruments = [Instrument(constants.scaleDict["majorScale"], i + 1, "".join(["../instruments/instrumentImages/", constants.instrumentImagePathList[i], ".jpg"]), constants.octaves[i]) for i in range(9)]
-    
-    joys = [[id,pygame.joystick.Joystick(id).get_name()] for id in range(pygame.joystick.get_count())]
-    for joy in joys:
-        if joy[1] in constants.joyNames:
-            pygame.joystick.Joystick(joy[0]).init() 
-    
-    ports = [pygame.midi.get_device_info(id)[1] for id in range(pygame.midi.get_count())]
-    portOffset = ports.index(constants.portNames[0])
-    print(portOffset)
-    
-    events = pygame.event.get()
-    
-    screen = pygame.display.get_surface()
-    clock = pygame.time.Clock()        
-    cursorImages = [createImageListFromPath('../cursor/cursorImages/black', 11),createImageListFromPath('../cursor/cursorImages/red', 11)]
-    durations = [75 for i in range(len(cursorImages[0]))]
-    
-    wiimoteCount = 1
-    cursors = [WarpingCursor(None, cursorImages[i], durations, (300 * i, 300 * i),flashImage = '../cursor/cursorImages/black/flash.png' ) for i in range(wiimoteCount)]
-    wiimotes = [Wiimote(i, i + portOffset, None, instruments[i], cursors[i]) for i in range(wiimoteCount)]
-    
-    fam = StaticFamiliarizer(instruments, wiimotes, window, screen, clock, joys, portOffset)
-    
-    for loop in fam.wiimotes:
-                del loop.port
-    
-    pygame.midi.quit()
-    
-    pygame.quit()  
diff --git a/src/gui/__init__.py b/src/gui/__init__.py
deleted file mode 100755
index e69de29..0000000
diff --git a/src/gui/constants.py b/src/gui/constants.py
deleted file mode 100755
index f280b5f..0000000
--- a/src/gui/constants.py
+++ /dev/null
@@ -1,130 +0,0 @@
-from songs.Song import Song#,loadSongFromMidi
-from dataTools.odict import OrderedDict
-
-joyNames = ["PPJoy Virtual joystick 1", "PPJoy Virtual joystick 2", "PPJoy Virtual joystick 3", "PPJoy Virtual joystick 4"]
-portNames = ["Out To MIDI Yoke:  1","Out To MIDI Yoke:  2","Out To MIDI Yoke:  3","Out To MIDI Yoke:  4"]
-
-readabilityDict = OrderedDict([("majeure" , "majorScale"),
-                               ("mineure naturelle" , "minorScale"),
-                               ("majeure myxolydienne" , "myxolydianScale"),
-                               ("mineure dorienne" , "dorianScale"),
-                               ("phrygienne espagnole" , "spanishPhrygianScale"),
-                               ("lydienne" , "lydianScale"),
-                               ("phrygienne" , "phrygianScale"),
-                               ("J'ai du bon tabac" , "jadbt"),
-                               ("L'eau vive" , "eauvive"),
-                               ("Le penitencier" , "penitencier"),
-                               ("La foule" , "foule"),
-                               ("Petit papa noel" , "papanoel"),
-                               ("La marseillaise" , "marseillaise"),
-                               ("A la claire fontaine" , "clairefontaine"),
-                               ("Au clair de la lune" , "clairdelalune"),
-                               ("Frere jacques" , "frerejacques"),
-                               ("Le petit vin blanc" , "vinblanc"),
-                               ("La vie en rose","vierose"),
-                               ("Les feuilles mortes","feuillesmortes"),
-                               ("Il pleut bergere","bergere"),
-                               ("Le temps des cerises","cerises"),
-                               ("La boheme","boheme"),
-                               ("Chanson Test","test"),
-                               ("Improvisation" , "none"),
-                               ("Do/Do","C/C"),
-                               ("Sol/Do","G/C"),
-                               ("Oui","Yes"),
-                               ("Non","No"),
-                               ("Tres facile","veryEasy"),
-                               ("Facile","easy"),
-                               ("Normal","normal"),
-                               ("Expert","expert")])
-
-reversedReadabilityDict = dict(zip(readabilityDict.values(),readabilityDict.keys()))
-
-rangeDict = {"C/C":False,"G/C":True}
-
-cascadeDict = {"Yes":True,"No":False}
-
-modeDict = OrderedDict([("veryEasy",0),("easy",1),("normal",2),("expert",3)])
-print modeDict['veryEasy']
-
-scaleDict = OrderedDict ([("majorScale" , [55, 57, 59, 60, 62, 64, 65, 67, 69, 71, 72]),
-                         ("minorScale" , [55, 56, 58, 60, 62, 63, 65, 67, 68, 70, 72]),
-                         ("myxolydianScale" , [55, 57, 58, 60, 62, 64, 65, 67, 69, 70, 72]),
-                         ("dorianScale" , [55, 57, 58, 60, 62, 63, 65, 67, 69, 70, 72]),
-                         ("spanishPhrygianScale" , [55,57,58,60,62,63,66,67,69,70,72]),
-                         ("lydianScale" , [55, 57, 59, 60, 62, 64, 66, 67, 69, 71, 72]),
-                         ("phrygianScale" , [55, 56, 58, 60, 61, 63, 65, 67, 68, 70, 72])])
-
-songDict = OrderedDict([("jadbt" , Song(scaleDict["majorScale"],[3, 4, 5, 3, 4, 4, 5, 6, 6, 5, 5, 3, 4, 5, 3, 4, 4, 5, 6, 7, 3,7,7,6,5,4,5,6,7,4,7,7,6,5,4,5,6,7,4],False,
-                                        lyrics = ["J'ai","du","bon","ta-","-bac","dans","ma","ta-","-ba-","-tie-","-re","J'ai","du","bon","ta-","-bac","tu","n'en","au-","-ras","pas","j'en","ai","du","fin","et","du","bien","ra-","-pe","mais","ce","n'est","pas","pour","ton","vi-","-lain","nez"],
-                                        noteLengths = [1,1,1,1,2,1,1,2,2,2,2,1,1,1,1,2,1,1,2,2,4,2,1,1,2,1,1,2,2,4,2,1,1,2,1,1,2,2,4],
-                                        quarterNoteLength = 400)),
-            ("eauvive" , Song(scaleDict["majorScale"],[5,3,5,3,5,3,4,4,5,6,4,5,3,4,5,3,5,3,5,3,4,4,5,6,4,5,3,4,7,8,7,6,6,4,6,5,3,5,4,3,4,5,6,5,4,3,4,3,2,3],
-                              True,
-                              lyrics = ["Ma","pe-","-tite","est","co-","-mme","l'eau","elle","est","co-","-mme","l'eau","vi-","-ve","e-","-lle","court","comme","un","rui-","-sseau","que","les","en-","-fants","pour-","-sui-","-vent","ve-","-nez","ve-","-nez","mes","a-","-gneaux","mes","a-","-gne-","-lets","ja-","-mais","ja-","-mais","vous","ne","la","ra-","-ttra-","-pe-","-rez"],
-                              noteLengths = [2,1,2,1,2,1,3,1,1,1,2,1,3,3,2,1,2,1,2,1,3,1,1,1,2,1,3,3,3,3,3,3,1,1,1,1,1,1,6,3,3,3,3,1,1,1,1,1,1,6],
-                              quarterNoteLength = 300)),
-            ("penitencier" , 
-             Song(scaleDict["dorianScale"],[3,3,3,5,7,6,3,3,10,10,10,9,7,6,7,10,10,10,3,5,6,7,6,3,5,3,3,3,3,2,2,3],
-                  True,
-                  alterationIndexes = [-2,-3],
-                  alterations = [1,1],
-                  lyrics = ["Les","por-","-tes","du","pe-","-ni-","-ten-","-cier","bien-","-tot","vont","se","re-","-fer-","-mer","et","c'est","la","que","je","fi-","-ni-","-rai","ma","vie","comme","d'au-","-tres","gars","l'ont","fi-","-nie"],
-                  noteLengths =[1,5,1,5,1,1,6,4,1,5,1,4,1,1,10,1,1,5,1,4,1,1,5,1,5,1,1,1,4,5,1,12],
-                  quarterNoteLength = 250)),
-            ("papanoel" , Song(scaleDict["myxolydianScale"],[3,6,6,6,7,6,6,7,8,8,8,9,8,7,6,6,6,6,5,4,3,3,3,6,6,6,7,7,6],False,
-                               lyrics = ["pe-","-ti","Pa-","-pa","No-","-el","quand","tu","de-","-scen-","-dras","du","ciel","a-","-vec","tes","jou-","-ets","par","mi-","-lliers","n'ou-","-blie","pas","mes","pe-","-tits","sou-","-liers"],
-                               noteLengths = [1,1,1,1,1,3,0.5,0.5,1,1,1,1,3,1,1.5,0.5,0.5,0.5,0.5,0.5,3,0.5,0.5,1,0.5,0.5,0.5,0.5,3],
-                               quarterNoteLength = 500)),
-            ("foule" , Song(scaleDict["myxolydianScale"],[7,7,6,5,6,8,7,7,6,8,7,7,6,9,7,7,6,9,7,7,6,8,7,7,6,8,7,6,5,4,4,4,4,4,4,6,6,6,6,8,8,7,6,8,7,7,7,7,7,7,7,7,7,7,7,7,6,9,8,7,8,8,7,8,8,7,8,8,7,8,8,6,8,8,6,8,8,7],False,modulationIndexes = [28],modulationScales = [scaleDict["spanishPhrygianScale"]],
-                            lyrics = ["Em-","-por-","-tes","par","la","fou-","-le","qui","nous","trai-","-ne","nous","en-","-trai-","-ne","e-","-cra-","-ses","l'un","con-","-tre","l'au-","-tre","nous","ne","for-","-mons","qu'un","seul","corps","et","le","flot","sans","e-","-ffort","nous","pousse","en-","-chai-","-nes","l'un","et","l'au-","-tre","et","nous","lai-","-sse","tous","deux","e-","-pa-","-nouis-","en-","-i-","-vres","et","heu-","-reux","ta-","-dam","ta","ta-","-dam","ta","ta-","-dam","ta","ta-","-dam","ta","ta-","-dam","ta","ta-","-dam","ta"],
-                            noteLengths = [1,1.5,.5,.5,.5,1.5,.5,.5,.5,1.5,.5,.5,.5,1.5,.5,.5,.5,1.5,.5,.5,.5,1.5,.5,.5,.5,1.5,.5,.5,.5,3,.5,.5,.5,.5,.5,.5,.5,.5,.5,1,1,.5,.5,1.5,3,.5,.5,.5,.5,.5,.5,.5,.5,.5,.5,.5,.5,1,1,1.5,.5,1,1.5,.5,1,1.5,.5,1,1.5,.5,1,1.5,.5,1,1.5,.5,1,3],
-                            quarterNoteLength = 400)),
-            ("clairefontaine" , Song(scaleDict["majorScale"],
-                                     [3,3,5,5,4,5,4,3,3,5,5,4,5,5,5,4,3,5,7,5,7,7,5,3,5,4,3,3,5,5,5,4,5,5,5,5,3,5,4,3],
-                                     False,
-                                     lyrics = ["A","la","clai-","-re","fon-","-tai-","-ne","m'en","a-","-llant","pro-","-me-","-ner","j'ai","trou-","-ve","l'eau","si","be-","-lle","que","je","m'y","suis","bai-","-gne","il","y-a","long-","-temps","que","je","t'aime","ja-","-mais","je","ne","t'ou-","-blie-","-rai"],
-                                     noteLengths = [2,1,1,1,1,1,1,2,1,1,1,1,2,2,1,1,1,1,1,1,2,1,1,1,1,2,2,1,1,1,0.5,0.5,2,2,1,0.5,0.5,1,1,4],
-                                     quarterNoteLength = 400)),
-            ("clairdelalune", Song(scaleDict["lydianScale"], [7,7,7,8,9,8,7,9,8,8,7,7,7,7,8,9,8,7,9,8,8,7,8,8,8,8,5,5,8,7,6,5,4,7,7,7,8,9,8,7,9,8,8,7],False,
-                                   lyrics = ["Au","clair","de","la","lu-","-ne","mon","a-","-mi","Pie-","-rrot","pre-","-te","moi","ta","plu-","-me","pour","e-","-crire","un","mot","ma","chan-","-delle","est","mor-","-te","je","n'ai","plus","de","feu","ou-","-vre","moi","ta","po-","-rte","pour","l'a-","-mour","de","Dieu"],
-                                   noteLengths = [1,1,1,1,2,2,1,1,1,1,4,1,1,1,1,2,2,1,1,1,1,4,1,1,1,1,2,2,1,1,1,1,4,1,1,1,1,2,2,1,1,1,1,4],
-                                   quarterNoteLength = 500)),
-            ("frerejacques" , 
-             Song(scaleDict["majorScale"],
-                  [3,4,5,3,3,4,5,3,5,6,7,5,6,7,7,8,7,6,5,3,7,8,7,6,5,3,3,0,3,3,0,3],
-                  True,
-                  lyrics = ["Fre-","-re","Ja-","-cques","fre-","-re","-Ja","-cques","dor-","-mez","vous","dor-","-mez","vous","so-","-nnez","les","ma-","-ti-","-nes","so-","-nnez","les","ma-","-ti-","-nes","ding","ding","dong","ding","ding","dong"],
-                  noteLengths = [1,1,1,1,1,1,1,1,1,1,2,1,1,2,1.5,0.5,1,1,2,2,1.5,0.5,1,1,2,2,1,1,2,1,1,2],
-                  quarterNoteLength = 600)),
-            ("marseillaise" , Song(scaleDict["majorScale"],[0, 0, 0, 3, 3, 4, 4, 7, 5, 3, 3, 5, 3, 1, 6, 4, 2, 3, 3, 4, 5, 5, 5, 6, 5, 5, 4, 4, 5, 6, 6, 6, 7, 6, 5, 7, 7, 7, 5, 3, 7, 5, 3, 0, 0, 0, 2, 4, 6, 4, 2, 4, 3, 2, 1, 3, 3, 3, 2, 3, 4, 4, 5, 5, 5, 5, 6, 7, 4, 5, 4, 3, 3, 3, 5, 4, 3, 3,2,7,7,7,5,3,4,7,7,7,5,3,4,0,3,4,5,6,7,8,4,8,7,5,6,4,3], True, modulationIndexes = [53,54,61,77], modulationScales = [scaleDict["dorianScale"],scaleDict["majorScale"],scaleDict["dorianScale"],scaleDict["majorScale"]],
-                                   lyrics = ["A-","-llons","en-","-fants","de","la","pa","tri-","-i-","-e","le","jour","de","gloire","est","a-","-rri-","-ve","con-","-tre","nous","de","la","ty-","-ra-","-nni-","-e","l'e-","-ten-","-dard","san-","-glant","est","le-","-ve","l'e-","-ten-","-dard","san-","-an-","-glant","est","le-","-ve","en-","-ten-","-dez","vous","dans","nos","cam-","-pa-","-gnes","mu-","-gir","ces","fe-","-ro-","-ces","sol-","-dats","qui","vie-","-nnent","ju-","-sque","dans","nos","bras","e-","-gor-","-ger","nos","fils","et","nos","com-","-pa-","-gnes","aux","ar-","-mes","ci-","-toy-","-yen","for-","-mez","vos","ba-","-ta-","-illons","mar-","-chons","mar-","-chons","qu'un","sang","im-","-pur","a-","-breu-","-ve","nos","si-","-illons","pon","pon","pon","pon"],
-                                   noteLengths = [1,2,1,3,3,3,3,5,1,2,1,2,1,3,6,2,1,9,2,1,3,3,3,2,1,3,6,2,1,3,3,3,2,1,6,2,1,3,2,1,3,2,1,6,1,2,1,6,3,2,1,3,3,6,3,2,1,3,2,1,6,3,5,1,2,1,2,1,6,2,1,5,1,2,1,2,1,6,5,1,7,1,2,1,8,1,7,1,2,1,8,3,9,3,9,6,3,3,9,3,8,1,2,1,2,1,2,1,8],
-                                   quarterNoteLength = 300)),
-            ("vinblanc" , 
-             Song(scaleDict["phrygianScale"],[5, 5, 5, 3, 5, 6, 5, 5, 5, 3, 7, 6, 6, 6, 6, 4, 8, 7, 7, 7, 8, 9, 7, 5, 5, 5, 5, 3, 5, 6, 8, 9, 10, 9, 8, 10, 9, 8, 6, 6, 8, 7, 6, 8, 6, 5, 3, 5, 6, 3, 5, 6, 3, 5, 6, 3, 5, 6, 3, 5, 7, 6, 5, 7, 6, 5, 8],
-                  False,
-                  lyrics = ["Ah","le","pe-","-tit","vin","blanc","qu'on","boit","sous","les","to-","-nelles","quand","les","fi-","-lles","sont","belles","du","co-","-te","de","No-","-geant","et","puis","de","temps","en","temps","un","air","de","vie-","-lle","ro-","-man-","-ce","sem-","-ble","do-","-nner","la","ca-","-den-","-ce","pour","fau-","-ter","pour","fau-","-ter","dans","les","bois","dans","les","pres","du","co-","-te","du","co-","-te","de","No-","-geant"],
-                  noteLengths = [1,1,1,2,1,6,1,1,1,2,1,6,1,1,1,2,1,6,1,1,1,2,1,6,1,1,1,2,1,6,1,1,1,1,1,1,3,3,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6],
-                  quarterNoteLength = 300)),
-            ("none" , None)])
-
-instrumentImagePathList = ["piano", "guitare", "accordeon", "violon", "flute", "tuba", "orgue", "violoncelle", "celesta"]
-octaves = [0, -1, 0, 1, 1, -2, 0, -1, 0]
-
-defaultInstrumentChannel = 16
-defaultInstrumentNote = 60
-defaultCCHexCode = 0xB0+defaultInstrumentChannel - 1
-defaultNoteOnHexCode = 0x90+defaultInstrumentChannel - 1
-
-songScaleFactor = 0.99
-
-fileName = "../../../saves/22-01-2009-coll1-v65-"
-
-def noteNumberToName(noteNumber):
-    names = ["Do","Do#","R\xe9","Mib","Mi","Fa","Fa#","Sol","Sol#","La","Sib","Si"]
-    return(names[noteNumber%12])
-
-if __name__ == "__main__":
-    key = "papanoel"
-    if songDict[key] != None :
-        songDict[key].save("../songs/smwis/"+str(key)+".smwi")
diff --git a/src/instruments/Instrument.py b/src/instruments/Instrument.py
deleted file mode 100755
index fb54d3a..0000000
--- a/src/instruments/Instrument.py
+++ /dev/null
@@ -1,46 +0,0 @@
-'''
-Created on 15 juil. 2009
-
-@author: Samuel Benveniste
-'''
-
-class Instrument:
-    '''
-    Object representing an instrument.
-    
-        notes:
-            The MIDI numbers of the notes played by this instrument (usually a scale)
-        channel:
-            The channel corresponding to the instrument in the synthesizer
-        image:
-            The image for the instrument
-    '''
-
-    def __init__(self, notes, channel, image, octave = 0):
-        '''
-        Constructor
-            
-        notes:
-            The MIDI numbers of the notes played by this instrument (usually a scale)
-        channel:
-            The channel corresponding to the instrument in the synthesizer
-        image:
-            The image for the instrument
-        '''
-        
-        self.notes = [loop+12*octave for loop in notes]
-        self.octave = octave
-        self.channel = channel
-        self.image = image
-        
-    def getNote(self,noteNumber):
-        if noteNumber == None :
-            return(None)
-        else :
-            return(self.notes[noteNumber])
-        
-    def getNoteByNoteNumber(self,baseMidiNoteNumber):
-        if baseMidiNoteNumber == None:
-            return(None)
-        else :
-            return(baseMidiNoteNumber+self.octave*12)
\ No newline at end of file
diff --git a/src/instruments/__init__.py b/src/instruments/__init__.py
deleted file mode 100755
index e69de29..0000000
diff --git a/src/instruments/instrumentImages/accordeon.jpg b/src/instruments/instrumentImages/accordeon.jpg
deleted file mode 100755
index 015b1e0da827676f96634d73770ddc17e420cc6f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 31184
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
SUyAiV&p!WOeFy8`^8W(VD)N2+

diff --git a/src/instruments/instrumentImages/accordeonOld.jpg b/src/instruments/instrumentImages/accordeonOld.jpg
deleted file mode 100755
index 68ee03b922b6bafbdc9f294d93415da155763956..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 129956
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
XUdw;io&U+Q_5U_>{r_D3_v?QE24sx$

diff --git a/src/instruments/instrumentImages/celesta.jpg b/src/instruments/instrumentImages/celesta.jpg
deleted file mode 100755
index 2cb012b4b6382f5269b8baf5df36b6274291f527..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 44497
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

diff --git a/src/instruments/instrumentImages/celestaOld.jpg b/src/instruments/instrumentImages/celestaOld.jpg
deleted file mode 100755
index fdec1540029f5fbebd88a67af16cc21ffce41799..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 269517
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

diff --git a/src/instruments/instrumentImages/flute.jpg b/src/instruments/instrumentImages/flute.jpg
deleted file mode 100755
index 5dbab3de0fffbfb4c8db5beb41d63077ef6dd8c5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 35201
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%0AN=HA3OjA^1
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

diff --git a/src/instruments/instrumentImages/guitare.jpg b/src/instruments/instrumentImages/guitare.jpg
deleted file mode 100755
index 33dcd50d5d733fa9fbdb40787c01e655f8b02317..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 20831
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

diff --git a/src/instruments/instrumentImages/orgue.jpg b/src/instruments/instrumentImages/orgue.jpg
deleted file mode 100755
index ea4e1b59dc74f10414515951b467f74759ab9cf1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 23105
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

diff --git a/src/instruments/instrumentImages/piano.jpg b/src/instruments/instrumentImages/piano.jpg
deleted file mode 100755
index ef109bcfd50551fb02643a0e99021fcbfcb219d3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 56087
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
WZ`x9RoqP9zw<d-t*#Dw)2LBH>S2_Iv

diff --git a/src/instruments/instrumentImages/tuba.jpg b/src/instruments/instrumentImages/tuba.jpg
deleted file mode 100755
index 453d3bd8f0a7c69d56cf0e176782eef6d3284f95..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 16913
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
K_t^P9&HsOFuu$s&

diff --git a/src/instruments/instrumentImages/violon.jpg b/src/instruments/instrumentImages/violon.jpg
deleted file mode 100755
index 454e4f3d40e81266bd37a8c1dfeb27525bbfb7f8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 15964
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

diff --git a/src/instruments/instrumentImages/violoncelle.jpg b/src/instruments/instrumentImages/violoncelle.jpg
deleted file mode 100755
index 9bcc42c6cec6b093e986f9e14ddd6321edaef116..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 52483
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
T>!fs1U6^evN7TZ<@Y(;_KD|mN

diff --git a/src/launcher/__init__.py b/src/launcher/__init__.py
deleted file mode 100755
index e69de29..0000000
diff --git a/src/logging.disabled/EventLog.py b/src/logging.disabled/EventLog.py
deleted file mode 100755
index 55d778a..0000000
--- a/src/logging.disabled/EventLog.py
+++ /dev/null
@@ -1,69 +0,0 @@
-'''
-Created on 21 aout 2009
-
-@author: Samuel Benveniste
-'''
-import time
-
-class EventLog:
-    '''
-    classdocs
-    '''
-    
-    def __init__(self,eventGroups = [], times = []):
-        '''
-        Constructor
-        '''
-        self.eventGroups = eventGroups
-        self.times = times
-        self.rate = 1
-        self.yielder = self.eventGroupYielder()
-        self.yieldPointer = 0
-        
-        self._timeCounter = 0
-                
-    def __getstate__(self):
-        d = []
-        d.append(self.eventGroups)
-        d.append(self.times)
-        return d
-    
-    def __setstate__(self,d):
-        self.eventGroups = d[0]
-        self.times = d[1]
-        self.yielder = self.eventGroupYielder()
-        
-        self._timeCounter = 0
-    
-    def appendEventGroup(self, eventGroup):
-        t = time.clock()*1000
-        self.times.append(t)
-        self.eventGroups.append(eventGroup)
-        
-    def update(self,timePassed):
-        self._timeCounter += timePassed
-    
-    def setReplayRate(self,rate):
-        self.rate = rate
-        self.yielder = self.eventGroupYielder()
-    
-    def getPickledEvents(self):
-        return(self.yielder.next())
-    
-    def getCurrentTime(self):
-        return(self.times[self.yieldPointer])
-    
-    def eventGroupYielder(self):
-        '''
-        Will return the next event to post if enough time has passed and [] otherwise
-        '''
-        i = 0
-        while i in range(len(self.eventGroups)):
-            print "rate is " + str(self.rate)
-            if self._timeCounter*self.rate>self.times[i]:
-                print str(self._timeCounter*self.rate)+" > "+ str(self.times[i])
-                self.yieldPointer = i
-                yield self.eventGroups[i]
-                i += 1
-            else:
-                yield []
diff --git a/src/logging.disabled/FamiliarizerLog.py b/src/logging.disabled/FamiliarizerLog.py
deleted file mode 100644
index e84d1c2..0000000
--- a/src/logging.disabled/FamiliarizerLog.py
+++ /dev/null
@@ -1,100 +0,0 @@
-'''
-Created on 28 aout 2009
-
-@author: Samuel Benveniste
-'''
-
-import os
-import sys
-import subprocess
-import re
-
-import pygame
-import pygame.midi
-import pickle
-
-from gui.constants import *
-
-from gui.PlayingScreen import PlayingScreen
-from gui.InstrumentChoice import InstrumentChoice
-from instruments.Instrument import Instrument
-from cursor.WarpingCursor import *
-from controllers.Wiimote import Wiimote
-from songs.Song import Song
-from gui.StaticFamiliarizer import StaticFamiliarizer
-from gui.SongFamiliarizer import SongFamiliarizer
-from gui.SongPlayingScreen import SongPlayingScreen
-from gui.DummyInstrumentChoice import DummyInstrumentChoice
-
-class FamiliarizerLog():
-    '''
-    classdocs
-    '''
-
-    def __init__(self,eventLog,level,activeWiimotes):
-        '''
-        Constructor
-        '''
-        self.eventLog = eventLog
-        self.level = level
-        self.activeWiimotes = activeWiimotes
-        self.scale = scaleDict["majorScale"]   
-        
-if __name__ == '__main__':
-        
-        f = file('../../../saves/19-01-2009-testcoll1-v65-1.fmwi', 'r')
-        unpickler = pickle.Unpickler(f)
-        log = unpickler.load()
-        f.close()
-        
-        pygame.init()
-        modeResolution = (1024,768)
-        window = pygame.display.set_mode(modeResolution,pygame.FULLSCREEN)
-        pygame.midi.init()
-        instruments = [Instrument(log.scale, i + 1, "".join(["../instruments/instrumentImages/", instrumentImagePathList[i], ".jpg"]), octaves[i]) for i in range(9)]
-        
-        joys = [[id,pygame.joystick.Joystick(id).get_name()] for id in range(pygame.joystick.get_count())]
-        for joy in joys:
-            if joy[1] in joyNames:
-                pygame.joystick.Joystick(joy[0]).init() 
-        
-        ports = [pygame.midi.get_device_info(id)[1] for id in range(pygame.midi.get_count())]
-        portOffset = ports.index(portNames[0])
-        print(portOffset)
-        
-        screen = pygame.display.get_surface()
-        clock = pygame.time.Clock()        
-        cursorImages=[['../cursor/cursorImages/black/10.png'],['../cursor/cursorImages/red/10.png'],['../cursor/cursorImages/blue/10.png'],['../cursor/cursorImages/green/10.png']]
-        durations = [75 for i in range(len(cursorImages))]
-        
-        extsc = True
-        casc = False
-        easyMode = True
-        
-        song = Song(scaleDict["majorScale"],[3,9,6,4,1,8,5,7,2,10],True)
-
-        wiimoteCount = 4
-        
-        cursors = [WarpingCursor(None, cursorImages[i], durations, (300 * i, 300 * i),'../cursor/cursorImages/black/flash.png') for i in range(wiimoteCount)]
-        wiimotes = [Wiimote(i, i + portOffset, None, instruments[0], cursors[i]) for i in range(wiimoteCount)]
-        dummyInstrumentChoice = DummyInstrumentChoice(wiimotes, window, screen, clock, joys, portOffset, log.activeWiimotes)
-        if log.level < 2 :
-            familiarize = StaticFamiliarizer(wiimotes, window, screen, clock, joys, portOffset,log.activeWiimotes,level = log.level,eventLog = log.eventLog,replay = True)
-        elif log.level == 2 :
-            familiarize = SongFamiliarizer(wiimotes, window, screen, clock, joys, portOffset,song,log.activeWiimotes,casc,extsc,easyMode,eventLog = log.eventLog,replay = True)
-        else :
-            familiarize = SongPlayingScreen(dummyInstrumentChoice,songDict["clairdelalune"],easyMode = True,eventLog = log.eventLog,replay = True)
-                        
-        while familiarize.nextLevel != None :
-            if familiarize.nextLevel < 2 :
-                familiarize = StaticFamiliarizer(wiimotes, window, screen, clock, joys, portOffset,log.activeWiimotes,level = familiarize.nextLevel,eventLog = familiarize.eventLog,replay = True)
-            elif familiarize.nextLevel == 2 :
-                familiarize = SongFamiliarizer(wiimotes, window, screen, clock, joys, portOffset,song,log.activeWiimotes,casc,extsc,easyMode,eventLog = familiarize.eventLog,replay = True)
-            else :
-                familiarize = SongPlayingScreen(dummyInstrumentChoice,songDict["clairdelalune"],easyMode = True,eventLog = familiarize.eventLog,replay = True)
-            
-        for wiimote in wiimotes:
-            del wiimote.port            
-        
-        pygame.midi.quit()
-        pygame.quit()
\ No newline at end of file
diff --git a/src/logging.disabled/Log.py b/src/logging.disabled/Log.py
deleted file mode 100755
index a658e8a..0000000
--- a/src/logging.disabled/Log.py
+++ /dev/null
@@ -1,135 +0,0 @@
-'''
-Created on 28 aout 2009
-
-@author: Samuel Benveniste
-'''
-
-import os
-import sys
-import subprocess
-import re
-
-import pygame
-import pygame.midi
-import pickle
-
-from gui.constants import *
-
-from gui.PlayingScreen import PlayingScreen
-from gui.SongPlayingScreen import SongPlayingScreen
-from gui.InstrumentChoice import InstrumentChoice
-from instruments.Instrument import Instrument
-from cursor.WarpingCursor import *
-from controllers.Wiimote import Wiimote
-from songs.Song import Song
-
-
-class Log:
-    '''
-    classdocs
-    '''
-
-
-    def __init__(self,eventLog,scale,extendedScale,cascade,song,mode,activeWiimotes,easyMode = True):
-        '''
-        Constructor
-        '''
-        self.eventLog = eventLog
-        self.scale = scale
-        self.extendedScale = extendedScale
-        self.cascade = cascade
-        self.song = song
-        self.activeWiimotes = activeWiimotes
-        self.mode = mode    
-        
-if __name__ == '__main__':
-        
-        f = file('../../saves/4-12-2009-B1-v50-1.mwi', 'r')
-        unpickler = pickle.Unpickler(f)
-        log = unpickler.load()
-        f.close()
-        
-        pygame.init()
-        pygame.midi.init()
-        instruments = [Instrument(scaleDict["majorScale"], i + 1, "".join(["../instruments/instrumentImages/", instrumentImagePathList[i], ".jpg"]), octaves[i]) for i in range(9)]
-        
-        joys = [[id,pygame.joystick.Joystick(id).get_name()] for id in range(pygame.joystick.get_count())]
-        for joy in joys:
-            if joy[1] in joyNames:
-                pygame.joystick.Joystick(joy[0]).init() 
-        
-        ports = [pygame.midi.get_device_info(id)[1] for id in range(pygame.midi.get_count())]
-        portOffset = ports.index(portNames[0])
-        print(portOffset)
-        
-        modeResolution = (1024,768)
-        window = pygame.display.set_mode(modeResolution,pygame.FULLSCREEN)
-        screen = pygame.display.get_surface()
-        clock = pygame.time.Clock()        
-        cursorImages=[['../cursor/cursorImages/black/10.png'],['../cursor/cursorImages/red/10.png'],['../cursor/cursorImages/blue/10.png'],['../cursor/cursorImages/green/10.png']]
-        durations = [75 for i in range(len(cursorImages[0]))]
-        
-        wiimoteCount = 4
-        cursors = [WarpingCursor(None, cursorImages[i], durations, (300 * i, 300 * i),flashImage = '../cursor/cursorImages/black/flash.png' ) for i in range(wiimoteCount)]
-        wiimotes = [Wiimote(i, i + portOffset, None, None, cursors[i]) for i in range(wiimoteCount)]
-        
-        if log.song != None :
-            
-            if log.mode == 0 :
-                log.extendedScale = log.song.requiresExtendedScale
-                log.cascade = True
-                log.easyMode = True
-            elif log.mode == 1 :
-                log.extendedScale = log.song.requiresExtendedScale
-                log.cascade = True
-                log.easyMode = True
-            elif log.mode == 2:
-                log.extendedScale = log.song.requiresExtendedScale
-                log.cascade = False
-                log.easyMode = True
-            elif log.mode == 3:
-                log.extendedScale = True
-                log.cascade = False
-                log.easyMode = False
-                
-            choice = InstrumentChoice(instruments, wiimotes, window, screen, clock, joys, portOffset,log.activeWiimotes, eventLog = log.eventLog,scaleFactor = songScaleFactor,replay = True)
-            play = SongPlayingScreen(choice, log.song,log.cascade, log.extendedScale,log.easyMode)
-        
-        else:
-            
-            if log.mode == 0 :
-                log.extendedScale = False
-                log.cascade = False
-            elif log.mode == 1 :
-                log.extendedScale = True
-                log.cascade = False
-            elif log.mode == 2:
-                log.extendedScale = False
-                log.cascade = True
-            elif log.mode == 3:
-                log.extendedScale = True
-                log.cascade = True
-                
-            choice = InstrumentChoice(instruments, wiimotes, window, screen, clock, joys, portOffset,log.activeWiimotes,eventLog = log.eventLog,replay = True)
-            play = PlayingScreen(choice, None,log.cascade, log.extendedScale)            
-                
-        while play.backToInstrumentChoice == True :
-            
-            for wiimote in wiimotes:
-                del wiimote.port
-                
-            wiimotes = [Wiimote(i, i + portOffset, None, None, cursors[i]) for i in range(wiimoteCount)]
-            previousEventLog = play.eventLog
-
-            if log.song != None :
-                choice = InstrumentChoice(instruments, wiimotes,window, screen, clock, joys, portOffset, log.activeWiimotes,eventLog = previousEventLog, replay = True, scaleFactor = songScaleFactor)
-                play = SongPlayingScreen(choice, log.song, False, log.extendedScale,log.easyMode)
-            else:
-                choice = InstrumentChoice(instruments, wiimotes, log.window, screen, clock, joys, portOffset,log.activeWiimotes, eventLog = previousEventLog, replay = True)
-                play = PlayingScreen(choice, None, log.cascade, log.extendedScale)
-                               
-        for wiimote in wiimotes:
-                del wiimote.port
-        
-        pygame.midi.quit()
-        pygame.quit()
\ No newline at end of file
diff --git a/src/logging.disabled/LogPGUAnalyzer.py b/src/logging.disabled/LogPGUAnalyzer.py
deleted file mode 100644
index a3551fd..0000000
--- a/src/logging.disabled/LogPGUAnalyzer.py
+++ /dev/null
@@ -1,42 +0,0 @@
-'''
-Created on 25 janv. 2010
-
-@author: Samuel Benveniste
-'''
-
-from LogPGUPlayer import LogPGUPlayer
-
-class LogPGUAnalyzer(LogPGUPlayer):
-    '''
-    classdocs
-    '''
-
-
-    def __init__(self):
-        '''
-        Constructor
-        '''
-        
-        self.firstStepDurations = []
-        self.firstStepClicks = []
-        self.firstStepClicksIn = []
-        
-        self.secondStepDurations = []
-        self.secondStepClicks = []
-        self.secondStepClicksIn = []
-        
-        self.thirdStepDurations = []
-        self.thirdStepClicks = []
-        self.thirdStepClicksIn = []
-        
-        self.songDurations = []
-        self.songClicks = []
-        self.songClicksIn = []
-        self.songClicksPerMinute = []
-        self.songClicksInPerMinute = []
-        self.songTotalDurations = []
-        
-        self.meanTimeBetweenNotes = []
-        
-        LogPGUPlayer.__init__(self,20)
-        
\ No newline at end of file
diff --git a/src/logging.disabled/LogPGUPlayer.py b/src/logging.disabled/LogPGUPlayer.py
deleted file mode 100644
index cf1a670..0000000
--- a/src/logging.disabled/LogPGUPlayer.py
+++ /dev/null
@@ -1,237 +0,0 @@
-'''
-Created on 25 janv. 2010
-
-@author: Samuel Benveniste
-'''
-
-import pygame
-import pickle
-
-from pgu import gui as pguGui
-
-from gui import constants
-
-from instruments.Instrument import Instrument
-from songs.Song import Song
-from cursor.WarpingCursor import *
-from gui.StaticFamiliarizer import StaticFamiliarizer
-from gui.SongFamiliarizer import SongFamiliarizer
-from gui.SongPlayingScreen import SongPlayingScreen
-from gui.DummyInstrumentChoice import DummyInstrumentChoice
-from controllers.Wiimote import Wiimote
-
-class LogPGUPlayer(pguGui.Desktop):
-    '''
-    classdocs
-    '''
-
-
-    def __init__(self,rate):
-        '''
-        Constructor
-        '''
-        self.firstStepDurations = []
-        self.firstStepClicks = []
-        self.firstStepClicksIn = []
-        
-        self.secondStepDurations = []
-        self.secondStepClicks = []
-        self.secondStepClicksIn = []
-        
-        self.thirdStepDurations = []
-        self.thirdStepClicks = []
-        self.thirdStepClicksIn = []
-        
-        self.songDurations = []
-        self.songClicks = []
-        self.songClicksIn = []
-        self.songClicksPerMinute = []
-        self.songClicksInPerMinute = []
-        self.songTotalDurations = []
-        
-        self.meanTimeBetweenNotes = []
-        
-        pguGui.Desktop.__init__(self)
-        
-        self.replayRate = rate
-        #pguGui.theme.load('../data/themes/default')
-        
-        self.connect(pguGui.QUIT,self.quit,None)
-        
-        main = pguGui.Container(width=500, height=400) #, background=(220, 220, 220) )
-        
-        
-        main.add(pguGui.Label("File Dialog Example", cls="h1"), 20, 20)
-        
-        
-        td_style = {'padding_right': 10}
-        t = pguGui.Table()
-        t.tr()
-        t.td( pguGui.Label('File Name:') , style=td_style )
-        self.input_file = pguGui.Input()
-        t.td( self.input_file, style=td_style )
-        self.browseButton = pguGui.Button("Browse...")
-        t.td( self.browseButton, style=td_style )
-        self.browseButton.connect(pguGui.CLICK, self.open_file_browser, None)
-        
-        self.goButton = pguGui.Button("Go")
-        
-        self.goButton.connect(pguGui.CLICK, self.goButtonClicked,None)
-        
-        self.quitButton = pguGui.Button("Fin")
-        self.quitButton.connect(pguGui.CLICK,self.quit,None)
-        
-        t.td( self.browseButton, style=td_style )
-        t.td( self.goButton, style=td_style )
-        t.td( self.quitButton, style=td_style )
-        
-        main.add(t, 20, 100)
-        
-        self.run(main)
-        #import profile
-        #profile.run('app.run(main)')
-        
-    def open_file_browser(self,data=None):
-        d = pguGui.FileDialog(path = "../../../saves")
-        d.connect(pguGui.CHANGE, self.handle_file_browser_closed, d)
-        d.open()
-        
-    
-    def handle_file_browser_closed(self,dlg):
-        if dlg.value: self.input_file.value = dlg.value
-    
-    def goButtonClicked(self,data=None):
-        if self.input_file.value.endswith(".fmwi"):
-            f = file(self.input_file.value, 'r')
-            unpickler = pickle.Unpickler(f)
-            log = unpickler.load()
-            f.close()
-            
-            log.eventLog.setReplayRate(self.replayRate)
-        
-            pygame.midi.init()
-            instruments = [Instrument(log.scale, i + 1, "".join(["../instruments/instrumentImages/", constants.instrumentImagePathList[i], ".jpg"]), constants.octaves[i]) for i in range(9)]
-            
-            joys = [[id,pygame.joystick.Joystick(id).get_name()] for id in range(pygame.joystick.get_count())]
-            for joy in joys:
-                if joy[1] in constants.joyNames:
-                    pygame.joystick.Joystick(joy[0]).init() 
-            
-            ports = [pygame.midi.get_device_info(id)[1] for id in range(pygame.midi.get_count())]
-            portOffset = ports.index(constants.portNames[0])
-            print(portOffset)
-            
-            screen = pygame.display.get_surface()
-            clock = pygame.time.Clock()        
-            cursorImages=[['../cursor/cursorImages/black/10.png'],['../cursor/cursorImages/red/10.png'],['../cursor/cursorImages/blue/10.png'],['../cursor/cursorImages/green/10.png']]
-            durations = [75 for i in range(len(cursorImages))]
-            
-            extsc = True
-            casc = False
-            easyMode = True
-            
-            song = Song(constants.scaleDict["majorScale"],[3,9,6,4,1,8,5,7,2,10],True)
-    
-            wiimoteCount = 4
-            
-            cursors = [WarpingCursor(None, cursorImages[i], durations, (300 * i, 300 * i),'../cursor/cursorImages/black/flash.png') for i in range(wiimoteCount)]
-            wiimotes = [Wiimote(i, i + portOffset, None, instruments[0], cursors[i]) for i in range(wiimoteCount)]
-            dummyInstrumentChoice = DummyInstrumentChoice(wiimotes, window, screen, clock, joys, portOffset, log.activeWiimotes)
-            if log.level < 2 :
-                familiarize = StaticFamiliarizer(wiimotes, window, screen, clock, joys, portOffset,log.activeWiimotes,level = log.level,eventLog = log.eventLog,replay = True)
-                self.fillStaticFamiliarizerStats(familiarize)
-            elif log.level == 2 :
-                familiarize = SongFamiliarizer(wiimotes, window, screen, clock, joys, portOffset,song,log.activeWiimotes,casc,extsc,easyMode,eventLog = log.eventLog,replay = True)
-                self.fillSongFamiliarizerStats(familiarize)
-            else :
-                familiarize = SongPlayingScreen(dummyInstrumentChoice,constants.songDict["clairdelalune"],easyMode = True,eventLog = log.eventLog,replay = True)
-                self.fillSongStats(familiarize)            
-            
-            while familiarize.nextLevel != None :
-                if familiarize.nextLevel < 2 :
-                    familiarize = StaticFamiliarizer(wiimotes, window, screen, clock, joys, portOffset,log.activeWiimotes,level = familiarize.nextLevel,eventLog = familiarize.eventLog,replay = True)
-                    self.fillStaticFamiliarizerStats(familiarize)
-                elif familiarize.nextLevel == 2 :
-                    familiarize = SongFamiliarizer(wiimotes, window, screen, clock, joys, portOffset,song,log.activeWiimotes,casc,extsc,easyMode,eventLog = familiarize.eventLog,replay = True)
-                    self.fillSongFamiliarizerStats(familiarize)
-                else :
-                    familiarize = SongPlayingScreen(dummyInstrumentChoice,constants.songDict["clairdelalune"],easyMode = True,eventLog = familiarize.eventLog,replay = True)
-                    self.fillSongStats(familiarize)
-                    
-            for wiimote in wiimotes:
-                del wiimote.port            
-            
-            pygame.midi.quit()
-            self.printStatsToFile()
-            
-    def fillStaticFamiliarizerStats(self,familiarizer):
-        if familiarizer.level == 0 :
-            self.firstStepClicks.append(familiarizer.clicks)
-            self.firstStepClicksIn.append(familiarizer.clicksIn)
-            self.firstStepDurations.append(familiarizer.duration)
-            
-        if familiarizer.level == 1 :
-            self.secondStepClicks.append(familiarizer.clicks)
-            self.secondStepClicksIn.append(familiarizer.clicksIn)
-            self.secondStepDurations.append(familiarizer.duration)
-            
-    def fillSongFamiliarizerStats(self,familiarizer):
-        self.thirdStepClicks.append(familiarizer.clicks)
-        self.thirdStepClicksIn.append(familiarizer.clicksIn)
-        self.thirdStepDurations.append(familiarizer.duration)
-        
-    def fillSongStats(self,familiarizer):
-        self.songClicks.append(familiarizer.clicks)
-        self.songClicksIn.append(familiarizer.clicksIn)
-        self.songClicksPerMinute.append(familiarizer.clicksPerMinute)
-        self.songClicksInPerMinute.append(familiarizer.clicksInPerMinute)
-        self.songDurations.append(familiarizer.songDurations)
-        self.songTotalDurations.append(familiarizer.totalDuration)
-        
-    def statsToFormattedString(self):
-        return("First step durations :\n"+"\n"+
-                   str(self.firstStepDurations)+"\n"+"\n"+
-                   "First step clicks :\n"+"\n"+
-                   str(self.firstStepClicks)+"\n"+"\n"+
-                   "First step clicksIn :\n"+"\n"+
-                   str(self.firstStepClicksIn)+"\n"+"\n"+
-                   "Second step durations :\n"+"\n"+
-                   str(self.secondStepDurations)+"\n"+"\n"+
-                   "Second step clicks :\n"+"\n"+
-                   str(self.secondStepClicks)+"\n"+"\n"+
-                   "Second step clicksIn :\n"+"\n"+
-                   str(self.secondStepClicksIn)+"\n"+"\n"+
-                   "Third step durations :\n"+"\n"+
-                   str(self.thirdStepDurations)+"\n"+"\n"+
-                   "Third step clicks :\n"+"\n"+
-                   str(self.thirdStepClicks)+"\n"+"\n"+
-                   "Third step clicksIn :\n"+"\n"+
-                   str(self.thirdStepClicksIn)+"\n"+"\n"+
-                   "song durations :\n"+"\n"+
-                   str(self.songDurations)+"\n"+"\n"+
-                   "song clicks :\n"+"\n"+
-                   str(self.songClicks)+"\n"+"\n"+
-                   "song clicksIn :\n"+"\n"+
-                   str(self.songClicksIn)+"\n"+"\n"+
-                   "song clicks per minute:\n"+"\n"+
-                   str(self.songClicksPerMinute)+"\n"+"\n"+
-                   "song clicksIn per minute :\n"+"\n"+
-                   str(self.songClicksInPerMinute)+"\n"+"\n"+
-                   "song total durations :\n"+"\n"+
-                   str(self.songTotalDurations)+"\n"+"\n")
-        
-    def printStatsToFile(self,path=None):
-        if path == None :
-            path = self.input_file.value.replace(".fmwi",".txt")
-        file = open(path,"w")
-        file.write("Log ID : "+self.input_file.value+"\n"+"\n")
-        file.write(self.statsToFormattedString())
-        file.close()
-                    
-if __name__ == "__main__":
-    pygame.init()
-    modeResolution = (1024,768)
-    window = pygame.display.set_mode(modeResolution,pygame.FULLSCREEN)
-    logConfig = LogPGUPlayer(10000)
-    pygame.quit()
-    
\ No newline at end of file
diff --git a/src/logging.disabled/PickleableEvent.py b/src/logging.disabled/PickleableEvent.py
deleted file mode 100755
index ab218f8..0000000
--- a/src/logging.disabled/PickleableEvent.py
+++ /dev/null
@@ -1,24 +0,0 @@
-import pygame
-import copy
-import pickle
-
-from pygame.event import Event
-
-class PickleableEvent(object):
-    "A pygame.Event that can be serialized."
-    
-    def __init__(self,type,dict):
-        self.__dict__ = copy.copy(dict)
-        self.type = type
-        self.event = Event(self.type,dict)
-
-    def __getstate__(self):
-        d = []
-        d.append(self.type)
-        d.append(copy.copy(self.event.dict))
-        return d
-
-    def __setstate__(self, d):
-        self.__dict__ = copy.copy(d[1])
-        self.type = d[0]
-        self.event = Event(d[0],d[1])
\ No newline at end of file
diff --git a/src/logging.disabled/__init__.py b/src/logging.disabled/__init__.py
deleted file mode 100755
index e69de29..0000000
diff --git a/src/mxmMidi/DataTypeConverters.py b/src/mxmMidi/DataTypeConverters.py
deleted file mode 100644
index 25115de..0000000
--- a/src/mxmMidi/DataTypeConverters.py
+++ /dev/null
@@ -1,217 +0,0 @@
-# -*- coding: ISO-8859-1 -*-
-
-from struct import pack, unpack
-
-"""
-This module contains functions for reading and writing the special data types
-that a midi file contains.
-"""
-
-"""
-nibbles are four bits. A byte consists of two nibles.
-hiBits==0xF0, loBits==0x0F Especially used for setting
-channel and event in 1. byte of musical midi events
-"""
-
-
-
-def getNibbles(byte):
-    """
-    Returns hi and lo bits in a byte as a tuple
-    >>> getNibbles(142)
-    (8, 14)
-    
-    Asserts byte value in byte range
-    >>> getNibbles(256)
-    Traceback (most recent call last):
-        ...
-    ValueError: Byte value out of range 0-255: 256
-    """
-    if not 0 <= byte <= 255:
-        raise ValueError('Byte value out of range 0-255: %s' % byte)
-    return (byte >> 4 & 0xF, byte & 0xF)
-
-
-def setNibbles(hiNibble, loNibble):
-    """
-    Returns byte with value set according to hi and lo bits
-    Asserts hiNibble and loNibble in range(16)
-    >>> setNibbles(8, 14)
-    142
-    
-    >>> setNibbles(8, 16)
-    Traceback (most recent call last):
-        ...
-    ValueError: Nible value out of range 0-15: (8, 16)
-    """
-    if not (0 <= hiNibble <= 15) or not (0 <= loNibble <= 15):
-        raise ValueError('Nible value out of range 0-15: (%s, %s)' % (hiNibble, loNibble))
-    return (hiNibble << 4) + loNibble
-
-
-
-def readBew(value):
-    """
-    Reads string as big endian word, (asserts len(value) in [1,2,4])
-    >>> readBew('aáâã')
-    1642193635L
-    >>> readBew('aá')
-    25057
-    """
-    return unpack('>%s' % {1:'B', 2:'H', 4:'L'}[len(value)], value)[0]
-
-
-def writeBew(value, length):
-    """
-    Write int as big endian formatted string, (asserts length in [1,2,4])
-    Difficult to print the result in doctest, so I do a simple roundabout test.
-    >>> readBew(writeBew(25057, 2))
-    25057
-    >>> readBew(writeBew(1642193635L, 4))
-    1642193635L
-    """
-    return pack('>%s' % {1:'B', 2:'H', 4:'L'}[length], value)
-
-
-
-"""
-Variable Length Data (varlen) is a data format sprayed liberally throughout
-a midi file. It can be anywhere from 1 to 4 bytes long.
-If the 8'th bit is set in a byte another byte follows. The value is stored
-in the lowest 7 bits of each byte. So max value is 4x7 bits = 28 bits.
-"""
-
-
-def readVar(value):
-    """
-    Converts varlength format to integer. Just pass it 0 or more chars that
-    might be a varlen and it will only use the relevant chars.
-    use varLen(readVar(value)) to see how many bytes the integer value takes.
-    asserts len(value) >= 0
-    >>> readVar('€@')
-    64
-    >>> readVar('áâãa')
-    205042145
-    """
-    sum = 0
-    for byte in unpack('%sB' % len(value), value):
-        sum = (sum << 7) + (byte & 0x7F)
-        if not 0x80 & byte: break # stop after last byte
-    return sum
-
-
-
-def varLen(value):
-    """
-    Returns the the number of bytes an integer will be when
-    converted to varlength
-    """
-    if value <= 127:
-        return 1
-    elif value <= 16383:
-        return 2
-    elif value <= 2097151:
-        return 3
-    else:
-        return 4
-
-
-def writeVar(value):
-    "Converts an integer to varlength format"
-    sevens = to_n_bits(value, varLen(value))
-    for i in range(len(sevens)-1):
-        sevens[i] = sevens[i] | 0x80
-    return fromBytes(sevens)
-
-
-def to_n_bits(value, length=1, nbits=7):
-    "returns the integer value as a sequence of nbits bytes"
-    bytes = [(value >> (i*nbits)) & 0x7F for i in range(length)]
-    bytes.reverse()
-    return bytes
-
-
-def toBytes(value):
-    "Turns a string into a list of byte values"
-    return unpack('%sB' % len(value), value)
-
-
-def fromBytes(value):
-    "Turns a list of bytes into a string"
-    if not value:
-        return ''
-    return pack('%sB' % len(value), *value)
-
-
-
-if __name__ == '__main__':
-
-#    print to7bits(0, 3)
-#    print to7bits(127, 3)
-#    print to7bits(255, 3)
-#    print to7bits(65536, 3)
-
-    # simple test cases
-    
-#    print 'getHiLoHex', getNibbles(16)
-#    print 'setHiLoHex', setNibbles(1,0)
-#    
-#    print 'readBew', readBew('aáâã')
-#    print 'writeBew', writeBew(1642193635, 4)
-#
-#    print 'varLen', varLen(1)
-#
-    print 'readVar', readVar('€@')
-    print 'writeVar', writeVar(8192)
-    
-    print 'readVar', readVar('áâãa')
-    print 'writeVar', writeVar(205058401)
-#    
-#    vartest = '\x82\xF7\x80\x00'
-#    print 'toBytes', toBytes(vartest)
-#    print 'fromBytes', fromBytes([48, 49, 50,])
-    
-    
-#    instr = '\xFF\xFF\xFF\x00'
-#    print 'readVar', readVar(instr)
-#    inst2 = 268435455
-#    print inst2
-#    print writeVar(inst2)
-#    print writeVar(readVar(instr))
-
-    s1 = 0x00000000
-    print '%08X -' % s1, '00',  writeVar(s1)
-    s2 = 0x00000040
-    print '%08X -' % s2, '40',  writeVar(s2)
-    s3 = 0x0000007F
-    print '%08X -' % s3, '7F',  writeVar(s3)
-    s4 = 0x00000080
-    print '%08X -' % s4, '81 00',  writeVar(s4)
-    s5 = 0x00002000
-    print '%08X -' % s5, 'C0 00',  writeVar(s5)
-    s6 = 0x00003FFF
-    print '%08X -' % s6, 'FF 7F',  writeVar(s6)
-    s7 = 0x00004000
-    print '%08X -' % s7, '81 80 00',  writeVar(s7)
-    s8 = 0x00100000
-    print '%08X -' % s8, 'C0 80 00',  writeVar(s8)
-    s9 = 0x001FFFFF
-    print '%08X -' % s9, 'FF FF 7F',  writeVar(s9)
-    s10 = 0x00200000
-    print '%08X -' % s10, '81 80 80 00', writeVar(s10)
-    s11 = 0x08000000
-    print '%08X -' % s11, 'C0 80 80 00', writeVar(s11)
-    s12 = 0x0FFFFFFF
-    print '%08X -' % s12, 'FF FF FF 7F', writeVar(s12)
-              
-              
-              
-             
-             
-             
-           
-           
-           
-          
-          
-          
\ No newline at end of file
diff --git a/src/mxmMidi/EventDispatcher.py b/src/mxmMidi/EventDispatcher.py
deleted file mode 100644
index 3c07a33..0000000
--- a/src/mxmMidi/EventDispatcher.py
+++ /dev/null
@@ -1,287 +0,0 @@
-# -*- coding: ISO-8859-1 -*-
-
-# std library
-from struct import unpack
-
-# custom
-from DataTypeConverters import readBew, readVar, varLen, toBytes
-
-# uhh I don't really like this, but there are so many constants to 
-# import otherwise
-from constants import *
-
-
-class EventDispatcher:
-
-
-    def __init__(self, outstream):
-        
-        """
-        
-        The event dispatcher generates events on the outstream.
-        
-        """
-        
-        # internal values, don't mess with 'em directly
-        self.outstream = outstream
-        
-        # public flags
-
-        # A note_on with a velocity of 0x00 is actually the same as a 
-        # note_off with a velocity of 0x40. When 
-        # "convert_zero_velocity" is set, the zero velocity note_on's 
-        # automatically gets converted into note_off's. This is a less 
-        # suprising behaviour for those that are not into the intimate 
-        # details of the midi spec.
-        self.convert_zero_velocity = 1
-        
-        # If dispatch_continuos_controllers is true, continuos 
-        # controllers gets dispatched to their defined handlers. Else 
-        # they just trigger the "continuous_controller" event handler.
-        self.dispatch_continuos_controllers = 1 # NOT IMPLEMENTED YET
-        
-        # If dispatch_meta_events is true, meta events get's dispatched 
-        # to their defined events. Else they all they trigger the 
-        # "meta_event" handler.
-        self.dispatch_meta_events = 1
-
-
-
-    def header(self, format, nTracks, division):
-        "Triggers the header event"
-        self.outstream.header(format, nTracks, division)
-
-
-    def start_of_track(self, current_track):
-        "Triggers the start of track event"
-        
-        # I do this twice so that users can overwrite the 
-        # start_of_track event handler without worrying whether the 
-        # track number is updated correctly.
-        self.outstream.set_current_track(current_track)
-        self.outstream.start_of_track(current_track)
-        
-    
-    def sysex_event(self, data):
-        "Dispatcher for sysex events"
-        self.outstream.sysex_event(data)
-    
-    
-    def eof(self):
-        "End of file!"
-        self.outstream.eof()
-
-
-    def update_time(self, new_time=0, relative=1):
-        "Updates relative/absolute time."
-        self.outstream.update_time(new_time, relative)
-        
-        
-    def reset_time(self):
-        "Updates relative/absolute time."
-        self.outstream.reset_time()
-        
-        
-    # Event dispatchers for similar types of events
-    
-    
-    def channel_messages(self, hi_nible, channel, data):
-    
-        "Dispatches channel messages"
-        
-        stream = self.outstream
-        data = toBytes(data)
-        
-        if (NOTE_ON & 0xF0) == hi_nible:
-            note, velocity = data
-            # note_on with velocity 0x00 are same as note 
-            # off with velocity 0x40 according to spec!
-            if velocity==0 and self.convert_zero_velocity:
-                stream.note_off(channel, note, 0x40)
-            else:
-                stream.note_on(channel, note, velocity)
-        
-        elif (NOTE_OFF & 0xF0) == hi_nible:
-            note, velocity = data
-            stream.note_off(channel, note, velocity)
-        
-        elif (AFTERTOUCH & 0xF0) == hi_nible:
-            note, velocity = data
-            stream.aftertouch(channel, note, velocity)
-        
-        elif (CONTINUOUS_CONTROLLER & 0xF0) == hi_nible:
-            controller, value = data
-            # A lot of the cc's are defined, so we trigger those directly
-            if self.dispatch_continuos_controllers:
-                self.continuous_controllers(channel, controller, value)
-            else:
-                stream.continuous_controller(channel, controller, value)
-            
-        elif (PATCH_CHANGE & 0xF0) == hi_nible:
-            program = data[0]
-            stream.patch_change(channel, program)
-            
-        elif (CHANNEL_PRESSURE & 0xF0) == hi_nible:
-            pressure = data[0]
-            stream.channel_pressure(channel, pressure)
-            
-        elif (PITCH_BEND & 0xF0) == hi_nible:
-            hibyte, lobyte = data
-            value = (hibyte<<7) + lobyte
-            stream.pitch_bend(channel, value)
-
-        else:
-
-            raise ValueError, 'Illegal channel message!'
-
-
-
-    def continuous_controllers(self, channel, controller, value):
-    
-        "Dispatches channel messages"
-
-        stream = self.outstream
-        
-        # I am not really shure if I ought to dispatch continuous controllers
-        # There's so many of them that it can clutter up the OutStream 
-        # classes.
-        
-        # So I just trigger the default event handler
-        stream.continuous_controller(channel, controller, value)
-
-
-
-    def system_commons(self, common_type, common_data):
-    
-        "Dispatches system common messages"
-        
-        stream = self.outstream
-        
-        # MTC Midi time code Quarter value
-        if common_type == MTC:
-            data = readBew(common_data)
-            msg_type = (data & 0x07) >> 4
-            values = (data & 0x0F)
-            stream.midi_time_code(msg_type, values)
-        
-        elif common_type == SONG_POSITION_POINTER:
-            hibyte, lobyte = toBytes(common_data)
-            value = (hibyte<<7) + lobyte
-            stream.song_position_pointer(value)
-
-        elif common_type == SONG_SELECT:
-            data = readBew(common_data)
-            stream.song_select(data)
-
-        elif common_type == TUNING_REQUEST:
-            # no data then
-            stream.tuning_request(time=None)
-
-
-
-    def meta_event(self, meta_type, data):
-        
-        "Dispatches meta events"
-        
-        stream = self.outstream
-        
-        # SEQUENCE_NUMBER = 0x00 (00 02 ss ss (seq-number))
-        if meta_type == SEQUENCE_NUMBER:
-            number = readBew(data)
-            stream.sequence_number(number)
-        
-        # TEXT = 0x01 (01 len text...)
-        elif meta_type == TEXT:
-            stream.text(data)
-        
-        # COPYRIGHT = 0x02 (02 len text...)
-        elif meta_type == COPYRIGHT:
-            stream.copyright(data)
-        
-        # SEQUENCE_NAME = 0x03 (03 len text...)
-        elif meta_type == SEQUENCE_NAME:
-            stream.sequence_name(data)
-        
-        # INSTRUMENT_NAME = 0x04 (04 len text...)
-        elif meta_type == INSTRUMENT_NAME:
-            stream.instrument_name(data)
-        
-        # LYRIC = 0x05 (05 len text...)
-        elif meta_type == LYRIC:
-            stream.lyric(data)
-        
-        # MARKER = 0x06 (06 len text...)
-        elif meta_type == MARKER:
-            stream.marker(data)
-        
-        # CUEPOINT = 0x07 (07 len text...)
-        elif meta_type == CUEPOINT:
-            stream.cuepoint(data)
-        
-        # PROGRAM_NAME = 0x08 (05 len text...)
-        elif meta_type == PROGRAM_NAME:
-            stream.program_name(data)
-        
-        # DEVICE_NAME = 0x09 (09 len text...)
-        elif meta_type == DEVICE_NAME:
-            stream.device_name(data)
-        
-        # MIDI_CH_PREFIX = 0x20 (20 01 channel)
-        elif meta_type == MIDI_CH_PREFIX:
-            channel = readBew(data)
-            stream.midi_ch_prefix(channel)
-        
-        # MIDI_PORT  = 0x21 (21 01 port (legacy stuff))
-        elif meta_type == MIDI_PORT:
-            port = readBew(data)
-            stream.midi_port(port)
-        
-        # END_OFF_TRACK = 0x2F (2F 00)
-        elif meta_type == END_OF_TRACK:
-            stream.end_of_track()
-        
-        # TEMPO = 0x51 (51 03 tt tt tt (tempo in us/quarternote))
-        elif meta_type == TEMPO:
-            b1, b2, b3 = toBytes(data)
-            # uses 3 bytes to represent time between quarter 
-            # notes in microseconds
-            stream.tempo((b1<<16) + (b2<<8) + b3)
-        
-        # SMTP_OFFSET = 0x54 (54 05 hh mm ss ff xx)
-        elif meta_type == SMTP_OFFSET:
-            hour, minute, second, frame, framePart = toBytes(data)
-            stream.smtp_offset(
-                    hour, minute, second, frame, framePart)
-        
-        # TIME_SIGNATURE = 0x58 (58 04 nn dd cc bb)
-        elif meta_type == TIME_SIGNATURE:
-            nn, dd, cc, bb = toBytes(data)
-            stream.time_signature(nn, dd, cc, bb)
-        
-        # KEY_SIGNATURE = 0x59 (59 02 sf mi)
-        elif meta_type == KEY_SIGNATURE:
-            sf, mi = toBytes(data)
-            stream.key_signature(sf, mi)
-        
-        # SPECIFIC = 0x7F (Sequencer specific event)
-        elif meta_type == SPECIFIC:
-            meta_data = toBytes(data)
-            stream.sequencer_specific(meta_data)
-        
-        # Handles any undefined meta events
-        else: # undefined meta type
-            meta_data = toBytes(data)
-            stream.meta_event(meta_type, meta_data)
-
-
-
-
-
-if __name__ == '__main__':
-
-
-    from MidiToText import MidiToText
-    
-    outstream = MidiToText()
-    dispatcher = EventDispatcher(outstream)
-    dispatcher.channel_messages(NOTE_ON, 0x00, '\x40\x40')
\ No newline at end of file
diff --git a/src/mxmMidi/MidiFileParser.py b/src/mxmMidi/MidiFileParser.py
deleted file mode 100644
index 2b447bc..0000000
--- a/src/mxmMidi/MidiFileParser.py
+++ /dev/null
@@ -1,192 +0,0 @@
-# -*- coding: ISO-8859-1 -*-
-
-# std library
-from struct import unpack
-
-# uhh I don't really like this, but there are so many constants to 
-# import otherwise
-from constants import *
-
-from EventDispatcher import EventDispatcher
-
-class MidiFileParser:
-
-    """
-    
-    The MidiFileParser is the lowest level parser that see the data as 
-    midi data. It generates events that gets triggered on the outstream.
-    
-    """
-
-    def __init__(self, raw_in, outstream):
-
-        """
-        raw_data is the raw content of a midi file as a string.
-        """
-
-        # internal values, don't mess with 'em directly
-        self.raw_in = raw_in
-        self.dispatch = EventDispatcher(outstream)
-
-        # Used to keep track of stuff
-        self._running_status = None
-
-
-
-
-    def parseMThdChunk(self):
-        
-        "Parses the header chunk"
-        
-        raw_in = self.raw_in
-
-        header_chunk_type = raw_in.nextSlice(4)
-        header_chunk_zise = raw_in.readBew(4)
-
-        # check if it is a proper midi file
-        if header_chunk_type != 'MThd':
-            raise TypeError, "It is not a valid midi file!"
-
-        # Header values are at fixed locations, so no reason to be clever
-        self.format = raw_in.readBew(2)
-        self.nTracks = raw_in.readBew(2)
-        self.division = raw_in.readBew(2)
-        
-        # Theoretically a header larger than 6 bytes can exist
-        # but no one has seen one in the wild
-        # But correctly ignore unknown data if it is though
-        if header_chunk_zise > 6:
-            raw_in.moveCursor(header_chunk_zise-6)
-
-        # call the header event handler on the stream
-        self.dispatch.header(self.format, self.nTracks, self.division)
-
-
-
-    def parseMTrkChunk(self):
-        
-        "Parses a track chunk. This is the most important part of the parser."
-        
-        # set time to 0 at start of a track
-        self.dispatch.reset_time()
-        
-        dispatch = self.dispatch
-        raw_in = self.raw_in
-        
-        # Trigger event at the start of a track
-        dispatch.start_of_track(self._current_track)
-        # position cursor after track header
-        raw_in.moveCursor(4)
-        # unsigned long is 4 bytes
-        tracklength = raw_in.readBew(4)
-        track_endposition = raw_in.getCursor() + tracklength # absolute position!
-
-        while raw_in.getCursor() < track_endposition:
-        
-            # find relative time of the event
-            time = raw_in.readVarLen()
-            dispatch.update_time(time)
-            
-            # be aware of running status!!!!
-            peak_ahead = raw_in.readBew(move_cursor=0)
-            if (peak_ahead & 0x80): 
-                # the status byte has the high bit set, so it
-                # was not running data but proper status byte
-                status = self._running_status = raw_in.readBew()
-            else:
-                # use that darn running status
-                status = self._running_status
-                # could it be illegal data ?? Do we need to test for that?
-                # I need more example midi files to be shure.
-                
-                # Also, while I am almost certain that no realtime 
-                # messages will pop up in a midi file, I might need to 
-                # change my mind later.
-
-            # we need to look at nibbles here
-            hi_nible, lo_nible = status & 0xF0, status & 0x0F
-            
-            # match up with events
-
-            # Is it a meta_event ??
-            # these only exists in midi files, not in transmitted midi data
-            # In transmitted data META_EVENT (0xFF) is a system reset
-            if status == META_EVENT:
-                meta_type = raw_in.readBew()
-                meta_length = raw_in.readVarLen()
-                meta_data = raw_in.nextSlice(meta_length)
-                dispatch.meta_event(meta_type, meta_data)
-
-
-            # Is it a sysex_event ??
-            elif status == SYSTEM_EXCLUSIVE:
-                # ignore sysex events
-                sysex_length = raw_in.readVarLen()
-                # don't read sysex terminator
-                sysex_data = raw_in.nextSlice(sysex_length-1)
-                # only read last data byte if it is a sysex terminator
-                # It should allways be there, but better safe than sorry
-                if raw_in.readBew(move_cursor=0) == END_OFF_EXCLUSIVE:
-                    eo_sysex = raw_in.readBew()
-                dispatch.sysex_event(sysex_data)
-                # the sysex code has not been properly tested, and might be fishy!
-
-
-            # is it a system common event?
-            elif hi_nible == 0xF0: # Hi bits are set then
-                data_sizes = {
-                    MTC:1,
-                    SONG_POSITION_POINTER:2,
-                    SONG_SELECT:1,
-                }
-                data_size = data_sizes.get(hi_nible, 0)
-                common_data = raw_in.nextSlice(data_size)
-                common_type = lo_nible
-                dispatch.system_common(common_type, common_data)
-            
-
-            # Oh! Then it must be a midi event (channel voice message)
-            else:
-                data_sizes = {
-                    PATCH_CHANGE:1,
-                    CHANNEL_PRESSURE:1,
-                    NOTE_OFF:2,
-                    NOTE_ON:2,
-                    AFTERTOUCH:2,
-                    CONTINUOUS_CONTROLLER:2,
-                    PITCH_BEND:2,
-                }
-                data_size = data_sizes.get(hi_nible, 0)
-                channel_data = raw_in.nextSlice(data_size)
-                event_type, channel = hi_nible, lo_nible
-                dispatch.channel_messages(event_type, channel, channel_data)
-
-
-    def parseMTrkChunks(self):
-        "Parses all track chunks."
-        for t in range(self.nTracks):
-            self._current_track = t
-            self.parseMTrkChunk() # this is where it's at!
-        self.dispatch.eof()
-
-
-
-if __name__ == '__main__':
-
-    # get data
-    test_file = 'test/midifiles/minimal.mid'
-    test_file = 'test/midifiles/cubase-minimal.mid'
-    test_file = 'test/midifiles/Lola.mid'
-#    f = open(test_file, 'rb')
-#    raw_data = f.read()
-#    f.close()
-#    
-#    
-#    # do parsing
-    from MidiToText import MidiToText
-    from RawInstreamFile import RawInstreamFile
-
-    midi_in = MidiFileParser(RawInstreamFile(test_file), MidiToText())
-    midi_in.parseMThdChunk()
-    midi_in.parseMTrkChunks()
-    
\ No newline at end of file
diff --git a/src/mxmMidi/MidiInFile.py b/src/mxmMidi/MidiInFile.py
deleted file mode 100644
index 57f4c7e..0000000
--- a/src/mxmMidi/MidiInFile.py
+++ /dev/null
@@ -1,55 +0,0 @@
-# -*- coding: ISO-8859-1 -*-
-
-from RawInstreamFile import RawInstreamFile
-from MidiFileParser import MidiFileParser
-
-
-class MidiInFile:
-
-    """
-    
-    Parses a midi file, and triggers the midi events on the outStream 
-    object.
-    
-    Get example data from a minimal midi file, generated with cubase.
-    >>> test_file = 'C:/Documents and Settings/maxm/Desktop/temp/midi/src/midi/tests/midifiles/minimal-cubase-type0.mid'
-    
-    Do parsing, and generate events with MidiToText,
-    so we can see what a minimal midi file contains
-    >>> from MidiToText import MidiToText
-    >>> midi_in = MidiInFile(MidiToText(), test_file)
-    >>> midi_in.read()
-    format: 0, nTracks: 1, division: 480
-    ----------------------------------
-    <BLANKLINE>
-    Start - track #0
-    sequence_name: Type 0
-    tempo: 500000
-    time_signature: 4 2 24 8
-    note_on  - ch:00,  note:48,  vel:64 time:0
-    note_off - ch:00,  note:48,  vel:40 time:480
-    End of track
-    <BLANKLINE>
-    End of file
-    
-    
-    """
-
-    def __init__(self, outStream, infile):
-        # these could also have been mixins, would that be better? Nah!
-        self.raw_in = RawInstreamFile(infile)
-        self.parser = MidiFileParser(self.raw_in, outStream)
-
-
-    def read(self):
-        "Start parsing the file"
-        p = self.parser
-        p.parseMThdChunk()
-        p.parseMTrkChunks()
-
-
-    def setData(self, data=''):
-        "Sets the data from a plain string"
-        self.raw_in.setData(data)
-    
-    
diff --git a/src/mxmMidi/MidiInStream.py b/src/mxmMidi/MidiInStream.py
deleted file mode 100644
index 22f7e09..0000000
--- a/src/mxmMidi/MidiInStream.py
+++ /dev/null
@@ -1,52 +0,0 @@
-# -*- coding: ISO-8859-1 -*-
-
-from MidiOutStream import MidiOutStream
-
-class MidiInStream:
-
-    """
-    Takes midi events from the midi input and calls the apropriate
-    method in the eventhandler object
-    """
-
-    def __init__(self, midiOutStream, device):
-
-        """
-
-        Sets a default output stream, and sets the device from where
-        the input comes
-
-        """
-
-        if midiOutStream is None:
-            self.midiOutStream = MidiOutStream()
-        else:
-            self.midiOutStream = midiOutStream
-
-
-    def close(self):
-
-        """
-        Stop the MidiInstream
-        """
-
-
-    def read(self, time=0):
-
-        """
-
-        Start the MidiInstream.
-
-        "time" sets timer to specific start value.
-
-        """
-
-
-    def resetTimer(self, time=0):
-        """
-
-        Resets the timer, probably a good idea if there is some kind
-        of looping going on
-
-        """
-
diff --git a/src/mxmMidi/MidiOutFile.py b/src/mxmMidi/MidiOutFile.py
deleted file mode 100644
index a39bc9f..0000000
--- a/src/mxmMidi/MidiOutFile.py
+++ /dev/null
@@ -1,448 +0,0 @@
-# -*- coding: ISO-8859-1 -*-
-
-from MidiOutStream import MidiOutStream
-from RawOutstreamFile import RawOutstreamFile
-
-from constants import *
-from DataTypeConverters import fromBytes, writeVar
-
-class MidiOutFile(MidiOutStream):
-
-
-    """
-    MidiOutFile is an eventhandler that subclasses MidiOutStream.
-    """
-
-
-    def __init__(self, raw_out=''):
-
-        self.raw_out = RawOutstreamFile(raw_out)
-        MidiOutStream.__init__(self)
-        
-    
-    def write(self):
-        self.raw_out.write()
-
-
-    def event_slice(self, slc):
-        """
-        Writes the slice of an event to the current track. Correctly 
-        inserting a varlen timestamp too.
-        """
-        trk = self._current_track_buffer
-        trk.writeVarLen(self.rel_time())
-        trk.writeSlice(slc)
-        
-    
-    #####################
-    ## Midi events
-
-
-    def note_on(self, channel=0, note=0x40, velocity=0x40):
-
-        """
-        channel: 0-15
-        note, velocity: 0-127
-        """
-        slc = fromBytes([NOTE_ON + channel, note, velocity])
-        self.event_slice(slc)
-
-
-    def note_off(self, channel=0, note=0x40, velocity=0x40):
-
-        """
-        channel: 0-15
-        note, velocity: 0-127
-        """
-        slc = fromBytes([NOTE_OFF + channel, note, velocity])
-        self.event_slice(slc)
-
-
-    def aftertouch(self, channel=0, note=0x40, velocity=0x40):
-
-        """
-        channel: 0-15
-        note, velocity: 0-127
-        """
-        slc = fromBytes([AFTERTOUCH + channel, note, velocity])
-        self.event_slice(slc)
-
-
-    def continuous_controller(self, channel, controller, value):
-
-        """
-        channel: 0-15
-        controller, value: 0-127
-        """
-        slc = fromBytes([CONTINUOUS_CONTROLLER + channel, controller, value])
-        self.event_slice(slc)
-        # These should probably be implemented
-        # http://users.argonet.co.uk/users/lenny/midi/tech/spec.html#ctrlnums
-
-
-    def patch_change(self, channel, patch):
-
-        """
-        channel: 0-15
-        patch: 0-127
-        """
-        slc = fromBytes([PATCH_CHANGE + channel, patch])
-        self.event_slice(slc)
-
-
-    def channel_pressure(self, channel, pressure):
-
-        """
-        channel: 0-15
-        pressure: 0-127
-        """
-        slc = fromBytes([CHANNEL_PRESSURE + channel, pressure])
-        self.event_slice(slc)
-
-
-    def pitch_bend(self, channel, value):
-
-        """
-        channel: 0-15
-        value: 0-16383
-        """
-        msb = (value>>7) & 0xFF
-        lsb = value & 0xFF
-        slc = fromBytes([PITCH_BEND + channel, msb, lsb])
-        self.event_slice(slc)
-
-
-
-
-    #####################
-    ## System Exclusive
-
-#    def sysex_slice(sysex_type, data):
-#        ""
-#        sysex_len = writeVar(len(data)+1)
-#        self.event_slice(SYSTEM_EXCLUSIVE + sysex_len + data + END_OFF_EXCLUSIVE)
-#
-    def system_exclusive(self, data):
-
-        """
-        data: list of values in range(128)
-        """
-        sysex_len = writeVar(len(data)+1)
-        self.event_slice(chr(SYSTEM_EXCLUSIVE) + sysex_len + data + chr(END_OFF_EXCLUSIVE))
-
-
-    #####################
-    ## Common events
-
-    def midi_time_code(self, msg_type, values):
-        """
-        msg_type: 0-7
-        values: 0-15
-        """
-        value = (msg_type<<4) + values
-        self.event_slice(fromBytes([MIDI_TIME_CODE, value]))
-
-
-    def song_position_pointer(self, value):
-
-        """
-        value: 0-16383
-        """
-        lsb = (value & 0x7F)
-        msb = (value >> 7) & 0x7F
-        self.event_slice(fromBytes([SONG_POSITION_POINTER, lsb, msb]))
-
-
-    def song_select(self, songNumber):
-
-        """
-        songNumber: 0-127
-        """
-        self.event_slice(fromBytes([SONG_SELECT, songNumber]))
-
-
-    def tuning_request(self):
-
-        """
-        No values passed
-        """
-        self.event_slice(chr(TUNING_REQUEST))
-
-            
-    #########################
-    # header does not really belong here. But anyhoo!!!
-    
-    def header(self, format=0, nTracks=1, division=96):
-
-        """
-        format: type of midi file in [0,1,2]
-        nTracks: number of tracks. 1 track for type 0 file
-        division: timing division ie. 96 ppq.
-        
-        """        
-        raw = self.raw_out
-        raw.writeSlice('MThd')
-        bew = raw.writeBew
-        bew(6, 4) # header size
-        bew(format, 2)
-        bew(nTracks, 2)
-        bew(division, 2)
-
-
-    def eof(self):
-
-        """
-        End of file. No more events to be processed.
-        """
-        # just write the file then.
-        self.write()
-
-
-    #####################
-    ## meta events
-
-
-    def meta_slice(self, meta_type, data_slice):
-        "Writes a meta event"
-        slc = fromBytes([META_EVENT, meta_type]) + \
-                         writeVar(len(data_slice)) +  data_slice
-        self.event_slice(slc)
-
-
-    def meta_event(self, meta_type, data):
-        """
-        Handles any undefined meta events
-        """
-        self.meta_slice(meta_type, fromBytes(data))
-
-
-    def start_of_track(self, n_track=0):
-        """
-        n_track: number of track
-        """
-        self._current_track_buffer = RawOutstreamFile()
-        self.reset_time()
-        self._current_track += 1
-
-
-    def end_of_track(self):
-        """
-        Writes the track to the buffer.
-        """
-        raw = self.raw_out
-        raw.writeSlice(TRACK_HEADER)
-        track_data = self._current_track_buffer.getvalue()
-        # wee need to know size of track data.
-        eot_slice = writeVar(self.rel_time()) + fromBytes([META_EVENT, END_OF_TRACK, 0])
-        raw.writeBew(len(track_data)+len(eot_slice), 4)
-        # then write
-        raw.writeSlice(track_data)
-        raw.writeSlice(eot_slice)
-        
-
-
-    def sequence_number(self, value):
-
-        """
-        value: 0-65535
-        """
-        self.meta_slice(meta_type, writeBew(value, 2))
-
-
-    def text(self, text):
-        """
-        Text event
-        text: string
-        """
-        self.meta_slice(TEXT, text)
-
-
-    def copyright(self, text):
-
-        """
-        Copyright notice
-        text: string
-        """
-        self.meta_slice(COPYRIGHT, text)
-
-
-    def sequence_name(self, text):
-        """
-        Sequence/track name
-        text: string
-        """
-        self.meta_slice(SEQUENCE_NAME, text)
-
-
-    def instrument_name(self, text):
-
-        """
-        text: string
-        """
-        self.meta_slice(INSTRUMENT_NAME, text)
-
-
-    def lyric(self, text):
-
-        """
-        text: string
-        """
-        self.meta_slice(LYRIC, text)
-
-
-    def marker(self, text):
-
-        """
-        text: string
-        """
-        self.meta_slice(MARKER, text)
-
-
-    def cuepoint(self, text):
-
-        """
-        text: string
-        """
-        self.meta_slice(CUEPOINT, text)
-
-
-    def midi_ch_prefix(self, channel):
-
-        """
-        channel: midi channel for subsequent data
-        (deprecated in the spec)
-        """
-        self.meta_slice(MIDI_CH_PREFIX, chr(channel))
-
-
-    def midi_port(self, value):
-
-        """
-        value: Midi port (deprecated in the spec)
-        """
-        self.meta_slice(MIDI_CH_PREFIX, chr(value))
-
-
-    def tempo(self, value):
-
-        """
-        value: 0-2097151
-        tempo in us/quarternote
-        (to calculate value from bpm: int(60,000,000.00 / BPM))
-        """
-        hb, mb, lb = (value>>16 & 0xff), (value>>8 & 0xff), (value & 0xff)
-        self.meta_slice(TEMPO, fromBytes([hb, mb, lb]))
-
-
-    def smtp_offset(self, hour, minute, second, frame, framePart):
-
-        """
-        hour,
-        minute,
-        second: 3 bytes specifying the hour (0-23), minutes (0-59) and 
-                seconds (0-59), respectively. The hour should be 
-                encoded with the SMPTE format, just as it is in MIDI 
-                Time Code.
-        frame: A byte specifying the number of frames per second (one 
-               of : 24, 25, 29, 30).
-        framePart: A byte specifying the number of fractional frames, 
-                   in 100ths of a frame (even in SMPTE-based tracks 
-                   using a different frame subdivision, defined in the 
-                   MThd chunk).
-        """
-        self.meta_slice(SMTP_OFFSET, fromBytes([hour, minute, second, frame, framePart]))
-
-
-
-    def time_signature(self, nn, dd, cc, bb):
-
-        """
-        nn: Numerator of the signature as notated on sheet music
-        dd: Denominator of the signature as notated on sheet music
-            The denominator is a negative power of 2: 2 = quarter 
-            note, 3 = eighth, etc.
-        cc: The number of MIDI clocks in a metronome click
-        bb: The number of notated 32nd notes in a MIDI quarter note 
-            (24 MIDI clocks)        
-        """
-        self.meta_slice(TIME_SIGNATURE, fromBytes([nn, dd, cc, bb]))
-
-
-
-
-    def key_signature(self, sf, mi):
-
-        """
-        sf: is a byte specifying the number of flats (-ve) or sharps 
-            (+ve) that identifies the key signature (-7 = 7 flats, -1 
-            = 1 flat, 0 = key of C, 1 = 1 sharp, etc).
-        mi: is a byte specifying a major (0) or minor (1) key.
-        """
-        self.meta_slice(KEY_SIGNATURE, fromBytes([sf, mi]))
-
-
-
-    def sequencer_specific(self, data):
-
-        """
-        data: The data as byte values
-        """
-        self.meta_slice(SEQUENCER_SPECIFIC, data)
-
-
-
-
-
-#    #####################
-#    ## realtime events
-
-#    These are of no use in a midi file, so they are ignored!!!
-
-#    def timing_clock(self):
-#    def song_start(self):
-#    def song_stop(self):
-#    def song_continue(self):
-#    def active_sensing(self):
-#    def system_reset(self):
-
-
-
-if __name__ == '__main__':
-
-    out_file = 'test/midifiles/midiout.mid'
-    midi = MidiOutFile(out_file)
-
-#format: 0, nTracks: 1, division: 480
-#----------------------------------
-#
-#Start - track #0
-#sequence_name: Type 0
-#tempo: 500000
-#time_signature: 4 2 24 8
-#note_on  - ch:00,  note:48,  vel:64 time:0
-#note_off - ch:00,  note:48,  vel:40 time:480
-#End of track
-#
-#End of file
-
-
-    midi.header(0, 1, 480)
-    
-    midi.start_of_track()
-    midi.sequence_name('Type 0')
-    midi.tempo(750000)
-    midi.time_signature(4, 2, 24, 8)
-    ch = 0
-    for i in range(127):
-        midi.note_on(ch, i, 0x64)
-        midi.update_time(96)
-        midi.note_off(ch, i, 0x40)
-        midi.update_time(0)
-    
-    midi.update_time(0)
-    midi.end_of_track()
-    
-    midi.eof() # currently optional, should it do the write instead of write??
-
-
-    midi.write()
\ No newline at end of file
diff --git a/src/mxmMidi/MidiOutStream.py b/src/mxmMidi/MidiOutStream.py
deleted file mode 100644
index c128fa6..0000000
--- a/src/mxmMidi/MidiOutStream.py
+++ /dev/null
@@ -1,471 +0,0 @@
-# -*- coding: ISO-8859-1 -*-
-
-class MidiOutStream:
-
-
-    """
-
-    MidiOutstream is Basically an eventhandler. It is the most central
-    class in the Midi library. You use it both for writing events to
-    an output stream, and as an event handler for an input stream.
-
-    This makes it extremely easy to take input from one stream and
-    send it to another. Ie. if you want to read a Midi file, do some
-    processing, and send it to a midiport.
-
-    All time values are in absolute values from the opening of a
-    stream. To calculate time values, please use the MidiTime and
-    MidiDeltaTime classes.
-
-    """
-
-    def __init__(self):
-        
-        # the time is rather global, so it needs to be stored 
-        # here. Otherwise there would be no really simple way to 
-        # calculate it. The alternative would be to have each event 
-        # handler do it. That sucks even worse!
-        self._absolute_time = 0
-        self._relative_time = 0
-        self._current_track = 0
-        self._running_status = None
-
-    # time handling event handlers. They should be overwritten with care
-
-    def update_time(self, new_time=0, relative=1):
-        """
-        Updates the time, if relative is true, new_time is relative, 
-        else it's absolute.
-        """
-        if relative:
-            self._relative_time = new_time
-            self._absolute_time += new_time
-        else:
-            self._relative_time = new_time - self._absolute_time
-            self._absolute_time = new_time
-
-    def reset_time(self):
-        """
-        reset time to 0
-        """
-        self._relative_time = 0
-        self._absolute_time = 0
-        
-    def rel_time(self):
-        "Returns the relative time"
-        return self._relative_time
-
-    def abs_time(self):
-        "Returns the absolute time"
-        return self._absolute_time
-
-    # running status methods
-    
-    def reset_run_stat(self):
-        "Invalidates the running status"
-        self._running_status = None
-
-    def set_run_stat(self, new_status):
-        "Set the new running status"
-        self._running_status = new_status
-
-    def get_run_stat(self):
-        "Set the new running status"
-        return self._running_status
-
-    # track handling event handlers
-    
-    def set_current_track(self, new_track):
-        "Sets the current track number"
-        self._current_track = new_track
-    
-    def get_current_track(self):
-        "Returns the current track number"
-        return self._current_track
-    
-    
-    #####################
-    ## Midi events
-
-
-    def channel_message(self, message_type, channel, data):
-        """The default event handler for channel messages"""
-        pass
-
-
-    def note_on(self, channel=0, note=0x40, velocity=0x40):
-
-        """
-        channel: 0-15
-        note, velocity: 0-127
-        """
-        pass
-
-
-    def note_off(self, channel=0, note=0x40, velocity=0x40):
-
-        """
-        channel: 0-15
-        note, velocity: 0-127
-        """
-        pass
-
-
-    def aftertouch(self, channel=0, note=0x40, velocity=0x40):
-
-        """
-        channel: 0-15
-        note, velocity: 0-127
-        """
-        pass
-
-
-    def continuous_controller(self, channel, controller, value):
-
-        """
-        channel: 0-15
-        controller, value: 0-127
-        """
-        pass
-
-
-    def patch_change(self, channel, patch):
-
-        """
-        channel: 0-15
-        patch: 0-127
-        """
-        pass
-
-
-    def channel_pressure(self, channel, pressure):
-
-        """
-        channel: 0-15
-        pressure: 0-127
-        """
-        pass
-
-
-    def pitch_bend(self, channel, value):
-
-        """
-        channel: 0-15
-        value: 0-16383
-
-        """
-        pass
-
-
-
-
-    #####################
-    ## System Exclusive
-
-    def system_exclusive(self, data):
-
-        """
-        data: list of values in range(128)
-        """
-        pass
-
-
-    #####################
-    ## Common events
-
-    def song_position_pointer(self, value):
-
-        """
-        value: 0-16383
-        """
-        pass
-
-
-    def song_select(self, songNumber):
-
-        """
-        songNumber: 0-127
-        """
-        pass
-
-
-    def tuning_request(self):
-
-        """
-        No values passed
-        """
-        pass
-
-            
-    def midi_time_code(self, msg_type, values):
-        """
-        msg_type: 0-7
-        values: 0-15
-        """
-        pass
-
-
-    #########################
-    # header does not really belong here. But anyhoo!!!
-    
-    def header(self, format=0, nTracks=1, division=96):
-
-        """
-        format: type of midi file in [1,2]
-        nTracks: number of tracks
-        division: timing division
-        """
-        pass
-
-
-    def eof(self):
-
-        """
-        End of file. No more events to be processed.
-        """
-        pass
-
-
-    #####################
-    ## meta events
-
-
-    def meta_event(self, meta_type, data):
-        
-        """
-        Handles any undefined meta events
-        """
-        pass
-
-
-    def start_of_track(self, n_track=0):
-
-        """
-        n_track: number of track
-        """
-        pass
-
-
-    def end_of_track(self):
-
-        """
-        n_track: number of track
-        """
-        pass
-
-
-    def sequence_number(self, value):
-
-        """
-        value: 0-16383
-        """
-        pass
-
-
-    def text(self, text):
-
-        """
-        Text event
-        text: string
-        """
-        pass
-
-
-    def copyright(self, text):
-
-        """
-        Copyright notice
-        text: string
-        """
-        pass
-
-
-    def sequence_name(self, text):
-
-        """
-        Sequence/track name
-        text: string
-        """
-        pass
-
-
-    def instrument_name(self, text):
-
-        """
-        text: string
-        """
-        pass
-
-
-    def lyric(self, text):
-
-        """
-        text: string
-        """
-        pass
-
-
-    def marker(self, text):
-
-        """
-        text: string
-        """
-        pass
-
-
-    def cuepoint(self, text):
-
-        """
-        text: string
-        """
-        pass
-
-
-    def midi_ch_prefix(self, channel):
-
-        """
-        channel: midi channel for subsequent data (deprecated in the spec)
-        """
-        pass
-
-
-    def midi_port(self, value):
-
-        """
-        value: Midi port (deprecated in the spec)
-        """
-        pass
-
-
-    def tempo(self, value):
-
-        """
-        value: 0-2097151
-        tempo in us/quarternote
-        (to calculate value from bpm: int(60,000,000.00 / BPM))
-        """
-        pass
-
-
-    def smtp_offset(self, hour, minute, second, frame, framePart):
-
-        """
-        hour,
-        minute,
-        second: 3 bytes specifying the hour (0-23), minutes (0-59) and 
-                seconds (0-59), respectively. The hour should be 
-                encoded with the SMPTE format, just as it is in MIDI 
-                Time Code.
-        frame: A byte specifying the number of frames per second (one 
-               of : 24, 25, 29, 30).
-        framePart: A byte specifying the number of fractional frames, 
-                   in 100ths of a frame (even in SMPTE-based tracks 
-                   using a different frame subdivision, defined in the 
-                   MThd chunk).
-        """
-        pass
-
-
-
-    def time_signature(self, nn, dd, cc, bb):
-
-        """
-        nn: Numerator of the signature as notated on sheet music
-        dd: Denominator of the signature as notated on sheet music
-            The denominator is a negative power of 2: 2 = quarter 
-            note, 3 = eighth, etc.
-        cc: The number of MIDI clocks in a metronome click
-        bb: The number of notated 32nd notes in a MIDI quarter note 
-            (24 MIDI clocks)        
-        """
-        pass
-
-
-
-    def key_signature(self, sf, mi):
-
-        """
-        sf: is a byte specifying the number of flats (-ve) or sharps 
-            (+ve) that identifies the key signature (-7 = 7 flats, -1 
-            = 1 flat, 0 = key of C, 1 = 1 sharp, etc).
-        mi: is a byte specifying a major (0) or minor (1) key.
-        """
-        pass
-
-
-
-    def sequencer_specific(self, data):
-
-        """
-        data: The data as byte values
-        """
-        pass
-
-
-
-
-    #####################
-    ## realtime events
-
-    def timing_clock(self):
-
-        """
-        No values passed
-        """
-        pass
-
-
-
-    def song_start(self):
-
-        """
-        No values passed
-        """
-        pass
-
-
-
-    def song_stop(self):
-
-        """
-        No values passed
-        """
-        pass
-
-
-
-    def song_continue(self):
-
-        """
-        No values passed
-        """
-        pass
-
-
-
-    def active_sensing(self):
-
-        """
-        No values passed
-        """
-        pass
-
-
-
-    def system_reset(self):
-
-        """
-        No values passed
-        """
-        pass
-
-
-
-if __name__ == '__main__':
-
-    midiOut = MidiOutStream()
-    midiOut.update_time(0,0)
-    midiOut.note_on(0, 63, 127)
-    midiOut.note_off(0, 63, 127)
-
-    
\ No newline at end of file
diff --git a/src/mxmMidi/MidiToText.py b/src/mxmMidi/MidiToText.py
deleted file mode 100644
index 7a35ff3..0000000
--- a/src/mxmMidi/MidiToText.py
+++ /dev/null
@@ -1,184 +0,0 @@
-# -*- coding: ISO-8859-1 -*-
-
-from MidiOutStream import MidiOutStream
-class MidiToText(MidiOutStream):
-
-
-    """
-    This class renders a midi file as text. It is mostly used for debugging
-    """
-
-    #############################
-    # channel events
-    
-    def channel_message(self, message_type, channel, data):
-        """The default event handler for channel messages"""
-        print 'message_type:%X, channel:%X, data size:%X' % (message_type, channel, len(data))
-
-
-    def note_on(self, channel=0, note=0x40, velocity=0x40):
-        print 'note_on  - ch:%02X,  note:%02X,  vel:%02X time:%s' % (channel, note, velocity, self.timeInMs())
-
-    def note_off(self, channel=0, note=0x40, velocity=0x40):
-        print 'note_off - ch:%02X,  note:%02X,  vel:%02X time:%s' % (channel, note, velocity, self.abs_time())
-
-    def aftertouch(self, channel=0, note=0x40, velocity=0x40):
-        print 'aftertouch', channel, note, velocity
-
-
-    def continuous_controller(self, channel, controller, value):
-        print 'controller - ch: %02X, cont: #%02X, value: %02X' % (channel, controller, value)
-
-
-    def patch_change(self, channel, patch):
-        print 'patch_change - ch:%02X, patch:%02X' % (channel, patch)
-
-
-    def channel_pressure(self, channel, pressure):
-        print 'channel_pressure', channel, pressure
-
-
-    def pitch_bend(self, channel, value):
-        print 'pitch_bend ch:%s, value:%s' % (channel, value)
-
-
-
-    #####################
-    ## Common events
-
-
-    def system_exclusive(self, data):
-        print 'system_exclusive - data size: %s' % len(data)
-
-
-    def song_position_pointer(self, value):
-        print 'song_position_pointer: %s' % value
-
-
-    def song_select(self, songNumber):
-        print 'song_select: %s' % songNumber
-
-
-    def tuning_request(self):
-        print 'tuning_request'
-
-
-    def midi_time_code(self, msg_type, values):
-        print 'midi_time_code - msg_type: %s, values: %s' % (msg_type, values)
-
-
-
-    #########################
-    # header does not really belong here. But anyhoo!!!
-
-    def header(self, format=0, nTracks=1, division=96):
-        print 'format: %s, nTracks: %s, division: %s' % (format, nTracks, division)
-        print '----------------------------------'
-        print ''
-        print division
-        self.division = division
-
-    def eof(self):
-        print 'End of file'
-
-
-    def start_of_track(self, n_track=0):
-        print 'Start - track #%s' % n_track
-
-
-    def end_of_track(self):
-        print 'End of track'
-        print ''
-
-
-
-    ###############
-    # sysex event
-
-    def sysex_event(self, data):
-        print 'sysex_event - datasize: %X' % len(data)
-
-
-    #####################
-    ## meta events
-
-    def meta_event(self, meta_type, data):
-        print 'undefined_meta_event:', meta_type, len(data)
-
-
-    def sequence_number(self, value):
-        print 'sequence_number', value
-
-
-    def text(self, text):
-        print 'text', text
-
-
-    def copyright(self, text):
-        print 'copyright', text
-
-
-    def sequence_name(self, text):
-        print 'sequence_name:', text
-
-
-    def instrument_name(self, text):
-        print 'instrument_name:', text
-
-
-    def lyric(self, text):
-        print 'lyric', text
-
-
-    def marker(self, text):
-        print 'marker', text
-
-
-    def cuepoint(self, text):
-        print 'cuepoint', text
-
-
-    def midi_ch_prefix(self, channel):
-        print 'midi_ch_prefix', channel
-
-
-    def midi_port(self, value):
-        print 'midi_port:', value
-
-
-    def tempo(self, value):
-        print 'tempo:', value
-        self.tempo = value
-
-
-    def smtp_offset(self, hour, minute, second, frame, framePart):
-        print 'smtp_offset', hour, minute, second, frame, framePart
-
-
-    def time_signature(self, nn, dd, cc, bb):
-        print 'time_signature:', nn, dd, cc, bb
-
-
-    def key_signature(self, sf, mi):
-        print 'key_signature', sf, mi
-
-
-    def sequencer_specific(self, data):
-        print 'sequencer_specific', len(data)
-        
-    def timeInMs(self):
-        return(long(self.abs_time())*1000000000/(long(self.tempo)*long(self.division)))
-
-
-
-if __name__ == '__main__':
-
-    # get data
-    test_file = '../songs/midis/test.mid'
-    f = open(test_file, 'rb')
-    
-    # do parsing
-    from MidiInFile import MidiInFile
-    midiIn = MidiInFile(MidiToText(), f)
-    midiIn.read()
-    f.close()
diff --git a/src/mxmMidi/RawInstreamFile.py b/src/mxmMidi/RawInstreamFile.py
deleted file mode 100644
index 0c2eba6..0000000
--- a/src/mxmMidi/RawInstreamFile.py
+++ /dev/null
@@ -1,108 +0,0 @@
-# -*- coding: ISO-8859-1 -*-
-
-# standard library imports
-from types import StringType
-from struct import unpack
-
-# custom import
-from DataTypeConverters import readBew, readVar, varLen
-
-
-class RawInstreamFile:
-    
-    """
-    
-    It parses and reads data from an input file. It takes care of big 
-    endianess, and keeps track of the cursor position. The midi parser 
-    only reads from this object. Never directly from the file.
-    
-    """
-    
-    def __init__(self, infile=''):
-        """ 
-        If 'file' is a string we assume it is a path and read from 
-        that file.
-        If it is a file descriptor we read from the file, but we don't 
-        close it.
-        Midi files are usually pretty small, so it should be safe to 
-        copy them into memory.
-        """
-        if infile:
-            if isinstance(infile, StringType):
-                infile = open(infile, 'rb')
-                self.data = infile.read()
-                infile.close()
-            else:
-                # don't close the f
-                self.data = infile.read()
-        else:
-            self.data = ''
-        # start at beginning ;-)
-        self.cursor = 0
-
-
-    # setting up data manually
-    
-    def setData(self, data=''):
-        "Sets the data from a string."
-        self.data = data
-    
-    # cursor operations
-
-    def setCursor(self, position=0):
-        "Sets the absolute position if the cursor"
-        self.cursor = position
-
-
-    def getCursor(self):
-        "Returns the value of the cursor"
-        return self.cursor
-        
-        
-    def moveCursor(self, relative_position=0):
-        "Moves the cursor to a new relative position"
-        self.cursor += relative_position
-
-    # native data reading functions
-        
-    def nextSlice(self, length, move_cursor=1):
-        "Reads the next text slice from the raw data, with length"
-        c = self.cursor
-        slc = self.data[c:c+length]
-        if move_cursor:
-            self.moveCursor(length)
-        return slc
-        
-        
-    def readBew(self, n_bytes=1, move_cursor=1):
-        """
-        Reads n bytes of date from the current cursor position.
-        Moves cursor if move_cursor is true
-        """
-        return readBew(self.nextSlice(n_bytes, move_cursor))
-
-
-    def readVarLen(self):
-        """
-        Reads a variable length value from the current cursor position.
-        Moves cursor if move_cursor is true
-        """
-        MAX_VARLEN = 4 # Max value varlen can be
-        var = readVar(self.nextSlice(MAX_VARLEN, 0))
-        # only move cursor the actual bytes in varlen
-        self.moveCursor(varLen(var))
-        return var
-
-
-
-if __name__ == '__main__':
-
-    test_file = 'test/midifiles/minimal.mid'
-    fis = RawInstreamFile(test_file)
-    print fis.nextSlice(len(fis.data))
-
-    test_file = 'test/midifiles/cubase-minimal.mid'
-    cubase_minimal = open(test_file, 'rb')
-    fis2 = RawInstreamFile(cubase_minimal)
-    print fis2.nextSlice(len(fis2.data))
-    cubase_minimal.close()
diff --git a/src/mxmMidi/RawOutstreamFile.py b/src/mxmMidi/RawOutstreamFile.py
deleted file mode 100644
index 73eed31..0000000
--- a/src/mxmMidi/RawOutstreamFile.py
+++ /dev/null
@@ -1,69 +0,0 @@
-# -*- coding: ISO-8859-1 -*-
-
-# standard library imports
-import sys
-from types import StringType
-from struct import unpack
-from cStringIO import StringIO
-
-# custom import
-from DataTypeConverters import writeBew, writeVar, fromBytes
-
-class RawOutstreamFile:
-    
-    """
-    
-    Writes a midi file to disk.
-    
-    """
-
-    def __init__(self, outfile=''):
-        self.buffer = StringIO()
-        self.outfile = outfile
-
-
-    # native data reading functions
-
-
-    def writeSlice(self, str_slice):
-        "Writes the next text slice to the raw data"
-        self.buffer.write(str_slice)
-        
-        
-    def writeBew(self, value, length=1):
-        "Writes a value to the file as big endian word"
-        self.writeSlice(writeBew(value, length))
-
-
-    def writeVarLen(self, value):
-        "Writes a variable length word to the file"
-        var = self.writeSlice(writeVar(value))
-
-
-    def write(self):
-        "Writes to disc"
-        if self.outfile:
-            if isinstance(self.outfile, StringType):
-                outfile = open(self.outfile, 'wb')
-                outfile.write(self.getvalue())
-                outfile.close()
-            else:
-                self.outfile.write(self.getvalue())
-        else:
-            sys.stdout.write(self.getvalue())
-                
-    def getvalue(self):
-        return self.buffer.getvalue()
-
-
-if __name__ == '__main__':
-
-    out_file = 'test/midifiles/midiout.mid'
-    out_file = ''
-    rawOut = RawOutstreamFile(out_file)
-    rawOut.writeSlice('MThd')
-    rawOut.writeBew(6, 4)
-    rawOut.writeBew(1, 2)
-    rawOut.writeBew(2, 2)
-    rawOut.writeBew(15360, 2)
-    rawOut.write()
diff --git a/src/mxmMidi/__init__.py b/src/mxmMidi/__init__.py
deleted file mode 100644
index b2d2031..0000000
--- a/src/mxmMidi/__init__.py
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- coding: ISO-8859-1 -*-
-
-#import MidiOutStream
-#import MidiInStream
-#import MidiInFile
-#import MidiToText
\ No newline at end of file
diff --git a/src/mxmMidi/changes.txt b/src/mxmMidi/changes.txt
deleted file mode 100644
index 8b6670a..0000000
--- a/src/mxmMidi/changes.txt
+++ /dev/null
@@ -1,45 +0,0 @@
-------------------------------------------------------------------------
-r409 | maxm | 2006-01-05 16:37:29 +0100 (to, 05 jan 2006) | 1 line
-
-Made RawOutstreamFile.py write to std out if no outfile is given.
-------------------------------------------------------------------------
-r403 | maxm | 2006-01-05 13:34:11 +0100 (to, 05 jan 2006) | 1 line
-
-
-------------------------------------------------------------------------
-r402 | maxm | 2006-01-05 13:33:56 +0100 (to, 05 jan 2006) | 1 line
-
-- Fixed minor bugs, added coding headers
-------------------------------------------------------------------------
-r401 | maxm | 2006-01-01 23:09:17 +0100 (s_, 01 jan 2006) | 1 line
-
-Fixed sysex dispathcer bug.
-------------------------------------------------------------------------
-r268 | maxm | 2005-02-04 12:26:59 +0100 (fr, 04 feb 2005) | 1 line
-
-
-------------------------------------------------------------------------
-r128 | maxm | 2004-12-18 14:05:27 +0100 (l_, 18 dec 2004) | 1 line
-
-Fixed bug when using relative time
-------------------------------------------------------------------------
-r15 | maxm | 2004-03-09 15:01:41 +0100 (ti, 09 mar 2004) | 1 line
-
-made a copy to meta folder
-------------------------------------------------------------------------
-r13 | maxm | 2004-03-09 09:17:23 +0100 (ti, 09 mar 2004) | 1 line
-
-Deleted .pyc files
-------------------------------------------------------------------------
-r12 | maxm | 2004-03-09 09:15:54 +0100 (ti, 09 mar 2004) | 1 line
-
-Removed file/folder
-------------------------------------------------------------------------
-r3 | maxm | 2004-03-08 23:16:25 +0100 (ma, 08 mar 2004) | 1 line
-
-Adde midi
-------------------------------------------------------------------------
-r1 | maxm | 2004-03-08 22:49:23 +0100 (ma, 08 mar 2004) | 1 line
-
-Initial Import
-------------------------------------------------------------------------
diff --git a/src/mxmMidi/constants.py b/src/mxmMidi/constants.py
deleted file mode 100644
index 81b91bc..0000000
--- a/src/mxmMidi/constants.py
+++ /dev/null
@@ -1,210 +0,0 @@
-# -*- coding: ISO-8859-1 -*-
-
-###################################################
-## Definitions of the different midi events
-
-
-
-###################################################
-## Midi channel events (The most usual events)
-## also called "Channel Voice Messages"
-
-NOTE_OFF = 0x80
-# 1000cccc 0nnnnnnn 0vvvvvvv (channel, note, velocity)
-
-NOTE_ON = 0x90
-# 1001cccc 0nnnnnnn 0vvvvvvv (channel, note, velocity)
-
-AFTERTOUCH = 0xA0
-# 1010cccc 0nnnnnnn 0vvvvvvv (channel, note, velocity)
-
-CONTINUOUS_CONTROLLER = 0xB0 # see Channel Mode Messages!!!
-# 1011cccc 0ccccccc 0vvvvvvv (channel, controller, value)
-
-PATCH_CHANGE = 0xC0
-# 1100cccc 0ppppppp (channel, program)
-
-CHANNEL_PRESSURE = 0xD0
-# 1101cccc 0ppppppp (channel, pressure)
-
-PITCH_BEND = 0xE0
-# 1110cccc 0vvvvvvv 0wwwwwww (channel, value-lo, value-hi)
-
-
-###################################################
-##  Channel Mode Messages (Continuous Controller)
-##  They share a status byte.
-##  The controller makes the difference here
-
-# High resolution continuous controllers (MSB)
-
-BANK_SELECT = 0x00
-MODULATION_WHEEL = 0x01
-BREATH_CONTROLLER = 0x02
-FOOT_CONTROLLER = 0x04
-PORTAMENTO_TIME = 0x05
-DATA_ENTRY = 0x06
-CHANNEL_VOLUME = 0x07
-BALANCE = 0x08
-PAN = 0x0A
-EXPRESSION_CONTROLLER = 0x0B
-EFFECT_CONTROL_1 = 0x0C
-EFFECT_CONTROL_2 = 0x0D
-GEN_PURPOSE_CONTROLLER_1 = 0x10
-GEN_PURPOSE_CONTROLLER_2 = 0x11
-GEN_PURPOSE_CONTROLLER_3 = 0x12
-GEN_PURPOSE_CONTROLLER_4 = 0x13
-
-# High resolution continuous controllers (LSB)
-
-BANK_SELECT = 0x20
-MODULATION_WHEEL = 0x21
-BREATH_CONTROLLER = 0x22
-FOOT_CONTROLLER = 0x24
-PORTAMENTO_TIME = 0x25
-DATA_ENTRY = 0x26
-CHANNEL_VOLUME = 0x27
-BALANCE = 0x28
-PAN = 0x2A
-EXPRESSION_CONTROLLER = 0x2B
-EFFECT_CONTROL_1 = 0x2C
-EFFECT_CONTROL_2 = 0x2D
-GENERAL_PURPOSE_CONTROLLER_1 = 0x30
-GENERAL_PURPOSE_CONTROLLER_2 = 0x31
-GENERAL_PURPOSE_CONTROLLER_3 = 0x32
-GENERAL_PURPOSE_CONTROLLER_4 = 0x33
-
-# Switches
-
-SUSTAIN_ONOFF = 0x40
-PORTAMENTO_ONOFF = 0x41
-SOSTENUTO_ONOFF = 0x42
-SOFT_PEDAL_ONOFF = 0x43
-LEGATO_ONOFF = 0x44
-HOLD_2_ONOFF = 0x45
-
-# Low resolution continuous controllers
-
-SOUND_CONTROLLER_1 = 0x46                  # (TG: Sound Variation;   FX: Exciter On/Off)
-SOUND_CONTROLLER_2 = 0x47                  # (TG: Harmonic Content;   FX: Compressor On/Off)
-SOUND_CONTROLLER_3 = 0x48                  # (TG: Release Time;   FX: Distortion On/Off)
-SOUND_CONTROLLER_4 = 0x49                  # (TG: Attack Time;   FX: EQ On/Off)
-SOUND_CONTROLLER_5 = 0x4A                  # (TG: Brightness;   FX: Expander On/Off)75	SOUND_CONTROLLER_6   (TG: Undefined;   FX: Reverb OnOff)
-SOUND_CONTROLLER_7 = 0x4C                  # (TG: Undefined;   FX: Delay OnOff)
-SOUND_CONTROLLER_8 = 0x4D                  # (TG: Undefined;   FX: Pitch Transpose OnOff)
-SOUND_CONTROLLER_9 = 0x4E                  # (TG: Undefined;   FX: Flange/Chorus OnOff)
-SOUND_CONTROLLER_10 = 0x4F                 # (TG: Undefined;   FX: Special Effects OnOff)
-GENERAL_PURPOSE_CONTROLLER_5 = 0x50
-GENERAL_PURPOSE_CONTROLLER_6 = 0x51
-GENERAL_PURPOSE_CONTROLLER_7 = 0x52
-GENERAL_PURPOSE_CONTROLLER_8 = 0x53
-PORTAMENTO_CONTROL = 0x54                  # (PTC)   (0vvvvvvv is the source Note number)   (Detail)
-EFFECTS_1 = 0x5B                           # (Ext. Effects Depth)
-EFFECTS_2 = 0x5C                           # (Tremelo Depth)
-EFFECTS_3 = 0x5D                           # (Chorus Depth)
-EFFECTS_4 = 0x5E                           # (Celeste Depth)
-EFFECTS_5 = 0x5F                           # (Phaser Depth)
-DATA_INCREMENT = 0x60                      # (0vvvvvvv is n/a; use 0)
-DATA_DECREMENT = 0x61                      # (0vvvvvvv is n/a; use 0)
-NON_REGISTERED_PARAMETER_NUMBER = 0x62     # (LSB)
-NON_REGISTERED_PARAMETER_NUMBER = 0x63     # (MSB)
-REGISTERED_PARAMETER_NUMBER = 0x64         # (LSB)
-REGISTERED_PARAMETER_NUMBER = 0x65         # (MSB)
-
-# Channel Mode messages - (Detail)
-
-ALL_SOUND_OFF = 0x78
-RESET_ALL_CONTROLLERS = 0x79
-LOCAL_CONTROL_ONOFF = 0x7A
-ALL_NOTES_OFF = 0x7B
-OMNI_MODE_OFF = 0x7C          # (also causes ANO)
-OMNI_MODE_ON = 0x7D           # (also causes ANO)
-MONO_MODE_ON = 0x7E           # (Poly Off; also causes ANO)
-POLY_MODE_ON = 0x7F           # (Mono Off; also causes ANO)
-
-
-
-###################################################
-## System Common Messages, for all channels
-
-SYSTEM_EXCLUSIVE = 0xF0
-# 11110000 0iiiiiii 0ddddddd ... 11110111
-
-MTC = 0xF1 # MIDI Time Code Quarter Frame
-# 11110001
-
-SONG_POSITION_POINTER = 0xF2
-# 11110010 0vvvvvvv 0wwwwwww (lo-position, hi-position)
-
-SONG_SELECT = 0xF3
-# 11110011 0sssssss (songnumber)
-
-#UNDEFINED = 0xF4
-## 11110100
-
-#UNDEFINED = 0xF5
-## 11110101
-
-TUNING_REQUEST = 0xF6
-# 11110110
-
-END_OFF_EXCLUSIVE = 0xF7 # terminator
-# 11110111 # End of system exclusive
-
-
-###################################################
-## Midifile meta-events
-
-SEQUENCE_NUMBER = 0x00      # 00 02 ss ss (seq-number)
-TEXT            = 0x01      # 01 len text...
-COPYRIGHT       = 0x02      # 02 len text...
-SEQUENCE_NAME   = 0x03      # 03 len text...
-INSTRUMENT_NAME = 0x04      # 04 len text...
-LYRIC           = 0x05      # 05 len text...
-MARKER          = 0x06      # 06 len text...
-CUEPOINT        = 0x07      # 07 len text...
-PROGRAM_NAME    = 0x08      # 08 len text...
-DEVICE_NAME     = 0x09      # 09 len text...
-
-MIDI_CH_PREFIX  = 0x20      # MIDI channel prefix assignment (unofficial)
-
-MIDI_PORT       = 0x21      # 21 01 port, legacy stuff but still used
-END_OF_TRACK    = 0x2F      # 2f 00
-TEMPO           = 0x51      # 51 03 tt tt tt (tempo in us/quarternote)
-SMTP_OFFSET     = 0x54      # 54 05 hh mm ss ff xx
-TIME_SIGNATURE  = 0x58      # 58 04 nn dd cc bb
-KEY_SIGNATURE   = 0x59      # ??? len text...
-SPECIFIC        = 0x7F      # Sequencer specific event
-
-FILE_HEADER     = 'MThd'
-TRACK_HEADER    = 'MTrk'
-
-###################################################
-## System Realtime messages
-## I don't supose these are to be found in midi files?!
-
-TIMING_CLOCK   = 0xF8
-# undefined    = 0xF9
-SONG_START     = 0xFA
-SONG_CONTINUE  = 0xFB
-SONG_STOP      = 0xFC
-# undefined    = 0xFD
-ACTIVE_SENSING = 0xFE
-SYSTEM_RESET   = 0xFF
-
-
-###################################################
-## META EVENT, it is used only in midi files.
-## In transmitted data it means system reset!!!
-
-META_EVENT     = 0xFF
-# 11111111
-
-
-###################################################
-## Helper functions
-
-def is_status(byte):
-    return (byte & 0x80) == 0x80 # 1000 0000
-
-
diff --git a/src/mxmMidi/example_mimimal_type0.py b/src/mxmMidi/example_mimimal_type0.py
deleted file mode 100644
index d8d1842..0000000
--- a/src/mxmMidi/example_mimimal_type0.py
+++ /dev/null
@@ -1,29 +0,0 @@
-from MidiOutFile import MidiOutFile
-
-"""
-This is an example of the smallest possible type 0 midi file, where 
-all the midi events are in the same track.
-"""
-
-out_file = 'midiout/minimal_type0.mid'
-midi = MidiOutFile(out_file)
-
-# non optional midi framework
-midi.header()
-midi.start_of_track() 
-
-
-# musical events
-
-midi.update_time(0)
-midi.note_on(channel=0, note=0x40)
-
-midi.update_time(192)
-midi.note_off(channel=0, note=0x40)
-
-
-# non optional midi framework
-midi.update_time(0)
-midi.end_of_track()
-
-midi.eof()
diff --git a/src/mxmMidi/example_print_channel_0.py b/src/mxmMidi/example_print_channel_0.py
deleted file mode 100644
index 2dbe3e4..0000000
--- a/src/mxmMidi/example_print_channel_0.py
+++ /dev/null
@@ -1,23 +0,0 @@
-from MidiOutStream import MidiOutStream
-from MidiInFile import MidiInFile
-
-"""
-This prints all note on events on midi channel 0
-"""
-
-
-class Transposer(MidiOutStream):
-    
-    "Transposes all notes by 1 octave"
-    
-    def note_on(self, channel=0, note=0x40, velocity=0x40):
-        if channel == 0:
-            print channel, note, velocity, self.rel_time()
-
-
-event_handler = Transposer()
-
-in_file = 'midiout/minimal_type0.mid'
-midi_in = MidiInFile(event_handler, in_file)
-midi_in.read()
-
diff --git a/src/mxmMidi/example_print_events.py b/src/mxmMidi/example_print_events.py
deleted file mode 100644
index b1e27f9..0000000
--- a/src/mxmMidi/example_print_events.py
+++ /dev/null
@@ -1,28 +0,0 @@
-from MidiToText import MidiToText
-
-"""
-This is an example that uses the MidiToText eventhandler. When an 
-event is triggered on it, it prints the event to the console.
-"""
-
-midi = MidiToText()
-
-# non optional midi framework
-midi.header()
-midi.start_of_track() 
-
-
-# musical events
-
-midi.update_time(0)
-midi.note_on(channel=0, note=0x40)
-
-midi.update_time(192)
-midi.note_off(channel=0, note=0x40)
-
-
-# non optional midi framework
-midi.update_time(0)
-midi.end_of_track() # not optional!
-
-midi.eof()
diff --git a/src/mxmMidi/example_print_file.py b/src/mxmMidi/example_print_file.py
deleted file mode 100644
index 4fcd531..0000000
--- a/src/mxmMidi/example_print_file.py
+++ /dev/null
@@ -1,19 +0,0 @@
-"""
-This is an example that uses the MidiToText eventhandler. When an 
-event is triggered on it, it prints the event to the console.
-
-It gets the events from the MidiInFile.
-
-So it prints all the events from the infile to the console. great for 
-debugging :-s
-"""
-
-
-# get data
-test_file = 'test/midifiles/minimal-cubase-type0.mid'
-
-# do parsing
-from MidiInFile import MidiInFile
-from MidiToText import MidiToText # the event handler
-midiIn = MidiInFile(MidiToText(), test_file)
-midiIn.read()
diff --git a/src/mxmMidi/example_transpose_octave.py b/src/mxmMidi/example_transpose_octave.py
deleted file mode 100644
index 57dbbff..0000000
--- a/src/mxmMidi/example_transpose_octave.py
+++ /dev/null
@@ -1,40 +0,0 @@
-from MidiOutFile import MidiOutFile
-from MidiInFile import MidiInFile
-
-"""
-This is an example of the smallest possible type 0 midi file, where 
-all the midi events are in the same track.
-"""
-
-
-class Transposer(MidiOutFile):
-    
-    "Transposes all notes by 1 octave"
-    
-    def _transp(self, ch, note):
-        if ch != 9: # not the drums!
-            note += 12
-            if note > 127:
-                note = 127
-        return note
-
-
-    def note_on(self, channel=0, note=0x40, velocity=0x40):
-        note = self._transp(channel, note)
-        MidiOutFile.note_on(self, channel, note, velocity)
-        
-        
-    def note_off(self, channel=0, note=0x40, velocity=0x40):
-        note = self._transp(channel, note)
-        MidiOutFile.note_off(self, channel, note, velocity)
-
-
-out_file = 'midiout/transposed.mid'
-midi_out = Transposer(out_file)
-
-#in_file = 'midiout/minimal_type0.mid'
-#in_file = 'test/midifiles/Lola.mid'
-in_file = 'test/midifiles/tennessee_waltz.mid'
-midi_in = MidiInFile(midi_out, in_file)
-midi_in.read()
-
diff --git a/src/mxmMidi/experimental/EventDispatcherBase.py b/src/mxmMidi/experimental/EventDispatcherBase.py
deleted file mode 100644
index 71bde62..0000000
--- a/src/mxmMidi/experimental/EventDispatcherBase.py
+++ /dev/null
@@ -1,76 +0,0 @@
-class EventDispatcherBase:
-
-
-    def __init__(self, outstream):
-        """
-        The event dispatcher generates events on the outstream. This 
-        is the base implementation. It is more like an interface for 
-        how the EventDispatcher. It has the methods that are used by 
-        the Midi Parser.
-        """
-        # internal values, don't mess with 'em directly
-        self.outstream = outstream
-
-
-    def eof(self):
-        "End of file!"
-        self.outstream.eof()
-
-
-    def update_time(self, new_time=0, relative=1):
-        "Updates relative/absolute time."
-        self.outstream.update_time(new_time, relative)
-
-    # 'official' midi events
-
-    def header(self, format, nTracks, division):
-        "Triggers the header event"
-        self.outstream.header(format, nTracks, division)
-
-
-    def start_of_track(self, current_track):
-        "Triggers the start of track event"
-        
-        # I do this twice so that users can overwrite the 
-        # start_of_track event handler without worrying whether the 
-        # track number is updated correctly.
-        self.outstream.set_current_track(current_track)
-        self.outstream.start_of_track(current_track)
-
-    # Event dispatchers for midi events
-
-    def channel_messages(self, hi_nible, channel, data):
-        "Dispatches channel messages"
-        self.outstream.channel_message(hi_nible, channel, data)
-
-
-    def continuous_controllers(self, channel, controller, value):
-        "Dispatches channel messages"
-        self.outstream.continuous_controller(channel, controller, value)
-    
-    
-    def system_commons(self, common_type, common_data):
-        "Dispatches system common messages"
-        self.outstream.system_common(common_type, common_data)
-
-
-    def meta_event(self, meta_type, data):
-        "Dispatches meta events"
-        self.outstream.meta_event(meta_type, data)
-
-
-    def sysex_events(self, data):
-        "Dispatcher for sysex events"
-        self.outstream.sysex_event(data)
-
-
-
-if __name__ == '__main__':
-
-
-    from MidiToText import MidiToText
-    from constants import NOTE_ON
-    
-    outstream = MidiToText()
-    dispatcher = EventDispatcherBase(outstream)
-    dispatcher.channel_messages(NOTE_ON, 0x00, '\x40\x40')
\ No newline at end of file
diff --git a/src/mxmMidi/experimental/MidiOutPassThrough.py b/src/mxmMidi/experimental/MidiOutPassThrough.py
deleted file mode 100644
index 25ceed4..0000000
--- a/src/mxmMidi/experimental/MidiOutPassThrough.py
+++ /dev/null
@@ -1,182 +0,0 @@
-from MidiOutStream import MidiOutStream
-
-class MidiOutPassThrough(MidiOutStream):
-
-
-    """
-
-    This class i mainly used for testing the event dispatcher. The 
-    methods just returns the passed parameters as a tupple.
-
-    """
-
-
-    #####################
-    ## Midi channel events
-
-
-    def note_on(self, channel, note, velocity, time=None):
-        return channel, note, velocity, time
-
-
-    def note_off(self, channel, note, velocity, time=None):
-        return channel, note, velocity, time
-
-
-    def aftertouch(self, channel, note, velocity, time=None):
-        return channel, note, velocity, time
-
-        
-    def continuous_controller(self, channel, controller, value, time=None):
-        return channel, controller, value, time
-
-
-    def patch_change(self, channel, patch, time=None):
-        return channel, patch, time
-
-
-    def channel_pressure(self, channel, pressure, time=None):
-        return channel, pressure, time
-
-
-    #####################
-    ## defined continuous controller events
-    
-#    def cc_
-
-    #####################
-    ## Common events
-
-    def system_exclusive(self, data, time=None):
-        return data, time
-
-
-    def song_position_pointer(self, hiPos, loPos, time=None):
-        return hiPos, loPos, time
-
-
-    def song_select(self, songNumber, time=None):
-        return songNumber, time
-
-
-    def tuning_request(self, time=None):
-        return time
-
-
-
-    #########################
-    # header does not really belong here. But anyhoo!!!
-    
-    def header(self, format, nTracks, division):
-        return format, nTracks, division
-
-
-    def eof(self):
-        return 'eof'
-
-
-    #####################
-    ## meta events
-
-    def start_of_track(self, n_track=0):
-        return n_track
-
-
-    def end_of_track(self, n_track=0, time=None):
-        return n_track, time
-
-
-    def sequence_number(self, hiVal, loVal, time=None):
-        return hiVal, loVal, time
-
-
-    def text(self, text, time=None):
-        return text, time
-
-
-    def copyright(self, text, time=None):
-        return text, time
-
-
-    def sequence_name(self, text, time=None):
-        return text, time
-
-
-    def instrument_name(self, text, time=None):
-        return text, time
-
-
-    def lyric(self, text, time=None):
-        return text, time
-
-
-    def marker(self, text, time=None):
-        return text, time
-
-
-    def cuepoint(self, text, time=None):
-        return text, time
-
-
-    def midi_port(self, value, time=None):
-        return value, time
-
-
-    def tempo(self, value, time=None):
-        return value, time
-
-    def smtp_offset(self, hour, minute, second, frame, framePart, time=None):
-        return hour, minute, second, frame, framePart, time
-
-
-    def time_signature(self, nn, dd, cc, bb, time=None):
-        return nn, dd, cc, bb, time
-
-
-    def key_signature(self, sf, mi, time=None):
-        return sf, mi, time
-
-
-    def sequencer_specific(self, data, time=None):
-        return data, time
-
-
-
-
-    #####################
-    ## realtime events
-
-    def timing_clock(self, time=None):
-        return time
-
-
-    def song_start(self, time=None):
-        return time
-
-
-    def song_stop(self, time=None):
-        return time
-
-
-    def song_continue(self, time=None):
-        return time
-
-
-    def active_sensing(self, time=None):
-        return time
-
-
-    def system_reset(self, time=None):
-        return time
-
-
-
-
-
-if __name__ == '__main__':
-
-    midiOut = MidiOutStream()
-    midiOut.note_on(0, 63, 127, 0)
-    midiOut.note_off(0, 63, 127, 384)
-
-    
\ No newline at end of file
diff --git a/src/mxmMidi/experimental/MidiOutStreamBase.py b/src/mxmMidi/experimental/MidiOutStreamBase.py
deleted file mode 100644
index 1abada0..0000000
--- a/src/mxmMidi/experimental/MidiOutStreamBase.py
+++ /dev/null
@@ -1,135 +0,0 @@
-class MidiOutStreamBase:
-
-
-    """
-
-    MidiOutStreamBase is Basically an eventhandler. It is the most central
-    class in the Midi library. You use it both for writing events to
-    an output stream, and as an event handler for an input stream.
-
-    This makes it extremely easy to take input from one stream and
-    send it to another. Ie. if you want to read a Midi file, do some
-    processing, and send it to a midiport.
-
-    All time values are in absolute values from the opening of a
-    stream. To calculate time values, please use the MidiTime and
-    MidiDeltaTime classes.
-
-    """
-
-    def __init__(self):
-        
-        # the time is rather global, so it needs to be stored 
-        # here. Otherwise there would be no really simple way to 
-        # calculate it. The alternative would be to have each event 
-        # handler do it. That sucks even worse!
-        self._absolute_time = 0
-        self._relative_time = 0
-        self._current_track = 0
-
-    # time handling event handlers. They should overwritten with care
-
-    def update_time(self, new_time=0, relative=1):
-        """
-        Updates the time, if relative is true, new_time is relative, 
-        else it's absolute.
-        """
-        if relative:
-            self._relative_time = new_time
-            self._absolute_time += new_time
-        else:
-            self._absolute_time = new_time
-            self._relative_time = new_time - self._absolute_time
-
-    def rel_time(self):
-        "Returns the relative time"
-        return self._relative_time
-
-    def abs_time(self):
-        "Returns the absolute time"
-        return self._absolute_time
-
-    # track handling event handlers
-    
-    def set_current_track(self, new_track):
-        "Sets the current track number"
-        self._current_track = new_track
-    
-    def get_current_track(self):
-        "Returns the current track number"
-        return self._current_track
-    
-    
-    #####################
-    ## Midi events
-
-
-    def channel_message(self, message_type, channel, data):
-        """The default event handler for channel messages"""
-        pass
-
-
-    #####################
-    ## Common events
-
-    def system_exclusive(self, data):
-
-        """The default event handler for system_exclusive messages"""
-        pass
-
-
-    def system_common(self, common_type, common_data):
-
-        """The default event handler for system common messages"""
-        pass
-
-
-    #########################
-    # header does not really belong here. But anyhoo!!!
-    
-    def header(self, format, nTracks, division):
-
-        """
-        format: type of midi file in [1,2]
-        nTracks: number of tracks
-        division: timing division
-        """
-        pass
-
-
-    def start_of_track(self, n_track=0):
-
-        """
-        n_track: number of track
-        """
-        pass
-
-
-    def eof(self):
-
-        """
-        End of file. No more events to be processed.
-        """
-        pass
-
-
-    #####################
-    ## meta events
-
-
-    def meta_event(self, meta_type, data, time):
-        
-        """The default event handler for meta_events"""
-        pass
-
-
-
-
-if __name__ == '__main__':
-
-    midiOut = MidiOutStreamBase()
-    midiOut.update_time(0,0)
-    midiOut.note_on(0, 63, 127)
-    midiOut.note_off(0, 63, 127)
-
-    
\ No newline at end of file
diff --git a/src/mxmMidi/experimental/readme.txt b/src/mxmMidi/experimental/readme.txt
deleted file mode 100644
index 4234118..0000000
--- a/src/mxmMidi/experimental/readme.txt
+++ /dev/null
@@ -1 +0,0 @@
-Stuff that I am just playing around with
\ No newline at end of file
diff --git a/src/mxmMidi/midiout/minimal_type0.mid b/src/mxmMidi/midiout/minimal_type0.mid
deleted file mode 100644
index ffdfcda3ee633017534da66d7ac09a53c7f2b5e5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 35
ncmeYb$w*;fU|<7cMur66kfLlLi<e=7gTn#F1_uX*|N0C7a<B(q

diff --git a/src/mxmMidi/midiout/transposed.mid b/src/mxmMidi/midiout/transposed.mid
deleted file mode 100644
index a9645480e6e5930360fe27abe28c47b8744a1ba9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 15914
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
G?*9kCU(Ry?

diff --git a/src/mxmMidi/readme.txt b/src/mxmMidi/readme.txt
deleted file mode 100644
index d3c7431..0000000
--- a/src/mxmMidi/readme.txt
+++ /dev/null
@@ -1,50 +0,0 @@
-This is the documentation for the midi package
-==============================================
-
-
-The modules follows the following naming convention:
-
-
-MidiIn<StreamType>.py
----------------------
-
-The MidiIn modules reads midi content for a specific type of stream. Ie. a file or a midi port. It then generates events and triggers them on a MidiOutStream.
-
-
-MidiOut<StreamType>.py
-----------------------
-
-The MidiOut modules are event handlers, that reacts to events generated by a a Midi in module.
-
-
-MidiInBase.py
----------------
-
-The base class for input streams.
-
-
-MidiOutBase.py
-----------------
-
-The base class for the output streams.
-
-
-
-
-
-
-Internal modules
-================
-
-
-DataTypeConverters.py
----------------------
-
-A collection of functions that converts the special data types used in midi files to and from strings.
-
-
-constants.py
-------------
-
-A collection of constants from the midi spec.
-
diff --git a/src/mxmMidi/test/midifiles/midiout.mid b/src/mxmMidi/test/midifiles/midiout.mid
deleted file mode 100644
index eff8ffa745aa66aee6c7f6a8817bbcb94843c51e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1067
zcmWN?RaR92006)XJQ@TEX(^Rdx{*#5sYgq9cO%CouoRc%PH;Zv%vgADD+q!ZA|n2c
zg)a_+Ae0%rM#Y5h&$f$dgV)KZ#Ph$w>wG8_nH?9r1Y2u=f}Y?d!V!*iq@x_=kVB4k
zv|}9OSjRffagKMq6P(~gCpyVVPIj{2_>EJX;#8;lt=~G$X-;>#Go0Z}XZoGrIm=nj
zcD8ez<6P%D&w0*wz6)I7_kQm}7rMwrE_Sg?T;fuf`h!3Cqd)qSKe^0hE_b;rT;WPr
zy2@3qcC|nIv%mO@Yh2@6*SgMiu6Ml~+~7txy2(v$cC%aD;#Rl1&24UXyF1+BPIvmN
zzq-p^?sm6(+~Z#Ny3c*?cfSWb;6V?1$U`3Xutz-NQIGnYzxlhr`-gvc%wzuPpC0$P
zCp_UvPkPEzp7ylE4tvHkp7pHfJm-1Od%+7{^rDx%<X`^fWiNZhD_-@g*SzL+uY1EA
z-t?xoyyb0gd&fK8^{)54=Y8+{zz06`p^tpzV;}p(CqDJ5&wS={pZmfWzVxN9eC2Cj
i`^GoE^{wxG=X>A#!4H1)qo4fb-~R1qKlcQ$HNk%<%Tkg6

diff --git a/src/mxmMidi/test/midifiles/minimal-cubase-type0.mid b/src/mxmMidi/test/midifiles/minimal-cubase-type0.mid
deleted file mode 100644
index dcea0cfc9201f12b23d44979b809d8e68832e59e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 59
zcmeYb$w*;fU|<7cM#cxeAw}6hmMX)4X10*Zf>Z?qhW~-g><bkb{ztH|FiCJQOz=o)
MPViu0_^;0Z0E$u$Bme*a

diff --git a/src/mxmMidi/test/midifiles/minimal-cubase-type1.mid b/src/mxmMidi/test/midifiles/minimal-cubase-type1.mid
deleted file mode 100644
index 94ad302beef5f0c99c2bad96f525dcc6dd659c1b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 434
zcmeYb$w*;fU|?flWDsP0;2Tnu4df{^{AcFzO)M@+Em8<6N=(jX_#ep3zEFYTe*_B)
zlLQCDe|-k1QVF0^4yVN8;+)L9RE7y2Dg6u{3`p|)KzVjwPZv)G10(Fh#@K~TunU`F
q7dFE#Y>r*n0=uv!R$)T}?81iFg|Yk65W6o8vHQ{xyDtsFz61bmRcOQj

diff --git a/src/mxmMidi/test/midifiles/minimal.mid b/src/mxmMidi/test/midifiles/minimal.mid
deleted file mode 100644
index c4567b22536c36d0d1bd7f0ef4a2fad0b2a0b63d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 96
zcmeYb$w*;fU|?flWMHyk@C_--2J*xh{ztH|FiCJQ{10SiU#QUZy@BDsK1^1J;XgBb
iaAjUehJqo(e-;E&k&%UAf=Ye!1BM0_hNjO8Kzaa7eHu3a

diff --git a/src/mxmMidi/test/midifiles/minimal.txt b/src/mxmMidi/test/midifiles/minimal.txt
deleted file mode 100644
index dd9f61e..0000000
--- a/src/mxmMidi/test/midifiles/minimal.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-MThd | Format=1 | # of Tracks=2 | Division=15360
-
-
-
-
-Track #0 ******************************************
-    Time       Event
-    
-   1: 1:  0 |Time Sig    |  4/4      | MIDI-clocks\click=24 | 32nds\quarter=8
-            |Tempo       | BPM=120   | micros\quarter=500000
- 101: 1:  0 |End of track| 
-
-
-
-
-
-Track #1 ******************************************
-    Time       Event
-    
-   1: 1:  0 |Track Name  | len=7     |
-            0x53 0x79 0x6E 0x74 0x68 0x20 0x31 <Synth 1>
-            |Instrument  | len=7     |
-            0x53 0x79 0x6E 0x74 0x68 0x20 0x31 <Synth 1>
-            |On Note     | chan= 1   | pitch=C 1         | vol=127
-   2: 1:  0 |Off Note    | chan= 1   | pitch=c 1         | vol=0
- 101: 1:  0 |End of track| 
diff --git a/src/mxmMidi/test/midifiles/minimal_analyse.txt b/src/mxmMidi/test/midifiles/minimal_analyse.txt
deleted file mode 100644
index 498dfe9..0000000
--- a/src/mxmMidi/test/midifiles/minimal_analyse.txt
+++ /dev/null
@@ -1,54 +0,0 @@
-4D 54 68 64         MThd
-00 00 00 06         len:    6
-00 01               Type:   1
-00 02               tracks: 2
-3C 00               tempo:  15360
-
-
-
-4D 54 72 6B         MTrk
-00 00 00 16         len: 22
-
-00                  time
-    FF 58 04        Time Signature
-    04 02 18 08     4/4 24 8
-    
-00                  time
-    FF 51 03        TEMPO:
-    07 A1 20        500.000 mySec
-
-82 F7 80 00         time  ## oh bugger, it's buggy.
-    FF 2F 00        End Of Track
-    
-
-
-4D 54 72 6B         MTrk
-00 00 00 2C         len: 44
-
-00                  time
-    FF 03           Sequence/Track Name
-    07              len: 7
-    53 79 6E 74
-    68 20 31        'Synth 1'
-
-00                  time
-    FF 04           Instrument
-    07              len: 7
-    53 79 6E 74
-    68 20 31        'Synth 1'
-
-00                  time
-    FF 21 01        Midi port
-    04              Port #5
-
-00                  time
-    90 24 7F        Note ON
-    83 E0 00        Note OFF
-    
-00                  time
-    80 24 00        Note OFF
-
-00 82 F3 A0        
-
-00
-    FF 2F 00        End Of Track
\ No newline at end of file
diff --git a/src/mxmMidi/test/midifiles/readme.txt b/src/mxmMidi/test/midifiles/readme.txt
deleted file mode 100644
index f3f59cd..0000000
--- a/src/mxmMidi/test/midifiles/readme.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-These files are used for testing the midi package
-=================================================
-
-minimal.mid
------------
-
-A minimal working midifile. Plays a one bar "middle C" at 120 bpm. The absolute simplest file I could get to play in midi devices.
\ No newline at end of file
diff --git a/src/mxmMidi/test/readme.txt b/src/mxmMidi/test/readme.txt
deleted file mode 100644
index c40adf3..0000000
--- a/src/mxmMidi/test/readme.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-Embarrasingly empty.
-
-Why don't you write some tests?
\ No newline at end of file
diff --git a/src/mxmMidi/version.txt b/src/mxmMidi/version.txt
deleted file mode 100644
index 446ba66..0000000
--- a/src/mxmMidi/version.txt
+++ /dev/null
@@ -1 +0,0 @@
-0.1.4
\ No newline at end of file
diff --git a/src/pgu/__init__.py b/src/pgu/__init__.py
deleted file mode 100644
index 5cc6d1c..0000000
--- a/src/pgu/__init__.py
+++ /dev/null
@@ -1,7 +0,0 @@
-"""Phil's pyGame Utilities
-
-
-"""
-__version__ = '0.12.3'
-
-# vim: set filetype=python sts=4 sw=4 noet si :
diff --git a/src/pgu/algo.py b/src/pgu/algo.py
deleted file mode 100644
index 993eab0..0000000
--- a/src/pgu/algo.py
+++ /dev/null
@@ -1,143 +0,0 @@
-"""Some handy algorithms for use in games, etc.
-
-<p>please note that this file is alpha, and is subject to modification in
-future versions of pgu!</p>
-"""
-
-# The manhattan distance metric
-def manhattan_dist(a,b):
-    return abs(a[0]-b[0]) + abs(a[1]-b[1])
-    
-class node:
-    def __init__(self, prev, pos, dest, dist):
-        self.prev,self.pos,self.dest = prev,pos,dest
-        if self.prev == None: self.g = 0
-        else: self.g = self.prev.g + 1
-        self.h = dist(pos,dest)
-        self.f = self.g+self.h
-
-
-def astar(start,end,layer,dist=manhattan_dist):
-    """uses the a* algorithm to find a path
-    
-    <pre>astar(start,end,layer,dist): return [list of positions]</pre>
-    
-    <dl>
-    <dt>start<dd>start position
-    <dt>end<dd>end position
-    <dt>layer<dd>a grid where zero cells are open and non-zero cells are walls
-    <dt>dist<dd>a distance function dist(a,b) - manhattan distance is used by default
-    </dl>
-    
-    <p>returns a list of positions from start to end</p>
-    """
-
-    w,h = len(layer[0]),len(layer)
-    if start[0] < 0 or start[1] < 0 or start[0] >= w or start[1] >= h: 
-        return [] #start outside of layer
-    if end[0] < 0 or end[1] < 0 or end[0] >= w or end[1] >= h:
-        return [] #end outside of layer
-
-    if layer[start[1]][start[0]]:
-        return [] #start is blocked
-    if layer[end[1]][end[0]]:
-        return [] #end is blocked
-
-    opens = []
-    open = {}
-    closed = {}
-    cur = node(None, start, end, dist)
-    open[cur.pos] = cur
-    opens.append(cur)
-    while len(open):
-        cur = opens.pop(0)
-        if cur.pos not in open: continue
-        del open[cur.pos]
-        closed[cur.pos] = cur
-        if cur.pos == end: break
-        for dx,dy in [(0,-1),(1,0),(0,1),(-1,0)]:#(-1,-1),(1,-1),(-1,1),(1,1)]:
-            pos = cur.pos[0]+dx,cur.pos[1]+dy
-            # Check if the point lies in the grid
-            if (pos[0] < 0 or pos[1] < 0 or 
-                pos[0] >= w or pos[1] >= h or
-                layer[pos[0]][pos[1]]):
-                continue
-            #check for blocks of diagonals
-            if layer[cur.pos[1]+dy][cur.pos[0]]: continue
-            if layer[cur.pos[1]][cur.pos[0]+dx]: continue
-            new = node(cur, pos, end, dist)
-            if pos in open and new.f >= open[pos].f: continue
-            if pos in closed and new.f >= closed[pos].f: continue
-            if pos in open: del open[pos]
-            if pos in closed: del closed[pos]
-            open[pos] = new
-            lo = 0
-            hi = len(opens)
-            while lo < hi:
-                mid = (lo+hi)/2
-                if new.f < opens[mid].f: hi = mid
-                else: lo = mid + 1
-            opens.insert(lo,new)
-    
-    if cur.pos != end: 
-        return []
-                    
-    path = []
-    while cur.prev != None:
-        path.append(cur.pos)
-        cur = cur.prev
-    path.reverse()
-    return path
-    
-
-def getline(a,b):
-    """returns a path of points from a to b
-    
-    <pre>getline(a,b): return [list of points]</pre>
-    
-    <dl>
-    <dt>a<dd>starting point
-    <dt>b<dd>ending point
-    </dl>
-    
-    <p>returns a list of points from a to b</p>
-    """
-           
-    path = []
-    
-    x1,y1 = a
-    x2,y2 = b
-    dx,dy = abs(x2-x1),abs(y2-y1)
-
-    if x2 >= x1: xi1,xi2 = 1,1
-    else: xi1,xi2 = -1,-1
-    
-    if y2 >= y1: yi1,yi2 = 1,1
-    else: yi1,yi2 = -1,-1
-    
-    if dx >= dy:
-        xi1,yi2 = 0,0
-        d = dx
-        n = dx/2
-        a = dy
-        p = dx
-    else:
-        xi2,yi1 = 0,0
-        d = dy
-        n = dy/2
-        a = dx
-        p = dy
-        
-    x,y = x1,y1
-    c = 0
-    while c <= p:
-        path.append((x,y))
-        n += a
-        if n > d: 
-            n -= d
-            x += xi1
-            y += yi1
-        x += xi2
-        y += yi2
-        c += 1
-    return path
diff --git a/src/pgu/ani.py b/src/pgu/ani.py
deleted file mode 100644
index c33d380..0000000
--- a/src/pgu/ani.py
+++ /dev/null
@@ -1,90 +0,0 @@
-"""animation loading and manipulating functions.
-
-<p>please note that this file is alpha, and is subject to modification in
-future versions of pgu!</p>
-"""
-
-print 'pgu.ani','This module is alpha, and is subject to change.'
-
-import math
-import pygame
-
-def _ani_load(tv,name,parts,frames,shape):
-    l = len(frames)
-    #print name,parts,l
-    n = parts.pop()
-    if len(parts):
-        s = l/n
-        for i in xrange(0,n):
-            _ani_load(tv,name + ".%d"%i,parts[:],frames[s*i:s*(i+1)],shape)
-        return
-    
-    for i in xrange(0,n):
-        tv.images[name+".%d"%i] = frames[i],shape
-
-def ani_load(tv,name,img,size,shape,parts):
-    """load an animation from an image
-    
-    <pre>ani_load(tv,name,image,size,shape,parts)</pre>
-    
-    <dl>
-    <dt>tv<dd>vid to load into
-    <dt>name <dd>prefix name to give the images
-    <dt>image <dd>image to load anis from
-    <dt>size <dd>w,h size of image
-    <dt>shape <dd>shape of image (usually a subset of 0,0,w,h) used for collision detection
-    <dt>parts <dd>list of parts to divide the animation into 
-        <br>for example parts = [4,5] would yield 4 animations 5 frames long, 20 total
-        <br>for example parts = [a,b,c] would yield ... images['name.a.b.c'] ..., a*b*c total
-    </dl>
-    
-    """
-    parts = parts[:]
-    parts.reverse()
-    w,h = size
-    frames = []
-    for y in xrange(0,img.get_height(),h):
-        for x in xrange(0,img.get_width(),w):
-            frames.append(img.subsurface(x,y,w,h))
-    _ani_load(tv,name,parts,frames,shape)
-    
-    
-def image_rotate(tv,name,img,shape,angles,diff=0):
-    """rotate an image and put it into tv.images
-    
-    <pre>image_rotate(tv,name,image,shape,angles,diff=0)</pre>
-    
-    <dl>
-    <dt>tv <dd>vid to load into
-    <dt>name <dd>prefix name to give the images
-    <dt>image <dd>image to load anis from
-    <dt>shape <dd>shape fimage (usually a subset of 0,0,w,h) used for collision detection
-    <dt>angles <dd>a list of angles to render in degrees
-    <dt>diff <dd>a number to add to the angles, to correct for source image not actually being at 0 degrees
-    </dl>
-    """
-    w1,h1 = img.get_width(),img.get_height()
-    shape = pygame.Rect(shape)
-    ps = shape.topleft,shape.topright,shape.bottomleft,shape.bottomright
-    for a in angles:
-        img2 = pygame.transform.rotate(img,a+diff)
-        w2,h2 = img2.get_width(),img2.get_height()
-        minx,miny,maxx,maxy = 1024,1024,0,0
-        for x,y in ps:
-            x,y = x-w1/2,y-h1/2
-            a2 = math.radians(a+diff)
-            #NOTE: the + and - are switched from the normal formula because of
-            #the weird way that pygame does the angle...
-            x2 = x*math.cos(a2) + y*math.sin(a2) 
-            y2 = y*math.cos(a2) - x*math.sin(a2)
-            x2,y2 = x2+w2/2,y2+h2/2
-            minx = min(minx,x2)
-            miny = min(miny,y2)
-            maxx = max(maxx,x2)
-            maxy = max(maxy,y2)
-        r = pygame.Rect(minx,miny,maxx-minx,maxy-miny)
-        #print r
-        #((ww-w)/2,(hh-h)/2,w,h)
-        tv.images["%s.%d"%(name,a)] = img2,r
-        
-
diff --git a/src/pgu/engine.py b/src/pgu/engine.py
deleted file mode 100644
index 76be583..0000000
--- a/src/pgu/engine.py
+++ /dev/null
@@ -1,154 +0,0 @@
-"""a state engine. 
-"""
-import pygame
-from pygame.locals import *
-
-class State:
-    """Template Class -- for a state.
-    
-    <pre>State(game,value...)</pre>
-    
-    <dl>
-    <dt>game<dd>The state engine.
-    <dt>value<dd>I usually pass in a custom value to a state
-    </dl>
-    
-    <p>For all of the template methods, they should return None unless they return 
-    a new State to switch the engine to.</p>
-    """
-    def __init__(self,game,value=None):
-        self.game,self.value = game,value
-    def init(self): 
-        """Template Method - Initialize the state, called once the first time a state is selected.
-        
-        <pre>State.init()</pre>
-        """
-        return
-    def paint(self,screen): 
-        """Template Method - Paint the screen.  Called once after the state is selected.  
-        
-        <p>State is responsible for calling <tt>pygame.display.flip()</tt> or whatever.</p>
-        
-        <pre>State.paint(screen)</pre>
-        """
-        return
-        
-    def repaint(self): 
-        """Template Method - Request a repaint of this state.
-        
-        <pre>State.repaint()</pre>
-        """
-        self._paint = 1
-    def update(self,screen): 
-        """Template Method - Update the screen.
-        
-        <p>State is responsible for calling <tt>pygame.display.update(updates)</tt> or whatever.</p>
-        
-        <pre>State.update(screen)</pre>
-        """
-        return
-    def loop(self):
-        """Template Method - Run a logic loop, called once per frame.
-        
-        <pre>State.loop()</pre>
-        """
-        return
-    def event(self,e):
-        """Template Method - Recieve an event.
-        
-        <pre>State.event(e)</pre>
-        """
-        return
-
-class Quit(State):
-    """A state to quit the state engine.
-    
-    <pre>Quit(game,value)</pre>
-    """
-    
-    def init(self): 
-        self.game.quit = 1
-
-class Game:
-    """Template Class - The state engine.
-    """
-    def fnc(self,f,v=None):
-        s = self.state
-        if not hasattr(s,f): return 0
-        f = getattr(s,f)
-        if v != None: r = f(v)
-        else: r = f()
-        if r != None:
-            self.state = r
-            self.state._paint = 1
-            return 1
-        return 0
-        
-    def run(self,state,screen=None):
-        """Run the state engine, this is a infinite loop (until a quit occurs).
-        
-        <pre>Game.run(state,screen=None)</pre>
-        
-        <dl>
-        <dt>game<dd>a state engine
-        <dt>screen<dd>the screen
-        </dl>
-        """
-        self.quit = 0
-        self.state = state
-        if screen != None: self.screen = screen
-        
-        self.init()
-        
-        while not self.quit:
-            self.loop()
-
-    def loop(self):
-        s = self.state
-        if not hasattr(s,'_init') or s._init:
-            s._init = 0
-            if self.fnc('init'): return
-        else: 
-            if self.fnc('loop'): return
-        if not hasattr(s,'_paint') or s._paint:
-            s._paint = 0
-            if self.fnc('paint',self.screen): return
-        else: 
-            if self.fnc('update',self.screen): return
-        
-        for e in pygame.event.get():
-            #NOTE: this might break API?
-	    #if self.event(e): return
-	    if not self.event(e):
-                if self.fnc('event',e): return
-            
-        self.tick()
-        return
-            
-    def init(self):
-        """Template Method - called at the beginning of State.run() to initialize things.
-        
-        <pre>Game.init()</pre>
-        """
-        return
-        
-    def tick(self):
-        """Template Method - called once per frame, usually for timer purposes.
-        
-        <pre>Game.tick()</pre>
-        """
-        pygame.time.wait(10)
-    
-    def event(self,e):
-        """Template Method - called with each event, so the engine can capture special events.
-        
-        <pre>Game.event(e): return captured</pre>
-        
-        <p>return a True value if the event is captured and does not need to be passed onto the current
-        state</p>
-        """
-        if e.type is QUIT: 
-            self.state = Quit(self)
-            return 1
-
-# vim: set filetype=python sts=4 sw=4 noet si :
diff --git a/src/pgu/fonts.py b/src/pgu/fonts.py
deleted file mode 100644
index ab6f73d..0000000
--- a/src/pgu/fonts.py
+++ /dev/null
@@ -1,130 +0,0 @@
-"""Some handy font-like objects.
-
-<p>please note that this file is alpha, and is subject to modification in
-future versions of pgu!</p>
-"""
-
-print 'pgu.fonts','This module is alpha, and is subject to change.'
-
-import pygame
-from pygame.locals import *
-
-class TileFont:
-    """Creates an instance of the TileFont class.  Interface compatible with pygame.Font
-    
-    <p>TileFonts are fonts that are stored in a tiled image.  Where the image opaque, it assumed that the font is visible.  Font color is changed automatically, so it does not work with
-    fonts with stylized coloring.</p>
-    
-    <pre>TileFont(fname,size,hints,scale=None,sensitive=False)</pre>
-    
-    <dl>
-    <dt>size <dd>the dimensions of the characters
-    <dt>hints <dd>a string of hints "abcdefg..."
-    <dt>scale <dd>size to scale font to
-    <dt>sensitive <dd>case sensitivity
-    </dl>
-    """
-
-    def __init__(self,fname,size,hints,scale=None,sensitive=False):
-        
-        self.image = pygame.image.load(fname)
-        
-        w,h = self.image.get_width(),self.image.get_height()
-        tw,th = size
-        if not scale: scale = size
-        self._size = size
-        self.scale = scale
-        
-        self.chars = {}
-        x,y = 0,0
-        self.sensitive = sensitive
-        if not self.sensitive: hints = hints.lower()
-        for c in hints:
-            if c not in ('\r','\n','\t'):
-                img = self.image.subsurface(x,y,tw,th)
-                self.chars[c] = img
-                x += tw
-                if x >= w: x,y = 0,y+th
-                
-        self.colors = {}
-                
-    def size(self,text):
-        tw,th = self.scale
-        return len(text)*tw,th
-        
-    def render(self,text,antialias=0,color=(255,255,255),background=None):
-        size = self.size(text)
-        scale = self.scale
-        tw,th = self._size
-        if background == None:
-            s = pygame.Surface(size).convert_alpha()
-            s.fill((0,0,0,0))
-        else:
-            s = pygame.Surface(size).convert()
-            s.fill(background)
-            
-        if not self.sensitive: text = text.lower()
-        
-        if color not in self.colors: self.colors[color] = {}
-        colored = self.colors[color]
-        
-        x,y = 0,0
-        for c in text:
-            if c in self.chars:
-                if c not in colored:
-                    img = self.chars[c].convert_alpha()
-                    for yy in xrange(0,th):
-                        for xx in xrange(0,tw):
-                            r,g,b,a = img.get_at((xx,yy))
-                            if a > 128:
-                                img.set_at((xx,yy),color)
-                    colored[c] = img
-                img = colored[c]
-                if scale != (tw,th): img = pygame.transform.scale(img,scale)
-                s.blit(img,(x,y))
-            x += scale[0]
-        return s
-        
-        
-class BorderFont: 
-    """a decorator for normal fonts, adds a border. Interface compatible with pygame.Font.
-    
-    <pre>BorderFont(font,size=1,color=(0,0,0))</pre>
-    
-    <dl>
-    <dt>size <dd>width of border; defaults 0
-    <dt>color <dd>color of border; default (0,0,0)
-    </dl>
-    """
-    def __init__(self,font,size=1,color=(0,0,0)):
-        
-        self.font = font
-        self._size = size
-        self.color = color
-                
-    def size(self,text):
-        w,h = self.font.size(text)
-        s = self._size
-        return w+s*2,h+s*2
-        
-    def render(self,text,antialias=0,color=(255,255,255),background=None):
-        size = self.size(text)
-        
-        if background == None:
-            s = pygame.Surface(size).convert_alpha()
-            s.fill((0,0,0,0))
-        else:
-            s = pygame.Surface(size).convert()
-            s.fill(background)
-            
-        bg = self.font.render(text,antialias,self.color)
-        fg = self.font.render(text,antialias,color)
-        
-        si = self._size
-        dirs = [(-1,-1),(-1,0),(-1,1),(0,-1),(0,1),(1,-1),(1,0),(1,1)]
-        for dx,dy in dirs: s.blit(bg,(si+dx*si,si+dy*si))
-        s.blit(fg,(si,si))
-
-        return s
-
-        
diff --git a/src/pgu/gui/__init__.py b/src/pgu/gui/__init__.py
deleted file mode 100644
index 256fb63..0000000
--- a/src/pgu/gui/__init__.py
+++ /dev/null
@@ -1,32 +0,0 @@
-import pygame
-from pygame.locals import *
-
-from theme import Theme
-from style import Style
-from widget import Widget
-from surface import subsurface, ProxySurface
-from const import *
-
-from container import Container
-from app import App, Desktop
-from table import Table
-from document import Document
-#html
-from area import SlideBox, ScrollArea, List 
-
-from form import Form
-from group import Group
-
-from basic import Spacer, Color, Label, Image, parse_color
-from button import Icon, Button, Switch, Checkbox, Radio, Tool, Link
-from input import Input, Password
-from keysym import Keysym
-from slider import VSlider, HSlider, VScrollBar, HScrollBar
-from select import Select
-from misc import ProgressBar
-
-from menus import Menus
-from dialog import Dialog, FileDialog
-from textarea import TextArea
-
-from deprecated import Toolbox, action_open, action_setvalue, action_quit, action_exec
diff --git a/src/pgu/gui/app.py b/src/pgu/gui/app.py
deleted file mode 100644
index 857af98..0000000
--- a/src/pgu/gui/app.py
+++ /dev/null
@@ -1,279 +0,0 @@
-"""
-"""
-import pygame
-from pygame.locals import *
-
-import pguglobals
-import container
-from const import *
-
-class App(container.Container):
-    """The top-level widget for an application.
-    
-    <pre>App(theme=None)</pre>
-    
-    <dl>
-    <dt>theme<dd>an instance of a Theme, optional as it will use the default Theme class.
-    </dl>
-    
-    <strong>Basic Example</strong>
-    <code>
-    app = gui.App()
-    app.run(widget=widget,screen=screen)
-    </code>
-    
-    <strong>Integrated Example</strong>
-    <code>
-    app = gui.App()
-    gui.init(widget=widget)
-    while 1:
-        for e in pygame.event.get():
-            app.event(e)
-        app.update(screen)
-    </code>
-        
-    
-    
-    """
-    def __init__(self,theme=None,**params):
-        self.set_global_app()
-
-        if theme == None: 
-            from theme import Theme
-            theme = Theme()
-        self.theme = theme
-        
-        params['decorate'] = 'app'
-        container.Container.__init__(self,**params)
-        self._quit = False
-        self.widget = None
-        self._chsize = False
-        self._repaint = False
-        
-        self.screen = None
-        self.container = None
-        self.events = []
-
-    def set_global_app(self):
-        # Keep a global reference to this application instance so that PGU
-        # components can easily find it.
-        pguglobals.app = self
-        # For backwards compatibility we keep a reference in the class 
-        # itself too.
-        App.app = self
-        
-    def resize(self):
-            
-        screen = self.screen
-        w = self.widget
-        wsize = 0
-        
-        #5 cases
-        
-        #input screen is already set use its size
-        if screen:
-            self.screen = screen
-            width,height = screen.get_width(),screen.get_height()
-        
-        #display.screen
-        elif pygame.display.get_surface():
-            screen = pygame.display.get_surface()
-            self.screen = screen
-            width,height = screen.get_width(),screen.get_height()
-        
-        #app has width,height
-        elif self.style.width != 0 and self.style.height != 0:
-            screen = pygame.display.set_mode((self.style.width,self.style.height),SWSURFACE)
-            self.screen = screen
-            width,height = screen.get_width(),screen.get_height()
-        
-        #widget has width,height, or its own size..
-        else:
-            wsize = 1
-            width,height = w.rect.w,w.rect.h = w.resize()
-            #w._resize()
-            screen = pygame.display.set_mode((width,height),SWSURFACE)
-            self.screen = screen
-        
-        #use screen to set up size of this widget
-        self.style.width,self.style.height = width,height
-        self.rect.w,self.rect.h = width,height
-        self.rect.x,self.rect.y = 0,0
-        
-        w.rect.x,w.rect.y = 0,0
-        w.rect.w,w.rect.h = w.resize(width,height)
-        
-        for w in self.windows:
-            w.rect.w,w.rect.h = w.resize()
-            
-        self._chsize = False
-
-    
-    def init(self,widget=None,screen=None): #TODO widget= could conflict with module widget
-        """Initialize the application.
-        
-        <pre>App.init(widget=None,screen=None)</pre>
-        
-        <dl>
-        <dt>widget<dd>main widget
-        <dt>screen<dd>pygame.Surface to render to
-        </dl>
-        """
-
-        self.set_global_app()
-        
-        if widget: self.widget = widget
-        if screen: self.screen = screen
-        
-        self.resize()   
-        
-        w = self.widget     
-        
-        self.widgets = []
-        self.widgets.append(w)
-        w.container = self
-        self.focus(w)
-        
-        pygame.key.set_repeat(500,30)
-        
-        self._repaint = True
-        self._quit = False
-        
-        self.send(INIT)
-    
-    def event(self,e):
-        """Pass an event to the main widget.
-        
-        <pre>App.event(e)</pre>
-        
-        <dl>
-        <dt>e<dd>event
-        </dl>
-        """
-        self.set_global_app()
-
-        #NOTE: might want to deal with ACTIVEEVENT in the future.
-        self.send(e.type,e)
-        container.Container.event(self,e)
-        if e.type == MOUSEBUTTONUP:
-            if e.button not in (4,5): #ignore mouse wheel
-                sub = pygame.event.Event(CLICK,{
-                    'button':e.button,
-                    'pos':e.pos})
-                self.send(sub.type,sub)
-                container.Container.event(self,sub)
-            
-    
-    def loop(self):
-        self.set_global_app()
-
-        s = self.screen
-        for e in pygame.event.get():
-            if not (e.type == QUIT and self.mywindow):
-                self.event(e)
-        us = self.update(s)
-        pygame.display.update(us)
-        
-        
-    def paint(self,screen):
-        self.screen = screen
-        if self._chsize:
-            self.resize()
-            self._chsize = False
-        if hasattr(self,'background'):
-            self.background.paint(screen)
-        container.Container.paint(self,screen)
-
-    def update(self,screen):
-        """Update the screen.
-        
-        <dl>
-        <dt>screen<dd>pygame surface
-        </dl>
-        """
-        self.screen = screen
-        if self._chsize:
-            self.resize()
-            self._chsize = False
-        if self._repaint:
-            self.paint(screen)
-            self._repaint = False
-            return [pygame.Rect(0,0,screen.get_width(),screen.get_height())]
-        else:
-            us = container.Container.update(self,screen)
-            return us
-    
-    def run(self,widget=None,screen=None): 
-        """Run an application.
-        
-        <p>Automatically calls <tt>App.init</tt> and then forever loops <tt>App.event</tt> and <tt>App.update</tt></p>
-        
-        <dl>
-        <dt>widget<dd>main widget
-        <dt>screen<dd>pygame.Surface to render to
-        </dl>
-        """
-        self.init(widget,screen)
-        while not self._quit:
-            self.loop()
-            pygame.time.wait(10)
-    
-    def reupdate(self,w=None): pass
-    def repaint(self,w=None): self._repaint = True
-    def repaintall(self): self._repaint = True
-    def chsize(self):
-        self._chsize = True
-        self._repaint = True
-    
-    def quit(self,value=None): self._quit = True
-
-    def open(self, w, pos=None):
-        w.container = self
-        
-        if (w.rect.w == 0 or w.rect.h == 0):
-            w.rect.size = w.resize()
-        
-        if (not pos): 
-            # Auto-center the window
-            w.rect.center = self.rect.center
-            #w.rect.topleft = ((self.rect.w - w.rect.w)/2,
-            #                  (self.rect.h - w.rect.h)/2)
-        else: 
-            # Show the window in a particular location
-            w.rect.topleft = pos
-        
-        self.windows.append(w)
-        self.mywindow = w
-        self.focus(w)
-        self.repaint(w)
-        w.send(OPEN)
-
-    def close(self, w):
-        if self.myfocus is w: self.blur(w)
-
-        if w not in self.windows: return #no need to remove it twice! happens.
-        
-        self.windows.remove(w)
-        
-        self.mywindow = None
-        if self.windows:
-            self.mywindow = self.windows[-1]
-            self.focus(self.mywindow)
-        
-        if not self.mywindow:
-            self.myfocus = self.widget #HACK: should be done fancier, i think..
-            if not self.myhover:
-                self.enter(self.widget)
-         
-        self.repaintall()
-        w.send(CLOSE)
-
-
-class Desktop(App):
-    """Create an App using the <tt>desktop</tt> theme class.
-    
-    <pre>Desktop()</pre>
-    """
-    def __init__(self,**params):
-        params.setdefault('cls','desktop')
-        App.__init__(self,**params)
diff --git a/src/pgu/gui/area.py b/src/pgu/gui/area.py
deleted file mode 100644
index 64074d6..0000000
--- a/src/pgu/gui/area.py
+++ /dev/null
@@ -1,454 +0,0 @@
-"""
-"""
-import os
-
-import pguglobals
-from const import *
-import surface
-import container, table
-import group
-import basic, button, slider
-from pygame.font import Font
-
-class SlideBox(container.Container):
-    """A scrollable area with no scrollbars.
-    
-    <pre>SlideBox(widget,width,height)</pre>
-    
-    <dl>
-    <dt>widget<dd>widget to be able to scroll around
-    <dt>width, height<dd>size of scrollable area
-    </dl>
-    
-    <strong>Example</strong>
-    <code>
-    c = SlideBox(w,100,100)
-    c.offset = (10,10)
-    c.repaint()
-    </code>
-    
-    """
-    
-    def __init__(self, widget, width, height, **params):
-        params.setdefault('width', width)
-        params.setdefault('height', height)
-        container.Container.__init__(self, **params)
-        self.offset = [0, 0]
-        self.widget = widget
-        
-    def __setattr__(self,k,v):
-        if k == 'widget':
-            if hasattr(self,'widget'):
-                self.remove(self.widget)
-            self.add(v,0,0)
-        self.__dict__[k] = v
-            
-    
-    def paint(self, s):
-        #if not hasattr(self,'surface'):
-        self.surface = pygame.Surface((self.max_rect.w,self.max_rect.h),0,s)
-        #self.surface.fill((0,0,0,0))
-        pguglobals.app.theme.render(self.surface,self.style.background,pygame.Rect(0,0,self.max_rect.w,self.max_rect.h))
-        self.bkgr = pygame.Surface((s.get_width(),s.get_height()),0,s)
-        self.bkgr.blit(s,(0,0))
-        container.Container.paint(self,self.surface)
-        s.blit(self.surface,(-self.offset[0],-self.offset[1]))
-        self._offset = self.offset[:]
-        return
-        
-    def paint_for_when_pygame_supports_other_tricks(self,s): 
-        #this would be ideal if pygame had support for it!
-        #and if pgu also had a paint(self,s,rect) method to paint small parts
-        sr = (self.offset[0],self.offset[1],self.max_rect.w,self.max_rect.h)
-        cr = (-self.offset[0],-self.offset[1],s.get_width(),s.get_height())
-        s2 = s.subsurface(sr)
-        s2.set_clip(cr)
-        container.Container.paint(self,s2)
-        
-    def proxy_paint(self, s):
-        container.Container.paint(self, surface.ProxySurface(parent=None, 
-                                           rect=self.max_rect,
-                                           real_surface=s,
-                                           offset=self.offset))
-    def update(self, s):
-        rects = container.Container.update(self,self.surface)
-        
-        rets = []
-        s_rect = pygame.Rect(0,0,s.get_width(),s.get_height())
-        
-        if self.offset == self._offset:
-            for r in rects:
-                r2 = r.move((-self.offset[0],-self.offset[1]))
-                if r2.colliderect(s_rect):
-                    s.blit(self.surface.subsurface(r),r2)
-                    rets.append(r2)
-        else:
-            s.blit(self.bkgr,(0,0))
-            sub = pygame.Rect(self.offset[0],self.offset[1],min(s.get_width(),self.max_rect.w-self.offset[0]),min(s.get_height(),self.max_rect.h-self.offset[1]))
-#             print sub
-#             print self.surface.get_width(),self.surface.get_height()
-#             print s.get_width(),s.get_height()
-#             print self.offset
-#             print self.style.width,self.style.height
-            s.blit(self.surface.subsurface(sub),(0,0))
-            rets.append(s_rect)
-        self._offset = self.offset[:]
-        return rets
-        
-    def proxy_update(self, s):
-        rects = container.Container.update(self, surface.ProxySurface(parent=None, 
-                                                    rect=self.max_rect,
-                                                    real_surface=s,
-                                                    offset=self.offset))
-        result = []
-        for r in rects: result.append(pygame.Rect(r).move(self.offset))
-        return result
-        
-    def resize(self, width=None, height=None):
-        container.Container.resize(self)
-        self.max_rect = pygame.Rect(self.widget.rect)
-        #self.max_rect.w = max(self.max_rect.w,self.style.width)
-        #self.max_rect.h = max(self.max_rect.h,self.style.height)
-        return self.style.width,self.style.height
-        #self.rect = pygame.Rect(self.rect[0], self.rect[1], self.style.width, self.style.height)
-    
-    def event(self, e):
-        if e.type in [MOUSEBUTTONDOWN, MOUSEBUTTONUP, MOUSEMOTION]:
-            pos = (e.pos[0] + self.offset[0], e.pos[1] + self.offset[1])
-            if self.max_rect.collidepoint(pos):
-                e_params = {'pos': pos }
-                if e.type == MOUSEMOTION: 
-                    e_params['buttons'] = e.buttons
-                    e_params['rel'] = e.rel
-                else:
-                    e_params['button'] = e.button
-                e = pygame.event.Event(e.type, e_params)
-        container.Container.event(self, e)
-
-#class SlideBox(Area):
-#    def __init__(self,*args,**params):
-#        print 'gui.SlideBox','Scheduled to be renamed to Area.'
-#        Area.__init__(self,*args,**params)
-    
-class ScrollArea(table.Table):
-    """A scrollable area with scrollbars.
-    
-    <pre>ScrollArea(widget,width,height,hscrollbar=True)</pre>
-    
-    <dl>
-    <dt>widget<dd>widget to be able to scroll around
-    <dt>width, height<dd>size of scrollable area.  Set either to 0 to default to size of widget.
-    <dt>hscrollbar<dd>set to False if you do not wish to have a horizontal scrollbar
-    <dt>vscrollbar<dd>set to False if you do not wish to have a vertical scrollbar
-    <dt>step<dd>set to how far clicks on the icons will step 
-    </dl>
-    """
-    def __init__(self, widget, width=0, height=0, hscrollbar=True, vscrollbar=True,step=24, **params):
-        w= widget
-        params.setdefault('cls', 'scrollarea')
-        table.Table.__init__(self, width=width,height=height,**params)
-        
-        self.sbox = SlideBox(w, width=width, height=height, cls=self.cls+".content")
-        self.widget = w
-        self.vscrollbar = vscrollbar
-        self.hscrollbar = hscrollbar
-        
-        self.step = step
-    
-    def __setattr__(self,k,v):
-        if k == 'widget':
-            self.sbox.widget = v
-        self.__dict__[k] = v
-
-    def resize(self,width=None,height=None):
-        widget = self.widget
-        box = self.sbox
-        
-        #self.clear()
-        table.Table.clear(self)
-        #print 'resize',self,self._rows
-        
-        self.tr()
-        self.td(box)
-        
-        widget.rect.w, widget.rect.h = widget.resize()
-        my_width,my_height = self.style.width,self.style.height
-        if not my_width:
-            my_width = widget.rect.w
-            self.hscrollbar = False
-        if not my_height:
-            my_height = widget.rect.h
-            self.vscrollbar = False
-        
-        box.style.width,box.style.height = my_width,my_height #self.style.width,self.style.height
-        
-        box.rect.w,box.rect.h = box.resize()
-        
-        #print widget.rect
-        #print box.rect
-        #r = table.Table.resize(self,width,height)
-        #print r
-        #return r
-        
-        #print box.offset
-        
-#         #this old code automatically adds in a scrollbar if needed
-#         #but it doesn't always work
-#         self.vscrollbar = None
-#         if widget.rect.h > box.rect.h:
-#             self.vscrollbar = slider.VScrollBar(box.offset[1],0, 65535, 0,step=self.step) 
-#             self.td(self.vscrollbar)
-#             self.vscrollbar.connect(CHANGE, self._vscrollbar_changed, None)
-#             
-#             vs = self.vscrollbar
-#             vs.rect.w,vs.rect.h = vs.resize()
-#             box.style.width = self.style.width - vs.rect.w
-#             
-#             
-#         self.hscrollbar = None
-#         if widget.rect.w > box.rect.w:
-#             self.hscrollbar = slider.HScrollBar(box.offset[0], 0,65535, 0,step=self.step)
-#             self.hscrollbar.connect(CHANGE, self._hscrollbar_changed, None)
-#             self.tr()
-#             self.td(self.hscrollbar)
-#             
-#             hs = self.hscrollbar
-#             hs.rect.w,hs.rect.h = hs.resize()
-#             box.style.height = self.style.height - hs.rect.h
-
-        xt,xr,xb,xl  = pguglobals.app.theme.getspacing(box)
-        
-
-        if self.vscrollbar:
-            self.vscrollbar = slider.VScrollBar(box.offset[1],0, 65535, 0,step=self.step) 
-            self.td(self.vscrollbar)
-            self.vscrollbar.connect(CHANGE, self._vscrollbar_changed, None)
-            
-            vs = self.vscrollbar
-            vs.rect.w,vs.rect.h = vs.resize()
-            if self.style.width:
-                box.style.width = self.style.width - (vs.rect.w + xl+xr)
-
-        if self.hscrollbar:
-            self.hscrollbar = slider.HScrollBar(box.offset[0], 0,65535, 0,step=self.step)
-            self.hscrollbar.connect(CHANGE, self._hscrollbar_changed, None)
-            self.tr()
-            self.td(self.hscrollbar)
-            
-            hs = self.hscrollbar
-            hs.rect.w,hs.rect.h = hs.resize()
-            if self.style.height:
-                box.style.height = self.style.height - (hs.rect.h + xt + xb)
-            
-        if self.hscrollbar:
-            hs = self.hscrollbar
-            hs.min = 0
-            hs.max = widget.rect.w - box.style.width
-            hs.style.width = box.style.width
-            hs.size = hs.style.width * box.style.width / max(1,widget.rect.w)
-        else:
-            box.offset[0] = 0
-            
-        if self.vscrollbar:
-            vs = self.vscrollbar
-            vs.min = 0
-            vs.max = widget.rect.h - box.style.height
-            vs.style.height = box.style.height
-            vs.size = vs.style.height * box.style.height / max(1,widget.rect.h)
-        else:
-            box.offset[1] = 0
-            
-        #print self.style.width,box.style.width, hs.style.width
-            
-        r = table.Table.resize(self,width,height)
-        return r
-    
-    def x_resize(self, width=None, height=None):
-        w,h = table.Table.resize(self, width, height)
-        if self.hscrollbar:
-            if self.widget.rect.w <= self.sbox.rect.w:
-                self.hscrollbar.size = self.hscrollbar.style.width
-            else:
-                self.hscrollbar.size = max(20,self.hscrollbar.style.width * self.sbox.rect.w / self.widget.rect.w)
-            self._hscrollbar_changed(None)
-        if self.widget.rect.h <= self.sbox.rect.h: 
-            self.vscrollbar.size = self.vscrollbar.style.height
-        else:
-            self.vscrollbar.size = max(20,self.vscrollbar.style.height * self.sbox.rect.h / self.widget.rect.h)
-        self._vscrollbar_changed(None)
-        return w,h
-
-    def _vscrollbar_changed(self, xxx):
-        #y = (self.widget.rect.h - self.sbox.rect.h) * self.vscrollbar.value / 1000
-        #if y >= 0: self.sbox.offset[1] = -y
-        self.sbox.offset[1] = self.vscrollbar.value
-        self.sbox.reupdate()
-
-    def _hscrollbar_changed(self, xxx):
-        #x = (self.widget.rect.w - self.sbox.rect.w) * self.hscrollbar.value / 1000
-        #if x >= 0: self.sbox.offset[0] = -x
-        self.sbox.offset[0] = self.hscrollbar.value
-        self.sbox.reupdate()
-
-
-    def set_vertical_scroll(self, percents): 
-        #if not self.vscrollbar: return
-        if not hasattr(self.vscrollbar,'value'): return
-        self.vscrollbar.value = percents #min(max(percents*10, 0), 1000)
-        self._vscrollbar_changed(None)
-
-    def set_horizontal_scroll(self, percents): 
-        #if not self.hscrollbar: return
-        if not hasattr(self.hscrollbar,'value'): return
-        self.hscrollbar.value = percents #min(max(percents*10, 0), 1000)
-        self._hscrollbar_changed(None)
-
-    def event(self, e):
-         #checking for event recipient
-         if (table.Table.event(self, e)):
-             return True
-
-         #mouse wheel scrolling
-         if self.vscrollbar:
-             if not hasattr(self.vscrollbar,'value'): 
-                 return False
- 
-             if e.type == pygame.locals.MOUSEBUTTONDOWN:
-                 if e.button == 4: #wheel up
-                     self.vscrollbar._click(-1)
-                     return True
-                 elif e.button == 5: #wheel down
-                     self.vscrollbar._click(1)
-                     return True
-         return False
-
-        
-
-
-class _List_Item(button._button):
-    def __init__(self,label=None,image=None,value=None,**params): #TODO label= could conflict with the module label
-        #param image: an imagez.Image object (optional)
-        #param text: a string object
-        params.setdefault('cls','list.item')
-        button._button.__init__(self,**params)
-        self.group = None
-        self.value = value #(self, value)
-        self.widget = None
-        
-        if type(label) == str: 
-            label = basic.Label(label, cls=self.cls+".label")
-
-        if image and label:
-            self.widget = container.Container()
-            self.widget.add(image, 0, 0)
-            #HACK: improper use of .resize()
-            image.rect.w,image.rect.h = image.resize()
-            self.widget.add(label, image.rect.w, 0)
-        elif image: self.widget = image
-        elif label: self.widget = label
-        
-        self.pcls = ""
-    
-    def resize(self,width=None,height=None):
-         self.widget.rect.w,self.widget.rect.h = self.widget.resize()
-         return self.widget.rect.w,self.widget.rect.h
-#         self.widget._resize()
-#         self.rect.w,self.rect.h = self.widget.rect_margin.w,self.widget.rect_margin.h
-    
-    def event(self,e):
-        button._button.event(self,e)
-        if self.group.value == self.value: self.pcls = "down"
-    
-    def paint(self,s):
-        if self.group.value == self.value: self.pcls = "down"
-        self.widget.paint(surface.subsurface(s,self.widget.rect))
-    
-    def click(self):
-        self.group.value = self.value
-        for w in self.group.widgets:
-            if w != self: w.pcls = ""
-
-
-
-class List(ScrollArea):
-    """A list of items in an area.
-    
-    <p>This widget can be a form element, it has a value set to whatever item is selected.</p>
-    
-    <pre>List(width,height)</pre>
-    """
-    def _change(self, value):
-        self.value = self.group.value
-        self.send(CHANGE)
-
-    def __init__(self, width, height, **params):
-        params.setdefault('cls', 'list')
-        self.table = table.Table(width=width)
-        ScrollArea.__init__(self, self.table, width, height,hscrollbar=False ,**params)
-        
-        self.items = []
-        
-        g = group.Group()
-        self.group = g
-        g.connect(CHANGE,self._change,None)
-        self.value = self.group.value = None
-	
-	self.add = self._add
-	self.remove = self._remove
-        
-    def clear(self):
-        """Clear the list.
-        
-        <pre>List.clear()</pre>
-        """
-        self.items = []
-        self.group = group.Group()
-        self.group.connect(CHANGE,self._change,None)
-        self.table.clear()
-        self.set_vertical_scroll(0)
-        self.blur(self.myfocus)
-        
-    def _docs(self): #HACK: nasty hack to get the docs in "my way"
-        def add(self, label, image=None, value=None):
-            """Add an item to the list.
-            
-            <pre>List.add(label,image=None,value=None)</pre>
-            
-            <dl>
-            <dt>label<dd>a label for the item
-            <dt>image<dd>an image for the item
-            <dt>value<dd>a value for the item
-            </dl>
-            """
-            
-        def remove(self,value):
-            """Remove an item from the list.
-            
-            <pre>List.remove(value)</pre>
-            
-            <dl>
-            <dt>value<dd>a value of an item to remove from the list
-            </dl>
-            """
-        
-    def _add(self, label, image = None, value=None):
-    	item = _List_Item(label,image=image,value=value)
-        self.table.tr()
-        self.table.add(item)
-        self.items.append(item)
-        item.group = self.group
-        item.group.add(item)
-        
-    def _remove(self, item):
-    	for i in self.items:
-		if i.value == item: item = i
-        if item not in self.items: return
-        item.blur()
-        self.items.remove(item)
-        self.group.widgets.remove(item)
-        self.table.remove_row(item.style.row)
-        
-#class List(ListArea):
-#    def __init__(self,*args,**params):
-#        print 'gui.List','Scheduled to be renamed to ListArea.  API may also be changed in the future.'
-#        ListArea.__init__(self,*args,**params)
diff --git a/src/pgu/gui/basic.py b/src/pgu/gui/basic.py
deleted file mode 100644
index 3800440..0000000
--- a/src/pgu/gui/basic.py
+++ /dev/null
@@ -1,136 +0,0 @@
-"""These widgets are all grouped together because they are non-interactive widgets.
-"""
-
-import pygame
-
-from const import *
-import widget
-
-# Turns a descriptive string or a tuple into a pygame color
-def parse_color(desc):
-    if (is_color(desc)):
-        # Already a color
-        return desc
-    elif (desc and desc[0] == "#"):
-        # Because of a bug in pygame 1.8.1 we need to explicitly define the 
-        # alpha value otherwise it will default to transparent.
-        if (len(desc) == 7):
-            desc += "FF"
-    return pygame.Color(desc)
-
-# Determines if the given object is a pygame-compatible color or not
-def is_color(col):
-    # In every version of pygame (up to 1.8.1 so far) will interpret
-    # a tuple as a color.
-    if (type(col) == tuple):
-        return col
-    if (hasattr(pygame, "Color") and type(pygame.Color) == type):
-        # This is a recent version of pygame that uses a proper type
-        # instance for colors.
-        return (isinstance(col, pygame.Color))
-    # Otherwise, this version of pygame only supports tuple colors
-    return False
-
-class Spacer(widget.Widget):
-    """A invisible space.
-    
-    <pre>Spacer(width,height)</pre>
-    
-    """
-    def __init__(self,width,height,**params):
-        params.setdefault('focusable',False)
-        widget.Widget.__init__(self,width=width,height=height,**params)
-        
-
-class Color(widget.Widget):
-    """A block of color.
-    
-    <p>The color can be changed at run-time.</p>
-    
-    <pre>Color(value=None)</pre>
-    
-    <strong>Example</strong>
-    <code>
-    c = Color()
-    c.value = (255,0,0)
-    c.value = (0,255,0)
-    </code>
-    """
-    
-    
-    def __init__(self,value=None,**params):
-        params.setdefault('focusable',False)
-        if value != None: params['value']=value
-        widget.Widget.__init__(self,**params)
-    
-    def paint(self,s):
-        if hasattr(self,'value'): s.fill(self.value)
-    
-    def __setattr__(self,k,v):
-        if k == 'value' and type(v) == str:
-            v = parse_color(v)
-        _v = self.__dict__.get(k,NOATTR)
-        self.__dict__[k]=v
-        if k == 'value' and _v != NOATTR and _v != v: 
-            self.send(CHANGE)
-            self.repaint()
-
-class Label(widget.Widget):
-    """A text label.
-    
-    <pre>Label(value)</pre>
-    
-    <dl>
-    <dt>value<dd>text to be displayed
-    </dl>
-    
-    <strong>Example</strong>
-    <code>
-    w = Label(value="I own a rubber chicken!")
-    
-    w = Label("3 rubber chickens")
-    </code>
-    """
-    def __init__(self,value,**params):
-        params.setdefault('focusable',False)
-        params.setdefault('cls','label')
-        widget.Widget.__init__(self,**params)
-        self.value = value
-        self.font = self.style.font
-        self.style.width, self.style.height = self.font.size(self.value)
-    
-    def paint(self,s):
-        s.blit(self.font.render(self.value, 1, self.style.color),(0,0))
-
-class Image(widget.Widget):
-    """An image.
-    
-    <pre>Image(value)</pre>
-    
-    <dl>
-    <dt>value<dd>a file name or a pygame.Surface
-    </dl>
-    
-    """
-    def __init__(self,value,**params):
-        params.setdefault('focusable',False)
-        widget.Widget.__init__(self,**params)
-        if type(value) == str: value = pygame.image.load(value)
-        
-        ow,oh = iw,ih = value.get_width(),value.get_height()
-        sw,sh = self.style.width,self.style.height
-        
-        if sw and not sh:
-            iw,ih = sw,ih*sw/iw
-        elif sh and not sw:
-            iw,ih = iw*sh/ih,sh
-        elif sw and sh:
-            iw,ih = sw,sh
-        
-        if (ow,oh) != (iw,ih):
-            value = pygame.transform.scale(value,(iw,ih))
-        self.style.width,self.style.height = iw,ih
-        self.value = value
-    
-    def paint(self,s):
-        s.blit(self.value,(0,0))
diff --git a/src/pgu/gui/button.py b/src/pgu/gui/button.py
deleted file mode 100644
index 90cdd1e..0000000
--- a/src/pgu/gui/button.py
+++ /dev/null
@@ -1,351 +0,0 @@
-"""
-"""
-
-from pygame.locals import *
-
-from const import *
-import widget, surface
-import basic
-
-class _button(widget.Widget):
-    def __init__(self,**params):
-        widget.Widget.__init__(self,**params)
-        self.state = 0
-    
-    def event(self,e):
-        if e.type == ENTER: self.repaint()
-        elif e.type == EXIT: self.repaint()
-        elif e.type == FOCUS: self.repaint()
-        elif e.type == BLUR: self.repaint()
-        elif e.type == KEYDOWN:
-            if e.key == K_SPACE or e.key == K_RETURN:
-                self.state = 1
-                self.repaint()
-        elif e.type == MOUSEBUTTONDOWN: 
-            self.state = 1
-            self.repaint()
-        elif e.type == KEYUP:
-            if self.state == 1:
-                sub = pygame.event.Event(CLICK,{'pos':(0,0),'button':1})
-                #self.send(sub.type,sub)
-                self._event(sub)
-            
-            self.state = 0
-            self.repaint()
-        elif e.type == MOUSEBUTTONUP:
-            self.state = 0
-            self.repaint()
-        elif e.type == CLICK:
-            self.click()
-        
-        self.pcls = ""
-        if self.state == 0 and self.container.myhover is self:
-            self.pcls = "hover"
-        if self.state == 1 and self.container.myhover is self:
-            self.pcls = "down"
-    
-    def click(self): 
-        pass
-
-
-class Button(_button):
-    """A button, buttons can be clicked, they are usually used to set up callbacks.
-    
-    <pre>Button(value=None)</pre>
-    
-    <dl>
-    <dt>value<dd>either a widget or a string
-    </dl>
-    
-    <strong>Example</strong>
-    <code>
-    w = gui.Button("Click Me")
-    w.connect(gui.CLICK,fnc,value)
-    </code>
-    """
-    def __init__(self,value=None,**params):
-        params.setdefault('cls','button')
-        _button.__init__(self,**params)
-        self.value = value
-    
-    def __setattr__(self,k,v):
-        if k == 'value' and type(v) == str: v = basic.Label(v,cls=self.cls+".label")
-        _v = self.__dict__.get(k,NOATTR)
-        self.__dict__[k]=v
-        if k == 'value' and v != None:
-            pass
-        
-        if k == 'value' and _v != NOATTR and _v != None and _v != v:
-            self.send(CHANGE)
-            self.chsize()
-    
-    def resize(self,width=None,height=None):
-        self.value.rect.x,self.value.rect.y = 0,0
-        self.value.rect.w,self.value.rect.h = self.value.resize(width,height)
-        return self.value.rect.w,self.value.rect.h
-#         
-#         self.value._resize()
-#         self.rect.w,self.rect.h = self.value.rect_margin.w,self.value.rect_margin.h
-#         
-#         if self.style.width: self.rect.w = max(self.rect.w,self.style.width)
-#         if self.style.height: self.rect.w = max(self.rect.w,self.style.height)
-#         
-#         xt,xr,xb,xl = self.value.getspacing()
-#         
-#         self.value._resize(self.rect.w-(xl+xr),self.rect.h-(xt+xb))
-#     
-    def paint(self,s):
-        self.value.pcls = self.pcls
-        self.value.paint(surface.subsurface(s,self.value.rect))
-
-class Switch(_button):
-    """A switch can have two states, True or False.
-    
-    <pre>Switch(value=False)</pre>
-    
-    <dl>
-    <dt>value<dd>initial value, (True, False)
-    </dl>
-    
-    <strong>Example</strong>
-    <code>
-    w = gui.Switch(True)
-    w.connect(gui.CHANGE,fnc,value)
-    </code>
-    """
-    def __init__(self,value=False,**params):
-        params.setdefault('cls','switch')
-        _button.__init__(self,**params)
-        self.value = value
-        
-        img = self.style.off
-        self.style.width = img.get_width()
-        self.style.height = img.get_height()
-    
-    def paint(self,s):
-        #self.pcls = ""
-        #if self.container.myhover is self: self.pcls = "hover"
-        if self.value: img = self.style.on
-        else: img = self.style.off
-        s.blit(img,(0,0))
-    
-    def __setattr__(self,k,v):
-        _v = self.__dict__.get(k,NOATTR)
-        self.__dict__[k]=v
-        if k == 'value' and _v != NOATTR and _v != v: 
-            self.send(CHANGE)
-            self.repaint()
-    
-    def click(self):
-        self.value = not self.value
-
-class Checkbox(_button):    
-    """Within a Group of Checkbox widgets several may be selected at a time.
-    
-    <pre>Checkbox(group,value=None)</pre>
-    
-    <dl>
-    <dt>group<dd>a gui.Group for the Checkbox to belong to
-    <dt>value<dd>the value
-    </dl>
-    
-    <strong>Example</strong>
-    <code>
-    g = gui.Group(name='colors',value=['r','b'])
-    
-    t = gui.Table()
-    t.tr()
-    t.td(gui.Label('Red'))
-    t.td(gui.Checkbox(g,'r'))
-    t.tr()
-    t.td(gui.Label('Green'))
-    t.td(gui.Checkbox(g,'g'))
-    t.tr()
-    t.td(gui.Label('Blue'))
-    t.td(gui.Checkbox(g,'b'))
-    </code>
-    """
-    
-    def __init__(self,group,value=None,**params):
-        params.setdefault('cls','checkbox')
-        _button.__init__(self,**params)
-        self.group = group
-        self.group.add(self)
-        if self.group.value == None:
-            self.group.value = []
-        self.value = value
-        
-        img = self.style.off
-        self.style.width = img.get_width()
-        self.style.height = img.get_height()
-    
-    def paint(self,s):
-        #self.pcls = ""
-        #if self.container.myhover is self: self.pcls = "hover"
-        if self.value in self.group.value: img = self.style.on
-        else: img = self.style.off
-        
-        s.blit(img,(0,0))
-    
-    def click(self):
-        if self.value in self.group.value:
-            self.group.value.remove(self.value)
-        else:
-            self.group.value.append(self.value)
-        self.group._change()
-
-class Radio(_button):
-    """Within a Group of Radio widgets only one may be selected at a time.
-    
-    <pre>Radio(group,value=None)</pre>
-    
-    <dl>
-    <dt>group<dd>a gui.Group for the Radio to belong to
-    <dt>value<dd>the value
-    </dl>
-    
-    <strong>Example</strong>
-    <code>
-    g = gui.Group(name='colors',value='g')
-    
-    t = gui.Table()
-    t.tr()
-    t.td(gui.Label('Red'))
-    t.td(gui.Radio(g,'r'))
-    t.tr()
-    t.td(gui.Label('Green'))
-    t.td(gui.Radio(g,'g'))
-    t.tr()
-    t.td(gui.Label('Blue'))
-    t.td(gui.Radio(g,'b'))
-    </code>
-    """
-    
-    
-    def __init__(self,group=None,value=None,**params):
-        params.setdefault('cls','radio')
-        _button.__init__(self,**params)
-        self.group = group
-        self.group.add(self)
-        self.value = value
-        
-        img = self.style.off
-        self.style.width = img.get_width()
-        self.style.height = img.get_height()
-    
-    def paint(self,s):
-        #self.pcls = ""
-        #if self.container.myhover is self: self.pcls = "hover"
-        if self.group.value == self.value: img = self.style.on
-        else: img = self.style.off
-        s.blit(img,(0,0))
-    
-    def click(self):
-        self.group.value = self.value
-
-class Tool(_button):
-    """Within a Group of Tool widgets only one may be selected at a time.
-    
-    <pre>Tool(group,widget=None,value=None)</pre>
-    
-    <dl>
-    <dt>group<dd>a gui.Group for the Tool to belong to
-    <dt>widget<dd>a widget to appear on the Tool (similar to a Button)
-    <dt>value<dd>the value
-    </dl>
-    
-    <strong>Example</strong>
-    <code>
-    g = gui.Group(name='colors',value='g')
-    
-    t = gui.Table()
-    t.tr()
-    t.td(gui.Tool(g,'Red','r'))
-    t.tr()
-    t.td(gui.Tool(g,'Green','g'))
-    t.tr()
-    t.td(gui.Tool(g,'Blue','b'))
-    </code>
-    """
-
-    def __init__(self,group,widget=None,value=None,**params): #TODO widget= could conflict with module widget
-        params.setdefault('cls','tool')
-        _button.__init__(self,**params)
-        self.group = group
-        self.group.add(self)
-        self.value = value
-        
-        if widget:
-            self.setwidget(widget)
-        
-        if self.group.value == self.value: self.pcls = "down"
-    
-    def setwidget(self,w):
-        self.widget = w
-    
-    def resize(self,width=None,height=None):
-        self.widget.rect.w,self.widget.rect.h = self.widget.resize()
-        #self.widget._resize()
-        #self.rect.w,self.rect.h = self.widget.rect_margin.w,self.widget.rect_margin.h
-        
-        return self.widget.rect.w,self.widget.rect.h
-    
-    def event(self,e):
-        _button.event(self,e)
-        if self.group.value == self.value: self.pcls = "down"
-    
-    def paint(self,s):
-        if self.group.value == self.value: self.pcls = "down"
-        self.widget.paint(surface.subsurface(s,self.widget.rect))
-    
-    def click(self):
-        self.group.value = self.value
-        for w in self.group.widgets:
-            if w != self: w.pcls = ""
-
-            
-class Icon(_button):
-    """TODO - might be deprecated
-    """
-    def __init__(self,cls,**params):
-        params['cls'] = cls
-        _button.__init__(self,**params)
-        s = self.style.image
-        self.style.width = s.get_width()
-        self.style.height = s.get_height()
-        self.state = 0
-    
-    def paint(self,s):
-        #self.pcls = ""
-        #if self.state == 0 and hasattr(self.container,'myhover') and self.container.myhover is self: self.pcls = "hover"
-        #if self.state == 1 and hasattr(self.container,'myhover') and self.container.myhover is self: self.pcls = "down"
-        s.blit(self.style.image,(0,0))
-
-class Link(_button):
-    """A link, links can be clicked, they are usually used to set up callbacks.  
-    Basically the same as the button widget, just text only with a different cls.  Made for
-    convenience.
-    
-    <pre>Link(value=None)</pre>
-    
-    <dl>
-    <dt>value<dd>a string
-    </dl>
-    
-    <strong>Example</strong>
-    <code>
-    w = gui.Link("Click Me")
-    w.connect(gui.CLICK,fnc,value)
-    </code>
-    """
-    def __init__(self,value,**params):
-        params.setdefault('focusable',True)
-        params.setdefault('cls','link')
-        _button.__init__(self,**params)
-        self.value = value
-        self.font = self.style.font
-        self.style.width, self.style.height = self.font.size(self.value)
-    
-    def paint(self,s):
-        s.blit(self.font.render(self.value, 1, self.style.color),(0,0))
-
diff --git a/src/pgu/gui/const.py b/src/pgu/gui/const.py
deleted file mode 100644
index c865cd8..0000000
--- a/src/pgu/gui/const.py
+++ /dev/null
@@ -1,45 +0,0 @@
-"""Constants.
-<br><br>
-<strong>Event Types</strong>
-
-<p>from pygame</p>
-<dl>
-<dt>QUIT
-<dt>MOUSEBUTTONDOWN
-<dt>MOUSEBUTTONUP
-<dt>MOUSEMOTION
-<dt>KEYDOWN
-</dl>
-
-<p>gui specific</p>
-<dl>
-<dt>ENTER
-<dt>EXIT
-<dt>BLUR
-<dt>FOCUS
-<dt>CLICK
-<dt>CHANGE
-<dt>OPEN
-<dt>CLOSE
-<dt>INIT
-</dl>
-
-<strong>Other</strong>
-<dl>
-<dt>NOATTR
-</dl>
-"""
-import pygame
-
-from pygame.locals import QUIT, MOUSEBUTTONDOWN, MOUSEBUTTONUP, MOUSEMOTION, KEYDOWN, USEREVENT
-ENTER = pygame.locals.USEREVENT + 0
-EXIT = pygame.locals.USEREVENT + 1
-BLUR = pygame.locals.USEREVENT + 2
-FOCUS = pygame.locals.USEREVENT + 3
-CLICK = pygame.locals.USEREVENT + 4
-CHANGE = pygame.locals.USEREVENT + 5
-OPEN = pygame.locals.USEREVENT + 6
-CLOSE = pygame.locals.USEREVENT + 7
-INIT = 'init'
-
-class NOATTR: pass
\ No newline at end of file
diff --git a/src/pgu/gui/container.py b/src/pgu/gui/container.py
deleted file mode 100644
index 73a8e68..0000000
--- a/src/pgu/gui/container.py
+++ /dev/null
@@ -1,414 +0,0 @@
-"""
-"""
-import pygame
-from pygame.locals import *
-
-from const import *
-import widget, surface
-import pguglobals
-
-class Container(widget.Widget):
-    """The base container widget, can be used as a template as well as stand alone.
-    
-    <pre>Container()</pre>
-    """
-    def __init__(self,**params):
-        widget.Widget.__init__(self,**params)
-        self.myfocus = None
-        self.mywindow = None
-        self.myhover = None
-        #self.background = 0
-        self.widgets = []
-        self.windows = []
-        self.toupdate = {}
-        self.topaint = {}
-    
-    def update(self,s):
-        updates = []
-        
-        if self.myfocus: self.toupdate[self.myfocus] = self.myfocus
-        
-        for w in self.topaint:
-            if w is self.mywindow:
-                continue
-            else:
-                sub = surface.subsurface(s,w.rect)
-                #if (hasattr(w, "_container_bkgr")):
-                #    sub.blit(w._container_bkgr,(0,0))
-                w.paint(sub)
-                updates.append(pygame.rect.Rect(w.rect))
-        
-        for w in self.toupdate:
-            if w is self.mywindow:
-                continue
-            else:            
-                us = w.update(surface.subsurface(s,w.rect))
-            if us:
-                for u in us:
-                    updates.append(pygame.rect.Rect(u.x + w.rect.x,u.y+w.rect.y,u.w,u.h))
-        
-        for w in self.topaint:
-            if w is self.mywindow:
-                w.paint(self.top_surface(s,w))
-                updates.append(pygame.rect.Rect(w.rect))
-            else:
-                continue 
-        
-        for w in self.toupdate:
-            if w is self.mywindow:
-                us = w.update(self.top_surface(s,w))
-            else:            
-                continue 
-            if us:
-                for u in us:
-                    updates.append(pygame.rect.Rect(u.x + w.rect.x,u.y+w.rect.y,u.w,u.h))
-        
-        self.topaint = {}
-        self.toupdate = {}
-        
-        return updates
-    
-    def repaint(self,w=None):
-        if not w:
-            return widget.Widget.repaint(self)
-        self.topaint[w] = w
-        self.reupdate()
-    
-    def reupdate(self,w=None):
-        if not w:
-            return widget.Widget.reupdate(self)
-        self.toupdate[w] = w
-        self.reupdate()
-    
-    def paint(self,s):
-        self.toupdate = {}
-        self.topaint = {}
-        for w in self.widgets:
-            try:
-                sub = surface.subsurface(s, w.rect)
-            except: 
-                print 'container.paint(): %s not inside %s' % (
-                    w.__class__.__name__,self.__class__.__name__)
-                print s.get_width(), s.get_height(), w.rect
-                print ""
-            else:
-#                if (not hasattr(w,'_container_bkgr') or 
-#                    w._container_bkgr.get_size() != sub.get_size()):
-#                         #w._container_bkgr.get_width() == sub.get_width() and 
-#                         #w._container_bkgr.get_height() == sub.get_height())):
-#                    w._container_bkgr = sub.copy()
-#                w._container_bkgr.fill((0,0,0,0))
-#                w._container_bkgr.blit(sub,(0,0))
-                w.paint(sub)
-
-        for w in self.windows:
-            w.paint(self.top_surface(s,w))
-    
-    def top_surface(self,s,w):
-        x,y = s.get_abs_offset()
-        s = s.get_abs_parent()
-        return surface.subsurface(s,(x+w.rect.x,y+w.rect.y,w.rect.w,w.rect.h))
-    
-    def event(self,e):
-        used = False
-        
-        if self.mywindow and e.type == MOUSEBUTTONDOWN:
-            w = self.mywindow
-            if self.myfocus is w:
-                if not w.rect.collidepoint(e.pos): self.blur(w)
-            if not self.myfocus:
-                if w.rect.collidepoint(e.pos): self.focus(w)
-        
-        if not self.mywindow:
-            #### by Gal Koren
-            ##
-            ## if e.type == FOCUS:
-            if e.type == FOCUS and not self.myfocus:
-                #self.first()
-                pass
-            elif e.type == EXIT:
-                if self.myhover: self.exit(self.myhover)
-            elif e.type == BLUR:
-                if self.myfocus: self.blur(self.myfocus)
-            elif e.type == MOUSEBUTTONDOWN:
-                h = None
-                for w in self.widgets:
-                    if not w.disabled: #focusable not considered, since that is only for tabs
-                        if w.rect.collidepoint(e.pos):
-                            h = w
-                            if self.myfocus is not w: self.focus(w)
-                if not h and self.myfocus:
-                    self.blur(self.myfocus)
-            elif e.type == MOUSEMOTION:
-                if 1 in e.buttons:
-                    if self.myfocus: ws = [self.myfocus]
-                    else: ws = []
-                else: ws = self.widgets
-                
-                h = None
-                for w in ws:
-                    if w.rect.collidepoint(e.pos):
-                        h = w
-                        if self.myhover is not w: self.enter(w)
-                if not h and self.myhover:
-                    self.exit(self.myhover)
-                w = self.myhover
-                
-                if w and w is not self.myfocus:
-                    sub = pygame.event.Event(e.type,{
-                        'buttons':e.buttons,
-                        'pos':(e.pos[0]-w.rect.x,e.pos[1]-w.rect.y),
-                        'rel':e.rel})
-                    used = w._event(sub)
-        
-        w = self.myfocus
-        if w:
-            sub = e
-            
-            if e.type == MOUSEBUTTONUP or e.type == MOUSEBUTTONDOWN:
-                sub = pygame.event.Event(e.type,{
-                    'button':e.button,
-                    'pos':(e.pos[0]-w.rect.x,e.pos[1]-w.rect.y)})
-                used = w._event(sub)
-            elif e.type == CLICK and self.myhover is w:
-                sub = pygame.event.Event(e.type,{
-                    'button':e.button,
-                    'pos':(e.pos[0]-w.rect.x,e.pos[1]-w.rect.y)})
-                used = w._event(sub)
-            elif e.type == CLICK: #a dead click
-                pass
-            elif e.type == MOUSEMOTION:
-                sub = pygame.event.Event(e.type,{
-                    'buttons':e.buttons,
-                    'pos':(e.pos[0]-w.rect.x,e.pos[1]-w.rect.y),
-                    'rel':e.rel})
-                used = w._event(sub)
-            else:
-                used = w._event(sub)
-                
-        if not used:
-            if e.type is KEYDOWN:
-                if e.key is K_TAB and self.myfocus:
-                    if (e.mod&KMOD_SHIFT) == 0:
-                        self.myfocus.next()
-                    else:
-                        self.myfocus.previous()
-                    return True
-                elif e.key == K_UP: 
-                    self._move_focus(0,-1)
-                    return True
-                elif e.key == K_RIGHT:
-                    self._move_focus(1,0)
-                    return True
-                elif e.key == K_DOWN:
-                    self._move_focus(0,1)
-                    return True
-                elif e.key == K_LEFT:
-                    self._move_focus(-1,0)
-                    return True
-        return used
-        
-    def _move_focus(self,dx_,dy_):
-        myfocus = self.myfocus
-        if not self.myfocus: return
-        
-        widgets = self._get_widgets(pguglobals.app)
-        #if myfocus not in widgets: return
-        #widgets.remove(myfocus)
-        if myfocus in widgets:
-            widgets.remove(myfocus)
-        rect = myfocus.get_abs_rect()
-        fx,fy = rect.centerx,rect.centery
-        
-        def sign(v):
-            if v < 0: return -1
-            if v > 0: return 1
-            return 0
-        
-        dist = []
-        for w in widgets:
-            wrect = w.get_abs_rect()
-            wx,wy = wrect.centerx,wrect.centery
-            dx,dy = wx-fx,wy-fy
-            if dx_ > 0 and wrect.left < rect.right: continue
-            if dx_ < 0 and wrect.right > rect.left: continue
-            if dy_ > 0 and wrect.top < rect.bottom: continue
-            if dy_ < 0 and wrect.bottom > rect.top: continue
-            dist.append((dx*dx+dy*dy,w))
-        if not len(dist): return
-        dist.sort()
-        d,w = dist.pop(0)
-        w.focus()
-        
-    def _get_widgets(self,c):
-        widgets = []
-        if c.mywindow:
-            widgets.extend(self._get_widgets(c.mywindow))
-        else:
-            for w in c.widgets:
-                if isinstance(w,Container):
-                    widgets.extend(self._get_widgets(w))
-                elif not w.disabled and w.focusable:
-                    widgets.append(w)
-        return widgets
-
-    def remove(self,w):
-        """Remove a widget from the container.
-        
-        <pre>Container.remove(w)</pre>
-        """
-        self.blur(w)
-        self.widgets.remove(w)
-        #self.repaint()
-        self.chsize()
-    
-    def add(self,w,x,y):
-        """Add a widget to the container.
-        
-        <pre>Container.add(w,x,y)</pre>
-        
-        <dl>
-        <dt>x, y<dd>position of the widget
-        </dl>
-        """
-        w.style.x = x
-        w.style.y = y 
-        w.container = self
-        #NOTE: this might fix it, sort of...
-        #but the thing is, we don't really want to resize
-        #something if it is going to get resized again later
-        #for no reason...
-        #w.rect.x,w.rect.y = w.style.x,w.style.y
-        #w.rect.w, w.rect.h = w.resize()
-        self.widgets.append(w)
-        self.chsize()
-    
-    def open(self,w=None,x=None,y=None):
-        if (not w):
-            w = self
-
-        if (x != None):
-            # The position is relative to this container
-            rect = self.get_abs_rect()
-            pos = (rect.x + x, rect.y + y)
-        else:
-            pos = None
-        # Have the application open the window
-        pguglobals.app.open(w, pos)
-        
-    def focus(self,w=None):
-        widget.Widget.focus(self) ### by Gal koren
-#        if not w:
-#            return widget.Widget.focus(self)
-        if not w: return
-        if self.myfocus: self.blur(self.myfocus)
-        if self.myhover is not w: self.enter(w)
-        self.myfocus = w
-        w._event(pygame.event.Event(FOCUS))
-        
-        #print self.myfocus,self.myfocus.__class__.__name__
-    
-    def blur(self,w=None):
-        if not w:
-            return widget.Widget.blur(self)
-        if self.myfocus is w:
-            if self.myhover is w: self.exit(w)
-            self.myfocus = None
-            w._event(pygame.event.Event(BLUR))
-    
-    def enter(self,w):
-        if self.myhover: self.exit(self.myhover)
-        self.myhover = w
-        w._event(pygame.event.Event(ENTER))
-    
-    def exit(self,w):
-        if self.myhover and self.myhover is w:
-            self.myhover = None
-            w._event(pygame.event.Event(EXIT))    
-    
-    
-#     def first(self):
-#         for w in self.widgets:
-#             if w.focusable:
-#                 self.focus(w)
-#                 return
-#         if self.container: self.container.next(self)
-    
-#     def next(self,w):
-#         if w not in self.widgets: return #HACK: maybe.  this happens in windows for some reason...
-#         
-#         for w in self.widgets[self.widgets.index(w)+1:]:
-#             if w.focusable:
-#                 self.focus(w)
-#                 return
-#         if self.container: return self.container.next(self)
-    
-    
-    def _next(self,orig=None):
-        start = 0
-        if orig in self.widgets: start = self.widgets.index(orig)+1
-        for w in self.widgets[start:]:
-            if not w.disabled and w.focusable:
-                if isinstance(w,Container):
-                    if w._next():
-                        return True
-                else:
-                    self.focus(w)
-                    return True
-        return False
-    
-    def _previous(self,orig=None):
-        end = len(self.widgets)
-        if orig in self.widgets: end = self.widgets.index(orig)
-        ws = self.widgets[:end]
-        ws.reverse()
-        for w in ws:
-            if not w.disabled and w.focusable:
-                if isinstance(w,Container):
-                    if w._previous():
-                        return True
-                else:
-                    self.focus(w)
-                    return True
-        return False
-                
-    def next(self,w=None):
-        if w != None and w not in self.widgets: return #HACK: maybe.  this happens in windows for some reason...
-        
-        if self._next(w): return True
-        if self.container: return self.container.next(self)
-    
-    
-    def previous(self,w=None):
-        if w != None and w not in self.widgets: return #HACK: maybe.  this happens in windows for some reason...
-        
-        if self._previous(w): return True
-        if self.container: return self.container.previous(self)
-    
-    def resize(self,width=None,height=None):
-        #r = self.rect
-        #r.w,r.h = 0,0
-        ww,hh = 0,0
-        if self.style.width: ww = self.style.width
-        if self.style.height: hh = self.style.height
-        
-        for w in self.widgets:
-            #w.rect.w,w.rect.h = 0,0
-            w.rect.x,w.rect.y = w.style.x,w.style.y
-            w.rect.w, w.rect.h = w.resize()
-            #w._resize()
-            
-            ww = max(ww,w.rect.right)
-            hh = max(hh,w.rect.bottom)
-        return ww,hh
-
-    # Returns the widget with the given name
-    def find(self, name):
-        for w in self.widgets:
-            if (w.name == name):
-                return w
-            elif (isinstance(w, Container)):
-                tmp = w.find(name)
-                if (tmp): return tmp
-        return None
-
diff --git a/src/pgu/gui/deprecated.py b/src/pgu/gui/deprecated.py
deleted file mode 100644
index 8d53515..0000000
--- a/src/pgu/gui/deprecated.py
+++ /dev/null
@@ -1,76 +0,0 @@
-import pygame
-
-from const import *
-import table
-import group
-import button, basic
-import pguglobals
-
-def action_open(value):
-    print 'gui.action_open',"Scheduled to be deprecated."
-    value.setdefault('x',None)
-    value.setdefault('y',None)
-    value['container'].open(value['window'],value['x'],value['y'])
-
-def action_setvalue(value):
-    print 'gui.action_setvalue',"Scheduled to be deprecated."
-    a,b = value
-    b.value = a.value
-
-def action_quit(value):
-    print 'gui.action_quit',"Scheduled to be deprecated."
-    value.quit()
-
-def action_exec(value):
-    print 'gui.action_exec',"Scheduled to be deprecated."
-    exec(value['script'],globals(),value['dict'])
-
-class Toolbox(table.Table):
-    def __setattr__(self,k,v):
-        _v = self.__dict__.get(k,NOATTR)
-        self.__dict__[k]=v
-        if k == 'value' and _v != NOATTR and _v != v: 
-            self.group.value = v
-            for w in self.group.widgets:
-                if w.value != v: w.pcls = ""
-                else: w.pcls = "down"
-            self.repaint()
-    
-    def _change(self,value):
-        self.value = self.group.value
-        self.send(CHANGE)
-    
-    def __init__(self,data,cols=0,rows=0,tool_cls='tool',value=None,**params):
-        print 'gui.Toolbox','Scheduled to be deprecated.'
-        params.setdefault('cls','toolbox')
-        table.Table.__init__(self,**params)
-        
-        if cols == 0 and rows == 0: cols = len(data)
-        if cols != 0 and rows != 0: rows = 0
-        
-        self.tools = {}
-        
-        _value = value
-        
-        g = group.Group()
-        self.group = g
-        g.connect(CHANGE,self._change,None)
-        self.group.value = _value
-        
-        x,y,p,s = 0,0,None,1
-        for ico,value in data:
-            #from __init__ import theme
-            img = pguglobals.app.theme.get(tool_cls+"."+ico,"","image")
-            if img:
-                i = basic.Image(img)
-            else: i = basic.Label(ico,cls=tool_cls+".label")
-            p = button.Tool(g,i,value,cls=tool_cls)
-            self.tools[ico] = p
-            #p.style.hexpand = 1
-            #p.style.vexpand = 1
-            self.add(p,x,y)
-            s = 0
-            if cols != 0: x += 1
-            if cols != 0 and x == cols: x,y = 0,y+1
-            if rows != 0: y += 1
-            if rows != 0 and y == rows: x,y = x+1,0
diff --git a/src/pgu/gui/dialog.py b/src/pgu/gui/dialog.py
deleted file mode 100644
index 0d30b34..0000000
--- a/src/pgu/gui/dialog.py
+++ /dev/null
@@ -1,168 +0,0 @@
-"""
-"""
-import os
-
-from const import *
-import table, area
-import basic, input, button
-import pguglobals
-
-class Dialog(table.Table):
-    """A dialog window with a title bar and an "close" button on the bar.
-    
-    <pre>Dialog(title,main)</pre>
-    
-    <dl>
-    <dt>title<dd>title widget, usually a label
-    <dt>main<dd>main widget, usually a container
-    </dl>
-    
-    <strong>Example</strong>
-    <code>
-    title = gui.Label("My Title")
-    main = gui.Container()
-    #add stuff to the container...
-    
-    d = gui.Dialog(title,main)
-    d.open()
-    </code>
-    """
-    def __init__(self,title,main,**params):
-        params.setdefault('cls','dialog')
-        table.Table.__init__(self,**params)
-        
-        
-        self.tr()
-        self.td(title,align=-1,cls=self.cls+'.bar')
-        clos = button.Icon(self.cls+".bar.close")
-        clos.connect(CLICK,self.close,None) 
-        self.td(clos,align=1,cls=self.cls+'.bar')
-        
-        self.tr()
-        self.td(main,colspan=2,cls=self.cls+".main")
-        
-        
-#         self.tr()
-#         
-#         
-#         t = table.Table(cls=self.cls+".bar")
-#         t.tr()
-#         t.td(title)
-#         clos = button.Icon(self.cls+".bar.close")
-#         t.td(clos,align=1)
-#         clos.connect(CLICK,self.close,None) 
-#         self.add(t,0,0)
-#         
-#         main.rect.w,main.rect.h = main.resize()
-#         clos.rect.w,clos.rect.h = clos.resize()
-#         title.container.style.width = main.rect.w - clos.rect.w
-#         
-#         self.tr()
-#         self.td(main,cls=self.cls+".main")
-# 
-        
-        
-class FileDialog(Dialog):
-    """A file picker dialog window.
-    
-    <pre>FileDialog()</pre>
-    <p>Some optional parameters:</p>
-    <dl>
-    <dt>title_txt<dd>title text
-    <dt>button_txt<dd>button text
-    <dt>path<dd>initial path
-    </dl>
-    """
-    
-    def __init__(self, title_txt="File Browser", button_txt="Okay", cls="dialog", folderText = "Folder", fileText = "File", path=None, customFont = None, showCurDir = True, customWidth = 350, customHeight = 150):
-        
-        self.customFont = customFont
-        self.showCurDir= showCurDir
-        cls1 = 'filedialog'
-        if not path: self.curdir = os.getcwd()
-        else: self.curdir = path
-        self.dir_img = basic.Image(
-            pguglobals.app.theme.get(cls1+'.folder', '', 'image'))
-        td_style = {'padding_left': 4,
-                    'padding_right': 4,
-                    'padding_top': 2,
-                    'padding_bottom': 2}
-        self.title = basic.Label(title_txt, cls=cls+".title.label")
-        self.body = table.Table()
-        self.list = area.List(width=customWidth, height=customHeight)
-        self.input_dir = input.Input(customFont = self.customFont)
-        self.input_file = input.Input(customFont = self.customFont)
-        self._list_dir_()
-        self.button_ok = button.Button(button_txt)
-        self.body.tr()
-        if self.showCurDir :
-            self.body.td(basic.Label(folderText), style=td_style, align=-1)
-            self.body.td(self.input_dir, style=td_style)
-            self.body.tr()
-        self.body.td(self.list, colspan=3, style=td_style)
-        self.list.connect(CHANGE, self._item_select_changed_, None)
-        self.button_ok.connect(CLICK, self._button_okay_clicked_, None)
-        self.body.tr()
-        self.body.td(basic.Label(fileText), style=td_style, align=-1)
-        self.body.td(self.input_file, style=td_style)
-        self.body.td(self.button_ok, style=td_style)
-        self.value = None
-        Dialog.__init__(self, self.title, self.body)
-        
-    def _list_dir_(self):
-        self.input_dir.value = self.curdir
-        self.input_dir.pos = len(self.curdir)
-        self.input_dir.vpos = 0
-        dirs = []
-        files = []
-        try:
-            for i in os.listdir(self.curdir):
-                if os.path.isdir(os.path.join(self.curdir, i)): dirs.append(i)
-                else: files.append(i)
-        except:
-            self.input_file.value = "Opps! no access"
-        #if '..' not in dirs: dirs.append('..')
-        dirs.sort()
-        dirs = ['..'] + dirs
-        
-        files.sort()
-        for i in dirs:
-            #item = ListItem(image=self.dir_img, text=i, value=i)
-            if self.customFont == None :
-                self.list.add(i,image=self.dir_img,value=i)
-            else :
-                label = basic.Label(i,font = self.customFont)
-                self.list.add(label,image=self.dir_img,value=i)
-        for i in files:
-            #item = ListItem(image=None, text=i, value=i)
-            if self.customFont == None :
-                self.list.add(i,value=i)
-            else:
-                label = basic.Label(i,font = self.customFont)
-                self.list.add(label,value=i)
-        #self.list.resize()
-        self.list.set_vertical_scroll(0)
-        #self.list.repaintall()
-        
-        
-    def _item_select_changed_(self, arg):
-        self.input_file.value = self.list.value
-        fname = os.path.abspath(os.path.join(self.curdir, self.input_file.value))
-        if os.path.isdir(fname):
-            self.input_file.value = ""
-            self.curdir = fname
-            self.list.clear()
-            self._list_dir_()
-
-
-    def _button_okay_clicked_(self, arg):
-        if self.input_dir.value != self.curdir:
-            if os.path.isdir(self.input_dir.value):
-                self.input_file.value = ""
-                self.curdir = os.path.abspath(self.input_dir.value)
-                self.list.clear()
-                self._list_dir_()
-        else:
-            self.value = os.path.join(self.curdir, self.input_file.value)
-	    self.send(CHANGE)
-            self.close()
diff --git a/src/pgu/gui/document.py b/src/pgu/gui/document.py
deleted file mode 100644
index 1bd96df..0000000
--- a/src/pgu/gui/document.py
+++ /dev/null
@@ -1,112 +0,0 @@
-"""
-"""
-import pygame
-
-import container
-import layout
-
-class _document_widget:
-    def __init__(self,w,align=None):
-        #w.rect.w,w.rect.h = w.resize()
-        #self.rect = w.rect
-        self.widget = w
-        if align != None: self.align = align
-
-class Document(container.Container):
-    """A document container contains many widgets strung together in a document format.  (How informative!)
-    
-    <pre>Document()</pre>
-    
-    """
-    def __init__(self,**params):
-        params.setdefault('cls','document')
-        container.Container.__init__(self,**params)
-        self.layout =  layout.Layout(pygame.Rect(0,0,self.rect.w,self.rect.h))
-    
-    def add(self,e,align=None):
-        """Add a widget.
-        
-        <pre>Document.add(e,align=None)</pre>
-        
-        <dl>
-        <dt>e<dd>widget
-        <dt>align<dd>alignment (None,-1,0,1)
-        </dl>
-        """
-        dw = _document_widget(e,align)
-        self.layout.add(dw)
-        e.container = self
-        e._c_dw = dw
-        self.widgets.append(e)
-        self.chsize()
-        
-    def remove(self,e):
-        self.layout._widgets.remove(e._c_dw)
-        self.widgets.remove(e)
-        self.chsize()
-        
-    
-    def block(self,align):
-        """Start a new block.
-        
-        <pre>Document.block(align)</pre>
-        
-        <dl>
-        <dt>align<dd>alignment of block (-1,0,1)
-        </dl>
-        """
-        self.layout.add(align)
-    
-    def space(self,e):
-        """Add a spacer.
-        
-        <pre>Document.space(e)</pre>
-        
-        <dl>
-        <dt>e<dd>a (w,h) size for the spacer
-        </dl>
-        """
-        self.layout.add(e)
-    
-    def br(self,height):
-        """Add a line break.
-        
-        <pre>Document.br(height)</pre>
-        
-        <dl>
-        <dt>height<dd>height of line break
-        </dl>
-        """
-        self.layout.add((0,height))
-    
-    def resize(self,width=None,height=None):
-        if self.style.width: width = self.style.width
-        if self.style.height: height = self.style.height
-        
-        for w in self.widgets:
-            w.rect.w,w.rect.h = w.resize()
-            
-            if (width != None and w.rect.w > width) or (height != None and w.rect.h > height):
-                w.rect.w,w.rect.h = w.resize(width,height)
-            
-            dw = w._c_dw
-            dw.rect = pygame.Rect(0,0,w.rect.w,w.rect.h)
-        
-        if width == None: width = 65535
-        self.layout.rect = pygame.Rect(0,0,width,0)
-        self.layout.resize()
-        
-        _max_w = 0
-        
-        for w in self.widgets:
-            #xt,xl,xb,xr = w.getspacing()
-            dw = w._c_dw
-            w.style.x,w.style.y,w.rect.w,w.rect.h = dw.rect.x,dw.rect.y,dw.rect.w,dw.rect.h
-            #w.resize()
-            w.rect.x,w.rect.y = w.style.x,w.style.y
-            _max_w = max(_max_w,w.rect.right)
-        
-        #self.rect.w = _max_w #self.layout.rect.w
-        #self.rect.h = self.layout.rect.h
-        #print 'document',_max_w,self.layout.rect.h
-        return _max_w,self.layout.rect.h
diff --git a/src/pgu/gui/form.py b/src/pgu/gui/form.py
deleted file mode 100644
index 9a874f9..0000000
--- a/src/pgu/gui/form.py
+++ /dev/null
@@ -1,79 +0,0 @@
-"""
-"""
-import widget
-
-class Form(widget.Widget):
-    """A form that automatically will contain all named widgets.
-    
-    <p>After a form is created, all named widget that are subsequently created are added
-    to that form.  You may use dict style access to access named widgets.</p>
-    
-    <pre>Form()</pre>
-    
-    <strong>Example</strong>
-    <code>
-    f = gui.Form()
-    
-    w = gui.Input("Phil",name="firstname")
-    w = gui.Input("Hassey",name="lastname")
-    
-    print f.results()
-    print ''
-    print f.items()
-    print ''
-    print f['firstname'].value
-    print f['lastname'].value
-    </code>
-    """
-    
-    def __init__(self):
-        widget.Widget.__init__(self,decorate=False)
-        self._elist = []
-        self._emap = {}
-        self._dirty = 0
-        Form.form = self
-    
-    def add(self,e,name=None,value=None):
-        if name != None: e.name = name
-        if value != None: e.value = value
-        self._elist.append(e)
-        self._dirty = 1
-    
-    def _clean(self):
-        for e in self._elist[:]:
-            if not hasattr(e,'name') or e.name == None:
-                self._elist.remove(e)
-        self._emap = {}
-        for e in self._elist:
-            self._emap[e.name] = e
-        self._dirty = 0
-    
-    def __getitem__(self,k):
-        if self._dirty: self._clean()
-        return self._emap[k]
-    
-    def __contains__(self,k):
-        if self._dirty: self._clean()
-        if k in self._emap: return True
-        return False
-    
-    def results(self):
-        """Return a dict of name => values.
-        
-        <pre>Form.results(): return dict</pre>
-        """
-        if self._dirty: self._clean()
-        r = {}
-        for e in self._elist:
-            r[e.name] = e.value
-        return r
-    
-    def items(self):
-        """Return a list of name, value keys.
-        
-        <pre>Form.items(): return list</pre>
-        """
-        return self.results().items()
-    
-    #def start(self):
-    #    Object.start(self,-1)
diff --git a/src/pgu/gui/group.py b/src/pgu/gui/group.py
deleted file mode 100644
index bcb231a..0000000
--- a/src/pgu/gui/group.py
+++ /dev/null
@@ -1,43 +0,0 @@
-"""
-"""
-from const import *
-import widget
-
-class Group(widget.Widget):
-    """An object for grouping together Form elements.
-    
-    <pre>Group(name=None,value=None)</pre>
-    
-    <dl>
-    <dt>name<dd>name as used in the Form
-    <dt>value<dd>values that are currently selected in the group
-    </dl>
-    
-    <p>See [[gui-button]] for several examples.</p>
-    
-    <p>When the value changes, an <tt>gui.CHANGE</tt> event is sent.
-    Although note, that when the value is a list, it may have to be sent by hand via
-    <tt>g.send(gui.CHANGE)</tt></p>
-    """
-    
-    def __init__(self,name=None,value=None):
-        widget.Widget.__init__(self,name=name,value=value)
-        self.widgets = []
-    
-    def add(self,w):
-        """Add a widget to this group.
-        
-        <pre>Group.add(w)</pre>
-        """
-        self.widgets.append(w)
-    
-    def __setattr__(self,k,v):
-        _v = self.__dict__.get(k,NOATTR)
-        self.__dict__[k] = v
-        if k == 'value' and _v != NOATTR and _v != v:
-            self._change()
-    
-    def _change(self):
-        self.send(CHANGE)
-        for w in self.widgets:
-            w.repaint()
diff --git a/src/pgu/gui/input.py b/src/pgu/gui/input.py
deleted file mode 100644
index 3f3f653..0000000
--- a/src/pgu/gui/input.py
+++ /dev/null
@@ -1,169 +0,0 @@
-"""
-"""
-import pygame
-from pygame.locals import *
-
-from const import *
-import widget
-
-class Input(widget.Widget):
-    """A single line text input.
-    
-    <pre>Input(value="",size=20)</pre>
-    
-    <dl>
-    <dt>value<dd>initial text
-    <dt>size<dd>size for the text box, in characters
-    </dl>
-    
-    <strong>Example</strong>
-    <code>
-    w = Input(value="Cuzco the Goat",size=20)
-    
-    w = Input("Marbles")
-    </code>
-    
-    """
-    def __init__(self,value="",size=20,customFont = None,**params):
-        params.setdefault('cls','input')
-        widget.Widget.__init__(self,**params)
-        self.value = value
-        self.pos = len(str(value))
-        self.vpos = 0
-        if customFont != None:
-            self.font = customFont
-        else:
-            self.font = self.style.font
-        w,h = self.font.size("e"*size)
-        if not self.style.height: self.style.height = h
-        if not self.style.width: self.style.width = w
-        #self.style.height = max(self.style.height,h)
-        #self.style.width = max(self.style.width,w)
-        #self.rect.w=w+self.style.padding_left+self.style.padding_right;
-        #self.rect.h=h+self.style.padding_top+self.style.padding_bottom;
-    
-    def paint(self,s):
-        
-        r = pygame.Rect(0,0,self.rect.w,self.rect.h)
-        
-        cs = 2 #NOTE: should be in a style
-        
-        w,h = self.font.size(self.value[0:self.pos])
-        x = w-self.vpos
-        if x < 0: self.vpos -= -x
-        if x+cs > s.get_width(): self.vpos += x+cs-s.get_width()
-        
-        s.blit(self.font.render(self.value, 1, self.style.color),(-self.vpos,0))
-        
-        if self.container.myfocus is self:
-            w,h = self.font.size(self.value[0:self.pos])
-            r.x = w-self.vpos
-            r.w = cs
-            r.h = h
-            s.fill(self.style.color,r)
-    
-    def _setvalue(self,v):
-        self.__dict__['value'] = v
-        self.send(CHANGE)
-    
-    def event(self,e):
-        used = None
-        if e.type == KEYDOWN:    
-            if e.key == K_BACKSPACE:
-                if self.pos:
-                    self._setvalue(self.value[:self.pos-1] + self.value[self.pos:])
-                    self.pos -= 1
-            elif e.key == K_DELETE:
-                if len(self.value) > self.pos:
-                    self._setvalue(self.value[:self.pos] + self.value[self.pos+1:])
-            elif e.key == K_HOME: 
-                self.pos = 0
-            elif e.key == K_END:
-                self.pos = len(self.value)
-            elif e.key == K_LEFT:
-                if self.pos > 0: self.pos -= 1
-                used = True
-            elif e.key == K_RIGHT:
-                if self.pos < len(self.value): self.pos += 1
-                used = True
-            elif e.key == K_RETURN:
-                self.next()
-            elif e.key == K_TAB:
-                pass
-            else:
-                #c = str(e.unicode)
-                try:
-                    c = (e.unicode).encode('latin-1')
-                    if c:
-                        self._setvalue(self.value[:self.pos] + c + self.value[self.pos:])
-                        self.pos += 1
-                except: #ignore weird characters
-                    pass
-            self.repaint()
-        elif e.type == FOCUS:
-            self.repaint()
-        elif e.type == BLUR:
-            self.repaint()
-        
-        self.pcls = ""
-        if self.container.myfocus is self: self.pcls = "focus"
-        
-        return used
-    
-    def __setattr__(self,k,v):
-        if k == 'value':
-            if v == None: v = ''
-            v = str(v)
-            self.pos = len(v)
-        _v = self.__dict__.get(k,NOATTR)
-        self.__dict__[k]=v
-        if k == 'value' and _v != NOATTR and _v != v: 
-            self.send(CHANGE)
-            self.repaint()
-            
-class Password(Input):
-    """A password input, text is *-ed out.
-    
-    <pre>Password(value="",size=20)</pre>
-    
-    <dl>
-    <dt>value<dd>initial text
-    <dt>size<dd>size for the text box, in characters
-    </dl>
-    
-    <strong>Example</strong>
-    <code>
-    w = Password(value="password",size=20)
-    
-    w = Password("53[r3+")
-    </code>
-    
-    """
-
-    def paint(self,s):
-        hidden="*"
-        show=len(self.value)*hidden
-        
-        #print "self.value:",self.value
-
-        if self.pos == None: self.pos = len(self.value)
-        
-        r = pygame.Rect(0,0,self.rect.w,self.rect.h)
-        
-        cs = 2 #NOTE: should be in a style
-        
-        w,h = self.font.size(show)
-        x = w-self.vpos
-        if x < 0: self.vpos -= -x
-        if x+cs > s.get_width(): self.vpos += x+cs-s.get_width()
-        
-        s.blit(self.font.render(show, 1, self.style.color),(-self.vpos,0))
-        
-        if self.container.myfocus is self:
-            #w,h = self.font.size(self.value[0:self.pos])            
-            w,h = self.font.size(show[0:self.pos])
-            r.x = w-self.vpos
-            r.w = cs
-            r.h = h
-            s.fill(self.style.color,r)
-                       
diff --git a/src/pgu/gui/keysym.py b/src/pgu/gui/keysym.py
deleted file mode 100644
index cc24089..0000000
--- a/src/pgu/gui/keysym.py
+++ /dev/null
@@ -1,72 +0,0 @@
-"""
-"""
-import pygame
-from pygame.locals import *
-
-from const import *
-import widget
-
-class Keysym(widget.Widget):
-    """A keysym input.
-    
-    <p>This widget records the keysym of the key pressed while this widget is in focus.</p>
-    
-    <pre>Keysym(value=None)</pre>
-    
-    <dl>
-    <dt>value<dd>initial keysym, see <a href="http://www.pygame.org/docs/ref/key.html">pygame keysyms</a> </dl>
-    
-    <strong>Example</strong>
-    <code>
-    w = Input(value=pygame.locals.K_g)
-    
-    w = Input(pygame.locals.K_g)
-    
-    w = Input()
-    </code>
-    
-    """
-
-    def __init__(self,value=None,**params):
-        params.setdefault('cls','keysym')
-        widget.Widget.__init__(self,**params)
-        self.value = value
-        
-        self.font = self.style.font
-        w,h = self.font.size("Right Super") #"Right Shift")
-        self.style.width,self.style.height = w,h
-        #self.rect.w=w+self.style.padding_left+self.style.padding_right
-        #self.rect.h=h+self.style.padding_top+self.style.padding_bottom
-    
-    def event(self,e):
-        used = None
-        if e.type == FOCUS or e.type == BLUR: self.repaint()
-        elif e.type == KEYDOWN:
-            if e.key != K_TAB:
-                self.value = e.key
-                self.repaint()
-                self.send(CHANGE)
-                used = True
-            self.next()
-        self.pcls = ""
-        if self.container.myfocus is self: self.pcls = "focus"
-        return used
-    
-    def paint(self,s):
-        r = pygame.rect.Rect(0,0,self.rect.w,self.rect.h)
-        #render_box(s,self.style.background,r)
-        if self.value == None: return
-        name = ""
-        for p in pygame.key.name(self.value).split(): name += p.capitalize()+" "
-        #r.x = self.style.padding_left;
-        #r.y = self.style.padding_bottom;
-        s.blit(self.style.font.render(name, 1, self.style.color), r)
-    
-    def __setattr__(self,k,v):
-        if k == 'value' and v != None:
-            v = int(v)
-        _v = self.__dict__.get(k,NOATTR)
-        self.__dict__[k]=v
-        if k == 'value' and _v != NOATTR and _v != v: 
-            self.send(CHANGE)
-            self.repaint()
diff --git a/src/pgu/gui/layout.py b/src/pgu/gui/layout.py
deleted file mode 100644
index 01fe0cb..0000000
--- a/src/pgu/gui/layout.py
+++ /dev/null
@@ -1,172 +0,0 @@
-"""document layout engine."""
-class Layout:
-    """the document layout engine
-    
-    .widgets -- elements are kept in this list.  read-only, use add to add items to it. 
-    """
-    
-    def __init__(self,rect=None):
-        """initialize the object with the size of the box."""
-        self._widgets = []
-        self.rect = rect
-        
-    def add(self,e): 
-        """add a document element to the layout.
-        
-        a document element may be
-        - a tuple (w,h) if it is a whitespace element
-        - a tuple (0,h) if it is a linebreak element
-        - an integer -1,0,1 if it is a command to start a new block of elements that are aligned either left,center, or right.
-        - an object with a .rect (for size) -- such as a word element
-        - an object with a .rect (for size) and .align -- such as an image element
-        """
-        
-        self._widgets.append(e)
-        
-        
-    def resize(self):
-        """resize the layout
-        this method recalculates the position of all document elements
-        after they have been added to the document.  .rect.x,y will be updated for all
-        objects.
-        """
-        self.init()
-        self.widgets = []
-        for e in self._widgets:
-            if type(e) is tuple and e[0] != 0:
-                self.do_space(e)
-            elif type(e) is tuple and e[0] == 0:
-                self.do_br(e[1])
-            elif type(e) is int:
-                self.do_block(align=e)
-            elif hasattr(e,'align'):
-                self.do_align(e)
-            else:
-                self.do_item(e)
-        self.line()
-        self.rect.h = max(self.y,self.left_bottom,self.right_bottom)
-            
-    def init(self):
-        self.x,self.y = self.rect.x,self.rect.y
-        self.left = self.rect.left
-        self.right = self.rect.right
-        self.left_bottom = 0
-        self.right_bottom = 0
-        self.y = self.rect.y
-        self.x = self.rect.x
-        self.h = 0
-        
-        self.items = []
-        self.align = -1
-        
-    def getleft(self):
-        if self.y > self.left_bottom:
-            self.left = self.rect.left
-        return self.left
-        
-    def getright(self):
-        if self.y > self.right_bottom:
-            self.right = self.rect.right
-        return self.right
-        
-    def do_br(self,h): 
-        self.line()
-        self.h = h
-    
-    def do_block(self,align=-1):
-        self.line()
-        self.align = align
-
-    def do_align(self,e):
-        align = e.align
-        ox,oy,oh = self.x,self.y,self.h
-        w,h = e.rect.w,e.rect.h
-        
-        if align == 0: 
-            self.line()
-            self.x = self.rect.left + (self.rect.width-w)/2
-            self.fit = 0
-        elif align == -1: 
-            self.line()
-            self.y = max(self.left_bottom,self.y + self.h)
-            self.h = 0
-            self.x = self.rect.left
-        elif align == 1: 
-            self.line()
-            self.y = max(self.right_bottom,self.y + self.h)
-            self.h = 0
-            self.x = self.rect.left + (self.rect.width-w)
-
-        e.rect.x,e.rect.y = self.x,self.y        
-            
-        self.x = self.x + w
-        self.y = self.y
-        
-        if align == 0:
-            self.h = max(self.h,h)
-            self.y = self.y + self.h
-            self.x = self.getleft()
-            self.h = 0
-        elif align == -1:
-            self.left = self.x
-            self.left_bottom = self.y + h
-            self.x,self.y,self.h = ox + w,oy,oh
-        elif align == 1: 
-            self.right = self.x - w
-            self.right_bottom = self.y + h
-            self.x,self.y,self.h = ox,oy,oh
-        
-        self.widgets.append(e)
-
-    def do_space(self,e):
-        w,h = e
-        if self.x+w >= self.getright(): 
-            self.line()
-        else: 
-            self.items.append(e)
-            self.h = max(self.h,h)
-            self.x += w
-    
-    def do_item(self,e):
-        w,h = e.rect.w,e.rect.h
-        if self.x+w >= self.getright(): 
-            self.line()
-        self.items.append(e)
-        self.h = max(self.h,h)
-        self.x += w
-    
-    def line(self):
-        x1 = self.getleft()
-        x2 = self.getright()
-        align = self.align
-        y = self.y
-        
-        if len(self.items) != 0 and type(self.items[-1]) == tuple:
-            del self.items[-1]
-        
-        w = 0
-        for e in self.items:
-            if type(e) == tuple: w += e[0]
-            else: w += e.rect.w
-            
-        if align == -1: x = x1
-        elif align == 0: 
-            x = x1 + ((x2-x1)-w)/2
-            self.fit = 0
-        elif align == 1: x = x2 - w
-            
-        for e in self.items:
-            if type(e) == tuple: x += e[0]
-            else:
-                e.rect.x,e.rect.y = x,y
-                self.widgets.append(e)
-                x += e.rect.w
-        
-        self.items = []
-        self.y = self.y + self.h
-        self.x = self.getleft()
-        self.h = 0
-        
-
-
-# vim: set filetype=python sts=4 sw=4 noet si :
diff --git a/src/pgu/gui/menus.py b/src/pgu/gui/menus.py
deleted file mode 100644
index b850b6c..0000000
--- a/src/pgu/gui/menus.py
+++ /dev/null
@@ -1,119 +0,0 @@
-"""
-"""
-from const import *
-import table
-import basic, button
-
-class _Menu_Options(table.Table):
-    def __init__(self,menu,**params):
-        table.Table.__init__(self,**params)
-        
-        self.menu = menu
-    
-    def event(self,e):
-        handled = False
-        arect = self.get_abs_rect()
-        
-        if e.type == MOUSEMOTION:
-            abspos = e.pos[0]+arect.x,e.pos[1]+arect.y
-            for w in self.menu.container.widgets:
-                if not w is self.menu:
-                    mrect = w.get_abs_rect()
-                    if mrect.collidepoint(abspos):
-                        self.menu._close(None)
-                        w._open(None)
-                        handled = True
-        
-        if not handled: table.Table.event(self,e)
-
-class _Menu(button.Button):
-    def __init__(self,parent,widget=None,**params): #TODO widget= could conflict with module widget
-        params.setdefault('cls','menu')
-        button.Button.__init__(self,widget,**params)
-        
-        self.parent = parent
-        
-        self._cls = self.cls
-        self.options = _Menu_Options(self, cls=self.cls+".options")
-        
-        self.connect(CLICK,self._open,None)
-        
-        self.pos = 0
-    
-    def _open(self,value):
-        self.parent.value = self
-        self.pcls = 'down'
-        
-        self.repaint()
-        self.container.open(self.options,self.rect.x,self.rect.bottom)
-        self.options.connect(BLUR,self._close,None)
-        self.options.focus()
-        self.repaint()
-        
-    def _pass(self,value):
-        pass
-        
-    def _close(self,value):
-        self.pcls = ''
-        self.parent.value = None
-        self.repaint()
-        self.options.close()
-    
-    def _value(self,value):
-        self._close(None)
-        if value['fnc'] != None:
-            value['fnc'](value['value'])
-            
-    def event(self,e):
-        button.Button.event(self,e)
-        
-        if self.parent.value == self:
-            self.pcls = 'down'
-    
-    def add(self,w,fnc=None,value=None):
-        w.style.align = -1
-        b = button.Button(w,cls=self.cls+".option")
-        b.connect(CLICK,self._value,{'fnc':fnc,'value':value})
-        
-        self.options.tr()
-        self.options.add(b)
-        
-        return b
-
-class Menus(table.Table):
-    """A drop down menu bar.
-    
-    <pre>Menus(data)</pre>
-    
-    <dl>
-    <dt>data<dd>Menu data, a list of (path,fnc,value), see example below
-    </dl>
-    
-    <strong>Example</strong>
-    <code>
-    data = [
-        ('File/Save',fnc_save,None),
-        ('File/New',fnc_new,None),
-        ('Edit/Copy',fnc_copy,None),
-        ('Edit/Cut',fnc_cut,None),
-        ('Help/About',fnc_help,help_about_content),
-        ('Help/Reference',fnc_help,help_reference_content),
-        ]
-    w = Menus(data)
-    """
-    
-    def __init__(self,data,menu_cls='menu',**params):
-        params.setdefault('cls','menus')
-        table.Table.__init__(self,**params)
-        
-        self.value = None
-        
-        n,m,mt = 0,None,None
-        for path,cmd,value in data:
-            parts = path.split("/")
-            if parts[0] != mt:
-                mt = parts[0]
-                m = _Menu(self,basic.Label(mt,cls=menu_cls+".label"),cls=menu_cls)
-                self.add(m,n,0)
-                n += 1
-            m.add(basic.Label(parts[1],cls=m.cls+".option.label"),cmd,value)
diff --git a/src/pgu/gui/misc.py b/src/pgu/gui/misc.py
deleted file mode 100644
index afb10c5..0000000
--- a/src/pgu/gui/misc.py
+++ /dev/null
@@ -1,43 +0,0 @@
-from const import *
-import widget
-import pguglobals
-
-class ProgressBar(widget.Widget):
-    """A progress bar.
-    
-    <pre>ProgressBar(value,min,max)</pre>
-    
-    <dl>
-    <dt>value<dd>starting value
-    <dt>min<dd>minimum value rendered on the screen (usually 0)
-    <dt>max<dd>maximum value
-    </dl>
-    
-    <strong>Example</strong>
-    <code>
-    w = gui.ProgressBar(0,0,100)
-    w.value = 25
-    </code>
-    """
-
-    def __init__(self,value,min,max,**params):
-        params.setdefault('cls','progressbar')
-        widget.Widget.__init__(self,**params)
-        self.min,self.max,self.value = min,max,value
-    
-    def paint(self,s):
-        r = pygame.rect.Rect(0,0,self.rect.w,self.rect.h)
-        r.w = r.w*(self.value-self.min)/(self.max-self.min)
-        self.bar = r
-        pguglobals.app.theme.render(s,self.style.bar,r)
-        
-    def __setattr__(self,k,v):
-        if k == 'value':
-            v = int(v)
-            v = max(v,self.min)
-            v = min(v,self.max)
-        _v = self.__dict__.get(k,NOATTR)
-        self.__dict__[k]=v
-        if k == 'value' and _v != NOATTR and _v != v: 
-            self.send(CHANGE)
-            self.repaint()
diff --git a/src/pgu/gui/pguglobals.py b/src/pgu/gui/pguglobals.py
deleted file mode 100644
index dc0e673..0000000
--- a/src/pgu/gui/pguglobals.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# pguglobals.py - A place to stick global variables that need to be accessed
-#                 from other modules. To avoid problems with circular imports
-#                 this module should not import any other PGU module.
-
-# A global reference to the application instance (App class)
-app = None
-
diff --git a/src/pgu/gui/select.py b/src/pgu/gui/select.py
deleted file mode 100644
index 0ee39e9..0000000
--- a/src/pgu/gui/select.py
+++ /dev/null
@@ -1,180 +0,0 @@
-"""
-"""
-
-import traceback
-
-from const import *
-from button import Button
-from basic import Label, Image
-from table import Table
-
-class Select(Table):
-    """A select input.
-    
-    <pre>Select(value=None)</pre>
-    
-    <dl>
-    <dt>value<dd>initial value
-    </dl>
-    
-    <strong>Example</strong>
-    <code>
-    w = Select(value="goats")
-    w.add("Cats","cats")
-    w.add("Goats","goats")
-    w.add("Dogs","Dogs")
-    
-    w.value = 'dogs' #changes the value from goats to dogs
-    </code>
-    
-    """
-
-    # The drop-down arrow button for the selection widget
-    top_arrow = None
-    # A button displaying the currently selected item
-    top_selection = None
-    # The first option added to the selector
-    firstOption = None
-    # The PGU table of options
-    options = None
-
-    def __init__(self,value=None,**params):
-        params.setdefault('cls','select')
-        Table.__init__(self,**params)
-        
-        label = Label(" ",cls=self.cls+".option.label")
-        self.top_selected = Button(label, cls=self.cls+".selected")
-        Table.add(self,self.top_selected) #,hexpand=1,vexpand=1)#,0,0)
-        
-        self.top_arrow = Button(Image(self.style.arrow), cls=self.cls+".arrow")
-        Table.add(self,self.top_arrow) #,hexpand=1,vexpand=1) #,1,0)
-        
-        self.options = Table(cls=self.cls+".options")
-        self.options.connect(BLUR,self._close,None)
-        self.options.name = "pulldown-table"
-        
-        self.values = []
-        self.value = value
-
-    def resize(self,width=None,height=None):
-        max_w,max_h = 0,0
-        for w in self.options.widgets:
-            w.rect.w,w.rect.h = w.resize()
-            max_w,max_h = max(max_w,w.rect.w),max(max_h,w.rect.h)
-        
-        #xt,xr,xb,xl = self.top_selected.getspacing()
-        self.top_selected.style.width = max_w #+ xl + xr
-        self.top_selected.style.height = max_h #+ xt + xb
-        
-        self.top_arrow.connect(CLICK,self._open,None)
-        self.top_selected.connect(CLICK,self._open,None)
-        
-        w,h = Table.resize(self,width,height)
-        
-        self.options.style.width = w
-        #HACK: sort of, but not a big one..
-        self.options.resize()
-        
-        return w,h
-        
-    def _open(self,value):
-        opts = self.options
-        
-        opts.rect.w, opts.rect.h = opts.resize()
-        
-#        y = self.rect.y
-#        c = self.container
-#        while hasattr(c, 'container'):
-#            y += c.rect.y
-#            if (not c.container): 
-#                break
-#            c = c.container
-            
-#        if y + self.rect.h + opts.rect.h <= c.rect.h: #down
-#            dy = self.rect.y + self.rect.h
-#        else: #up
-#            dy = self.rect.y - self.rect.h
-
-        opts.rect.w, opts.rect.h = opts.resize()
-
-        # TODO - make sure there is enough space to open down
-        # ...
-        yp = self.rect.bottom-1
-
-        self.container.open(opts, self.rect.x, yp)
-        self.firstOption.focus()
-
-        # TODO - this is a hack
-        for opt in self.options.widgets:
-            opt.repaint()
-
-    def _close(self,value):
-        self.options.close()
-        self.top_selected.focus()
-    
-    def _setvalue(self,value):
-        self.value = value._value
-        if hasattr(self,'container'):
-            #self.chsize()
-            #HACK: improper use of resize()
-            #self.resize() #to recenter the new value, etc.
-            pass
-        #    #self._resize()
-        
-        self._close(None)
-        #self.repaint() #this will happen anyways
-        
-    
-    
-    def __setattr__(self,k,v):
-        mywidget = None
-        if k == 'value':
-            for w in self.values:
-                if w._value == v:
-                    mywidget = w
-        _v = self.__dict__.get(k,NOATTR)
-        self.__dict__[k]=v
-        if k == 'value' and _v != NOATTR and _v != v: 
-            self.send(CHANGE)
-            self.repaint()
-        if k == 'value':
-            if not mywidget:
-                mywidget = Label(" ",cls=self.cls+".option.label")
-            self.top_selected.value = mywidget
-    
-    def add(self,w,value=None):
-        """Add a widget, value item to the Select.
-        
-        <pre>Select.add(widget,value=None)</pre>
-        
-        <dl>
-        <dt>widget<dd>Widget or string to represent the item
-        <dt>value<dd>value for this item
-        </dl>
-        
-        <strong>Example</strong>
-        <code>
-        w = Select()
-        w.add("Goat") #adds a Label
-        w.add("Goat","goat") #adds a Label with the value goat
-        w.add(gui.Label("Cuzco"),"goat") #adds a Label with value goat
-        </code>
-        """
-        
-        if type(w) == str: w = Label(w,cls=self.cls+".option.label")
-        
-        w.style.align = -1
-        btn = Button(w,cls=self.cls+".option")
-        btn.connect(CLICK,self._setvalue,w)
-        
-        self.options.tr()
-        self.options.add(btn)
-        
-        if (not self.firstOption):
-            self.firstOption = btn
-        
-        if value != None: w._value = value
-        else: w._value = w
-        if self.value == w._value:
-            self.top_selected.value = w
-        self.values.append(w)
diff --git a/src/pgu/gui/slider.py b/src/pgu/gui/slider.py
deleted file mode 100644
index f4fa623..0000000
--- a/src/pgu/gui/slider.py
+++ /dev/null
@@ -1,279 +0,0 @@
-"""All sliders and scroll bar widgets have the same parameters.
-   
-<pre>Slider(value,min,max,size)</pre> 
-<dl>
-<dt>value<dd>initial value
-<dt>min<dd>minimum value
-<dt>max<dd>maximum value
-<dt>size<dd>size of bar in pixels
-</dl>
-"""
-import pygame
-from pygame.locals import *
-
-from const import *
-import widget
-import table
-import basic
-import pguglobals
-
-_SLIDER_HORIZONTAL = 0
-_SLIDER_VERTICAL = 1
-
-class _slider(widget.Widget):
-    def __init__(self,value,orient,min,max,size,step=1,**params):
-        params.setdefault('cls','slider')
-        widget.Widget.__init__(self,**params)
-        self.min,self.max,self.value,self.orient,self.size,self.step = min,max,value,orient,size,step
-        
-    
-    def paint(self,s):
-        
-        self.value = self.value
-        r = pygame.rect.Rect(0,0,self.style.width,self.style.height)
-        if self.orient == _SLIDER_HORIZONTAL:
-            r.x = (self.value-self.min) * (r.w-self.size) / max(1,self.max-self.min);
-            r.w = self.size;
-        else:
-            r.y = (self.value-self.min) * (r.h-self.size) / max(1,self.max-self.min);
-            r.h = self.size;
-            
-        self.bar = r
-        
-        pguglobals.app.theme.render(s,self.style.bar,r)
-    
-    def event(self,e):
-        used = None
-        r = pygame.rect.Rect(0,0,self.style.width,self.style.height)
-        adj = 0
-        if e.type == ENTER: self.repaint()
-        elif e.type == EXIT: self.repaint()
-        elif e.type == MOUSEBUTTONDOWN:
-            if self.bar.collidepoint(e.pos):
-                self.grab = e.pos[0],e.pos[1]
-                self.grab_value = self.value
-            else:
-                x,y,adj = e.pos[0],e.pos[1],1
-                self.grab = None
-            self.repaint()
-        elif e.type == MOUSEBUTTONUP:
-            #x,y,adj = e.pos[0],e.pos[1],1
-            self.repaint()
-        elif e.type == MOUSEMOTION:
-            if 1 in e.buttons and self.container.myfocus is self:
-                if self.grab != None:
-                    rel = e.pos[0]-self.grab[0],e.pos[1]-self.grab[1]
-                    if self.orient == _SLIDER_HORIZONTAL:
-                        d = (r.w - self.size)
-                        if d != 0: self.value = self.grab_value + ((self.max-self.min) * rel[0] / d)
-                    else:
-                        d = (r.h - self.size)
-                        if d != 0: self.value = self.grab_value + ((self.max-self.min) * rel[1] / d)
-                else:
-                    x,y,adj = e.pos[0],e.pos[1],1
-                    
-        elif e.type is KEYDOWN:
-            if self.orient == _SLIDER_HORIZONTAL and e.key == K_LEFT:
-                self.value -= self.step
-                used = True
-            elif self.orient == _SLIDER_HORIZONTAL and e.key == K_RIGHT:
-                self.value += self.step
-                used = True
-            elif self.orient == _SLIDER_VERTICAL and e.key == K_UP:
-                self.value -= self.step
-                used = True
-            elif self.orient == _SLIDER_VERTICAL and e.key == K_DOWN:
-                self.value += self.step
-                used = True
-
-        if adj:
-            if self.orient == _SLIDER_HORIZONTAL:
-                d = self.size/2 - (r.w/(self.max-self.min+1))/2
-                self.value = (x-d) * (self.max-self.min) / (r.w-self.size+1) + self.min
-            else:
-                d = self.size/2 - (r.h/(self.max-self.min+1))/2
-                self.value = (y-d) * (self.max-self.min) / (r.h-self.size+1) + self.min
-                
-        self.pcls = ""
-        if self.container.myhover is self: self.pcls = "hover"
-        if (self.container.myfocus is self and 1 in pygame.mouse.get_pressed()): self.pcls = "down"
-        
-        return used
-
-    
-    def __setattr__(self,k,v):
-        if k == 'value':
-            v = int(v)
-            v = max(v,self.min)
-            v = min(v,self.max)
-        _v = self.__dict__.get(k,NOATTR)
-        self.__dict__[k]=v
-        if k == 'value' and _v != NOATTR and _v != v: 
-            self.send(CHANGE)
-            self.repaint()
-            
-        if hasattr(self,'size'):
-            sz = min(self.size,max(self.style.width,self.style.height))
-            sz = max(sz,min(self.style.width,self.style.height))
-            self.__dict__['size'] = sz
-            
-        if hasattr(self,'max') and hasattr(self,'min'):
-            if self.max < self.min: self.max = self.min
-
-class VSlider(_slider):
-    """A verticle slider.
-    
-    <pre>VSlider(value,min,max,size)</pre>
-    """
-    def __init__(self,value,min,max,size,step=1,**params):
-        params.setdefault('cls','vslider')
-        _slider.__init__(self,value,_SLIDER_VERTICAL,min,max,size,step,**params)
-
-class HSlider(_slider):
-    """A horizontal slider.
-    
-    <pre>HSlider(value,min,max,size)</pre>
-    """
-    def __init__(self,value,min,max,size,step=1,**params):
-        params.setdefault('cls','hslider')
-        _slider.__init__(self,value,_SLIDER_HORIZONTAL,min,max,size,step,**params)
-	
-class HScrollBar(table.Table):
-    """A horizontal scroll bar.
-    
-    <pre>HScrollBar(value,min,max,size,step=1)</pre>
-    """
-    def __init__(self,value,min,max,size,step=1,**params):
-        params.setdefault('cls','hscrollbar')
-        
-        table.Table.__init__(self,**params)
-        
-        self.slider = _slider(value,_SLIDER_HORIZONTAL,min,max,size,step=step,cls=self.cls+'.slider')
-        
-        self.minus = basic.Image(self.style.minus)
-        self.minus.connect(MOUSEBUTTONDOWN,self._click,-1)
-        self.slider.connect(CHANGE,self.send,CHANGE)
-        
-        self.minus2 = basic.Image(self.style.minus)
-        self.minus2.connect(MOUSEBUTTONDOWN,self._click,-1)
-        
-        self.plus = basic.Image(self.style.plus)
-        self.plus.connect(MOUSEBUTTONDOWN,self._click,1)
-        
-        self.size = size
-        
-    def _click(self,value):
-        self.slider.value += self.slider.step*value
-        
-    def resize(self,width=None,height=None):
-        self.clear()
-        self.tr()
-        
-        w = self.style.width
-        h = self.slider.style.height
-        ww = 0
-        
-        if w > (h*2 + self.minus.style.width+self.plus.style.width):
-            self.td(self.minus)
-            ww += self.minus.style.width
-        
-        self.td(self.slider)
-        
-        if w > (h*2 + self.minus.style.width+self.minus2.style.width+self.plus.style.width):
-            self.td(self.minus2)
-            ww += self.minus2.style.width
-        
-        if w > (h*2 + self.minus.style.width+self.plus.style.width):
-            self.td(self.plus)
-            ww += self.plus.style.width
-            
-            
-        #HACK: handle theme sizing properly
-        xt,xr,xb,xl = pguglobals.app.theme.getspacing(self.slider)
-        ww += xr+xl
-
-        self.slider.style.width = self.style.width - ww
-        setattr(self.slider,'size',self.size * self.slider.style.width / max(1,self.style.width))
-        return table.Table.resize(self,width,height)
-        
-        
-    def __setattr__(self,k,v):
-        if k in ('min','max','value','step'):
-            return setattr(self.slider,k,v)
-        self.__dict__[k]=v
-            
-    def __getattr__(self,k):
-        if k in ('min','max','value','step'):
-            return getattr(self.slider,k)
-        return table.Table.__getattr__(self,k) #self.__dict__[k]
-
-class VScrollBar(table.Table):
-    """A vertical scroll bar.
-    
-    <pre>VScrollBar(value,min,max,size,step=1)</pre>
-    """
-    def __init__(self,value,min,max,size,step=1,**params):
-        params.setdefault('cls','vscrollbar')
-        
-        table.Table.__init__(self,**params)
-        
-        self.minus = basic.Image(self.style.minus)
-        self.minus.connect(MOUSEBUTTONDOWN,self._click,-1)
-        
-        self.minus2 = basic.Image(self.style.minus)
-        self.minus2.connect(MOUSEBUTTONDOWN,self._click,-1)
-        
-        self.plus = basic.Image(self.style.plus)
-        self.plus.connect(MOUSEBUTTONDOWN,self._click,1)
-        
-        self.slider = _slider(value,_SLIDER_VERTICAL,min,max,size,step=step,cls=self.cls+'.slider')
-        self.slider.connect(CHANGE,self.send,CHANGE)
-        
-        self.size = size
-        
-    def _click(self,value):
-        self.slider.value += self.slider.step*value
-        
-    def resize(self,width=None,height=None):
-        self.clear()
-        
-        h = self.style.height
-        w = self.slider.style.width
-        hh = 0
-        
-        if h > (w*2 + self.minus.style.height+self.plus.style.height):
-            self.tr()
-            self.td(self.minus)
-            hh += self.minus.style.height
-        
-        self.tr()
-        self.td(self.slider)
-        
-        if h > (w*2 + self.minus.style.height+self.minus2.style.height+self.plus.style.height):
-            self.tr()
-            self.td(self.minus2)
-            hh += self.minus2.style.height
-        
-        if h > (w*2 + self.minus.style.height+self.plus.style.height):
-            self.tr()
-            self.td(self.plus)
-            hh += self.plus.style.height
-            
-            
-        #HACK: handle theme sizing properly
-        xt,xr,xb,xl = pguglobals.app.theme.getspacing(self.slider)
-        hh += xt+xb
-
-        self.slider.style.height = self.style.height - hh
-        setattr(self.slider,'size',self.size * self.slider.style.height / max(1,self.style.height))
-        return table.Table.resize(self,width,height)
-        
-    def __setattr__(self,k,v):
-        if k in ('min','max','value','step'):
-            return setattr(self.slider,k,v)
-        self.__dict__[k]=v
-            
-    def __getattr__(self,k):
-        if k in ('min','max','value','step'):
-            return getattr(self.slider,k)
-        return table.Table.__getattr__(self,k)
diff --git a/src/pgu/gui/style.py b/src/pgu/gui/style.py
deleted file mode 100644
index 3060928..0000000
--- a/src/pgu/gui/style.py
+++ /dev/null
@@ -1,41 +0,0 @@
-"""
-"""
-
-import pguglobals
-
-class Style:
-    """The class used by widget for the widget.style
-    
-    <p>This object is used mainly as a dictionary, accessed via <tt>widget.style.attr</tt>, as opposed to
-    <tt>widget.style['attr']</tt>.  It automatically grabs information from the theme via <tt>value = theme.get(widget.cls,widget.pcls,attr)</tt>.</p>
-    
-    """
-    def __init__(self,o,dict):
-        self.obj = o
-        for k,v in dict.items(): self.__dict__[k]=v
-        self._cache = {}
-        
-    def __getattr__(self,k):
-        key = self.obj.cls,self.obj.pcls,k
-        if key not in self._cache:
-            self._cache[key] = Style_get(self.obj.cls,self.obj.pcls,k)
-        v = self._cache[key]
-        if k in (
-            'border_top','border_right','border_bottom','border_left',
-            'padding_top','padding_right','padding_bottom','padding_left',
-            'margin_top','margin_right','margin_bottom','margin_left',
-            'align','valign','width','height',
-            ): self.__dict__[k] = v
-        return v
-        
-    def __setattr__(self,k,v):
-        self.__dict__[k] = v
-        
-        
-Style_cache = {}
-def Style_get(cls,pcls,k):
-    key = cls,pcls,k
-    if key not in Style_cache:
-        Style_cache[key] = pguglobals.app.theme.get(cls,pcls,k)
-    return Style_cache[key]
-        
diff --git a/src/pgu/gui/surface.py b/src/pgu/gui/surface.py
deleted file mode 100644
index 9bd064d..0000000
--- a/src/pgu/gui/surface.py
+++ /dev/null
@@ -1,143 +0,0 @@
-"""
-"""
-import pygame
-
-def subsurface(s,r):
-    """Return the subsurface of a surface, with some help, checks.
-    
-    <pre>subsurface(s,r): return surface</pre>
-    """
-    r = pygame.Rect(r)
-    if r.x < 0 or r.y < 0:
-        raise "gui.subsurface: %d %d %s"%(s.get_width(),s.get_height(),r)
-    w,h = s.get_width(),s.get_height()
-    if r.right > w:
-        r.w -= r.right-w
-    if r.bottom > h:
-        r.h -= r.bottom-h
-    assert(r.w >= 0 and r.h >= 0)
-    return s.subsurface(r)
-
-class ProxySurface:
-    """
-    A surface-like object which smartly handle out-of-area blitting.
-    
-    <pre>ProxySurface(parent, rect, real_surface=None, offset=(0, 0))</pre>
-    
-    <p>only one of parent and real_surface should be supplied (non None)</p>
-    <dl>
-    <dt>parent<dd>a ProxySurface object
-    <dt>real_surface<dd>a pygame Surface object
-    </dl>
-  
-    <strong>Variables</strong>  
-    
-    <dl>
-    <dt>mysubsurface<dd>a real and valid pygame.Surface object to be used
-                       for blitting.
-    <dt>x, y<dd>if the proxy surface is lefter or higher than the parent,
-                x, y hold the diffs.
-    <dt>offset<dd>an optional feature which let you scroll the whole blitted
-                  content.
-    </dl>
-    """
-    def __init__(self, parent, rect, real_surface, offset=(0, 0)):
-        self.offset = offset
-        self.x = self.y = 0
-        if rect.x < 0: self.x = rect.x
-        if rect.y < 0: self.y = rect.y
-        self.real_surface = real_surface
-        if real_surface == None:
-            self.mysubsurface = parent.mysubsurface.subsurface(
-                parent.mysubsurface.get_rect().clip(rect))
-        else:
-            self.mysubsurface = real_surface.subsurface(
-                real_surface.get_rect().clip(rect))
-        rect.topleft = (0, 0)
-        self.rect = rect
-        
-    def blit(self, s, pos, rect=None):
-        if rect == None: rect = s.get_rect()
-        pos = (pos[0] + self.offset[0] + self.x, pos[1] + self.offset[1] + self.y)
-        self.mysubsurface.blit(s, pos, rect)
-        
-    def subsurface(self, rect): 
-        r = pygame.Rect(rect).move(self.offset[0] + self.x, 
-                                   self.offset[1] + self.y)
-        return ProxySurface(self, r, self.real_surface)
-
-    def fill(self, color, rect=None): 
-        if rect != None: self.mysubsurface.fill(color, rect)
-        else: self.mysubsurface.fill(color)
-    def get_rect(self): return self.rect
-    def get_width(self): return self.rect[2]
-    def get_height(self): return self.rect[3]
-    def get_abs_offset(): return self.rect[:2]
-    def get_abs_parent(): return self.mysubsurface.get_abs_parent()
-    def set_clip(self, rect=None): 
-        if rect == None: self.mysubsurface.set_clip()
-        else: 
-            rect = [rect[0] + self.offset[0] + self.x, rect[1] + self.offset[0] + self.y, rect[2], rect[3]]
-            self.mysubsurface.set_clip(rect)
-
-
-
-
-
-
-class xProxySurface:
-    """
-    A surface-like object which smartly handle out-of-area blitting.
-    
-    <pre>ProxySurface(parent, rect, real_surface=None, offset=(0, 0))</pre>
-    
-    <p>only one of parent and real_surface should be supplied (non None)</p>
-    <dl>
-    <dt>parent<dd>a ProxySurface object
-    <dt>real_surface<dd>a pygame Surface object
-    </dl>
-  
-    <strong>Variables</strong>  
-    
-    <dl>
-    <dt>mysubsurface<dd>a real and valid pygame.Surface object to be used
-                       for blitting.
-    <dt>x, y<dd>if the proxy surface is lefter or higher than the parent,
-                x, y hold the diffs.
-    <dt>offset<dd>an optional feature which let you scroll the whole blitted
-                  content.
-    </dl>
-    """
-    def __init__(self, parent, rect, real_surface, offset=(0, 0)):
-        self.offset = offset
-        self.x = self.y = 0
-        if rect[0] < 0: self.x = rect[0]
-        if rect[1] < 0: self.y = rect[1]
-        self.real_surface = real_surface
-        if real_surface == None:
-            self.mysubsurface = parent.mysubsurface.subsurface(parent.mysubsurface.get_rect().clip(rect))
-        else:
-            self.mysubsurface = real_surface.subsurface(real_surface.get_rect().clip(rect))
-        rect[0], rect[1] = 0, 0
-        self.rect = rect
-        
-    def blit(self, s, pos, rect=None):
-        if rect == None: rect = s.get_rect()
-        pos = (pos[0] + self.offset[0] + self.x, pos[1] + self.offset[1] + self.y)
-        self.mysubsurface.blit(s, pos, rect)
-        
-    def subsurface(self, rect): return ProxySurface(self, pygame.Rect(rect).move(self.offset[0] + self.x, self.offset[1] + self.y),self.real_surface)
-    def fill(self, color, rect=None): 
-        if rect != None: self.mysubsurface.fill(color, rect)
-        else: self.mysubsurface.fill(color)
-    def get_rect(self): return self.rect
-    def get_width(self): return self.rect[2]
-    def get_height(self): return self.rect[3]
-    def get_abs_offset(): return self.rect[:2]
-    def get_abs_parent(): return self.mysubsurface.get_abs_parent()
-    def set_clip(self, rect=None): 
-        if rect == None: self.mysubsurface.set_clip()
-        else: 
-            rect = [rect[0] + self.offset[0] + self.x, rect[1] + self.offset[0] + self.y, rect[2], rect[3]]
-            self.mysubsurface.set_clip(rect)
-
diff --git a/src/pgu/gui/table.py b/src/pgu/gui/table.py
deleted file mode 100644
index 6ff6c74..0000000
--- a/src/pgu/gui/table.py
+++ /dev/null
@@ -1,331 +0,0 @@
-"""
-"""
-from const import *
-import container
-
-class Table(container.Container):
-    """A table style container.
-    
-    <p>If you know HTML, this should all work roughly how you would expect.  If you are not
-    familiar with HTML, please read <a href="http://www.w3.org/TR/REC-html40/struct/tables.html">Tables in HTML Documents</a>.  Pay attention to TABLE, TR, TD related parts of the document.</p>
-    
-    <pre>Table()</pre>
-    
-    <strong>Example</strong>
-    <code>
-    t = gui.Table()
-    
-    t.tr()
-    t.td(gui.Label("First Name"), align=-1)
-    t.td(gui.Input())
-
-    t.tr()
-    t.td(gui.Label("Last Name"), align=-1)
-    t.td(gui.Input())
-    </code>
-        
-    """
-    
-    
-    def __init__(self, **params):
-        params.setdefault('cls','table')
-        container.Container.__init__(self, **params)
-        self._rows = []
-        self._curRow = 0
-        self._trok = False
-    
-    def getRows(self):
-        return len(self._rows)
-    
-    def getColumns(self):
-        if self._rows:
-            return len(self._rows[0])
-        else:
-            return 0
-    
-    def remove_row(self, n): #NOTE: won't work in all cases.
-        if n >= self.getRows():
-            print "Trying to remove a nonexistant row:", n, "there are only", self.getRows(), "rows"
-            return
-        
-        for cell in self._rows[n]:
-            if isinstance(cell, dict) and cell["widget"] in self.widgets:
-                #print 'removing widget'
-                self.widgets.remove(cell["widget"])
-        del self._rows[n]
-        #print "got here"
-        
-        for w in self.widgets:
-            if w.style.row > n: w.style.row -= 1
-        
-        if self._curRow >= n:
-            self._curRow -= 1
-        
-        #self.rect.w, self.rect.h = self.resize()
-        #self.repaint()
-        
-        self.chsize()
-    
-    def clear(self):
-        self._rows = []
-        self._curRow = 0
-        self._trok = False
-
-        self.widgets = []
-        
-        self.chsize()
-        
-        #print 'clear',self,self._rows
-    
-    def _addRow(self):
-        self._rows.append([None for x in xrange(self.getColumns())])
-    
-    def tr(self):
-        """Start on the next row."""
-        if not self._trok:
-            self._trok = True
-            return 
-        self._curRow += 1
-        if self.getRows() <= self._curRow:
-            self._addRow()
-    
-    def _addColumn(self):
-        if not self._rows:
-            self._addRow()
-        for row in self._rows:
-            row.append(None)
-    
-    def _setCell(self, w, col, row, colspan=1, rowspan=1):
-        #make room for the widget by adding columns and rows
-        while self.getColumns() < col + colspan:
-            self._addColumn()
-        while self.getRows() < row + rowspan:
-            self._addRow()
-            
-        #print w.__class__.__name__,col,row,colspan,rowspan
-        
-        #actual widget setting and modification stuff
-        w.container = self
-        w.style.row = row #HACK - to work with gal's list
-        w.style.col = col #HACK - to work with gal's list
-        self._rows[row][col] = {"widget":w, "colspan":colspan, "rowspan":rowspan}
-        self.widgets.append(self._rows[row][col]["widget"])
-        
-        #set the spanned columns
-        #for acell in xrange(col + 1, col + colspan):
-        #    self._rows[row][acell] = True
-        
-        #set the spanned rows and the columns on them
-        #for arow in xrange(row + 1, row + rowspan):
-        #    for acell in xrange(col, col + colspan): #incorrect?
-        #        self._rows[arow][acell] = True
-        
-        for arow in xrange(row, row + rowspan):
-            for acell in xrange(col, col + colspan): #incorrect?
-                if row != arow or col != acell:
-                    self._rows[arow][acell] = True
-    
-    
-    def td(self, w, col=None, row=None, colspan=1, rowspan=1, **params):
-        """Add a widget to a table after wrapping it in a TD container.
-        
-        <pre>Table.td(w,col=None,row=None,colspan=1,rowspan=1,**params)</pre>
-        
-        <dl>
-        <dt>w<dd>widget
-        <dt>col<dd>column
-        <dt>row<dd>row
-        <dt>colspan<dd>colspan
-        <dt>rowspan<dd>rowspan
-        <dt>align<dd>horizontal alignment (-1,0,1)
-        <dt>valign<dd>vertical alignment (-1,0,1)
-        <dt>params<dd>other params for the TD container, style information, etc
-        </dl>
-        """
-        
-        Table.add(self,_Table_td(w, **params), col=col, row=row, colspan=colspan, rowspan=rowspan)
-    
-    def add(self, w, col=None, row=None, colspan=1, rowspan=1):
-        """Add a widget directly into the table, without wrapping it in a TD container.
-        
-        <pre>Table.add(w,col=None,row=None,colspan=1,rowspan=1)</pre>
-        
-        <p>See Table.td for an explanation of the parameters.</p>
-        """
-        self._trok = True
-        #if no row was specifically specified, set it to the current row
-        if row is None:
-            row = self._curRow
-            #print row
-        
-        #if its going to be a new row, have it be on the first column
-        if row >= self.getRows():
-            col = 0
-        
-        #try to find an open cell for the widget
-        if col is None:
-            for cell in xrange(self.getColumns()):
-                if col is None and not self._rows[row][cell]:
-                    col = cell
-                    break
-        
-        #otherwise put the widget in a new column
-        if col is None:
-            col = self.getColumns()
-        
-        self._setCell(w, col, row, colspan=colspan, rowspan=rowspan)
-        
-        self.chsize()
-        return
-        
-    def remove(self,w):
-        if hasattr(w,'_table_td'): w = w._table_td
-        row,col = w.style.row,w.style.col
-        cell = self._rows[row][col]
-        colspan,rowspan = cell['colspan'],cell['rowspan']
-        
-        for arow in xrange(row , row + rowspan):
-            for acell in xrange(col, col + colspan): #incorrect?
-                self._rows[arow][acell] = False
-        self.widgets.remove(w)
-        self.chsize()
-        
-        
-    
-    def resize(self, width=None, height=None):
-        #if 1 or self.getRows() == 82:
-            #print ''
-            #print 'resize',self.getRows(),self.getColumns(),width,height
-            #import inspect
-            #for obj,fname,line,fnc,code,n in inspect.stack()[9:20]:
-            #    print fname,line,':',fnc,code[0].strip()
-
-        
-        #resize the widgets to their smallest size
-        for w in self.widgets:
-            w.rect.w, w.rect.h = w.resize()
-        
-        #calculate row heights and column widths
-        rowsizes = [0 for y in xrange(self.getRows())]
-        columnsizes = [0 for x in xrange(self.getColumns())]
-        for row in xrange(self.getRows()):
-            for cell in xrange(self.getColumns()):
-                if self._rows[row][cell] and self._rows[row][cell] is not True:
-                    if not self._rows[row][cell]["colspan"] > 1:
-                        columnsizes[cell] = max(columnsizes[cell], self._rows[row][cell]["widget"].rect.w)
-                    if not self._rows[row][cell]["rowspan"] > 1:
-                        rowsizes[row] = max(rowsizes[row], self._rows[row][cell]["widget"].rect.h)
-        
-        #distribute extra space if necessary for wide colspanning/rowspanning
-        for row in xrange(self.getRows()):
-            for cell in xrange(self.getColumns()):
-                if self._rows[row][cell] and self._rows[row][cell] is not True:
-                    if self._rows[row][cell]["colspan"] > 1:
-                        columns = xrange(cell, cell + self._rows[row][cell]["colspan"])
-                        totalwidth = 0
-                        for acol in columns:
-                            totalwidth += columnsizes[acol]
-                        if totalwidth < self._rows[row][cell]["widget"].rect.w:
-                            for acol in columns:
-                                columnsizes[acol] += _table_div(self._rows[row][cell]["widget"].rect.w - totalwidth, self._rows[row][cell]["colspan"],acol)
-                    if self._rows[row][cell]["rowspan"] > 1:
-                        rows = xrange(row, row + self._rows[row][cell]["rowspan"])
-                        totalheight = 0
-                        for arow in rows:
-                            totalheight += rowsizes[arow]
-                        if totalheight < self._rows[row][cell]["widget"].rect.h:
-                            for arow in rows:
-                                rowsizes[arow] += _table_div(self._rows[row][cell]["widget"].rect.h - totalheight, self._rows[row][cell]["rowspan"],arow)
-         
-        #make everything fill out to self.style.width, self.style.heigh, not exact, but pretty close...
-        w, h = sum(columnsizes), sum(rowsizes)
-        if w > 0 and w < self.style.width and len(columnsizes):
-            d = (self.style.width - w) 
-            for n in xrange(0, len(columnsizes)):
-                v = columnsizes[n]
-                columnsizes[n] += v * d / w
-        if h > 0 and h < self.style.height and len(rowsizes):
-            d = (self.style.height - h) / len(rowsizes)
-            for n in xrange(0, len(rowsizes)):
-                v = rowsizes[n]
-                rowsizes[n] += v * d / h
-        
-        #set the widget's position by calculating their row/column x/y offset
-        cellpositions = [[[sum(columnsizes[0:cell]), sum(rowsizes[0:row])] for cell in xrange(self.getColumns())] for row in xrange(self.getRows())]
-        for row in xrange(self.getRows()):
-            for cell in xrange(self.getColumns()):
-                if self._rows[row][cell] and self._rows[row][cell] is not True:
-                    x, y = cellpositions[row][cell]
-                    w = sum(columnsizes[cell:cell+self._rows[row][cell]["colspan"]])
-                    h = sum(rowsizes[row:row+self._rows[row][cell]["rowspan"]])
-                    
-                    widget = self._rows[row][cell]["widget"]
-                    widget.rect.x = x
-                    widget.rect.y = y
-                    if 1 and (w,h) != (widget.rect.w,widget.rect.h):
-#                         if h > 20:
-#                             print widget.widget.__class__.__name__, (widget.rect.w,widget.rect.h),'=>',(w,h)
-                        widget.rect.w, widget.rect.h = widget.resize(w, h)
-                    
-                    #print self._rows[row][cell]["widget"].rect
-        
-        #print columnsizes
-        #print sum(columnsizes)
-        #size = sum(columnsizes), sum(rowsizes); print size
-        
-        #return the tables final size
-        return sum(columnsizes),sum(rowsizes)
-
-        
-def _table_div(a,b,c):
-    v,r = a/b, a%b
-    if r != 0 and (c%b)<r: v += 1
-    return v
-
-class _Table_td(container.Container):
-    def __init__(self,widget,**params):#hexpand=0,vexpand=0,
-        container.Container.__init__(self,**params)
-        self.widget = widget
-        #self.hexpand=hexpand
-        #self.vexpand=vexpand
-        widget._table_td = self
-        self.add(widget,0,0)
-    
-    def resize(self,width=None,height=None):
-        w = self.widget
-        
-        #expansion code, but i didn't like the idea that much..
-        #a bit obscure, fairly useless when a user can just
-        #add a widget to a table instead of td it in.
-        #ww,hh=None,None
-        #if self.hexpand: ww = self.style.width
-        #if self.vexpand: hh = self.style.height
-        #if self.hexpand and width != None: ww = max(ww,width)
-        #if self.vexpand and height != None: hh = max(hh,height)
-        #w.rect.w,w.rect.h = w.resize(ww,hh)
-        
-        #why bother, just do the lower mentioned item...
-        w.rect.w,w.rect.h = w.resize()
-        
-        #this should not be needed, widgets should obey their sizing on their own.
-        
-#         if (self.style.width!=0 and w.rect.w > self.style.width) or (self.style.height!=0 and w.rect.h > self.style.height):
-#             ww,hh = None,None
-#             if self.style.width: ww = self.style.width
-#             if self.style.height: hh = self.style.height
-#             w.rect.w,w.rect.h = w.resize(ww,hh)
-      
-  
-        #in the case that the widget is too big, we try to resize it
-        if (width != None and width < w.rect.w) or (height != None and height < w.rect.h):
-            w.rect.w,w.rect.h = w.resize(width,height)
-        
-        width = max(width,w.rect.w,self.style.width) #,self.style.cell_width)
-        height = max(height,w.rect.h,self.style.height) #,self.style.cell_height)
-        
-        dx = width-w.rect.w
-        dy = height-w.rect.h
-        w.rect.x = (self.style.align+1)*dx/2
-        w.rect.y = (self.style.valign+1)*dy/2
-        
-        return width,height
diff --git a/src/pgu/gui/textarea.py b/src/pgu/gui/textarea.py
deleted file mode 100644
index 667076a..0000000
--- a/src/pgu/gui/textarea.py
+++ /dev/null
@@ -1,287 +0,0 @@
-"""
-"""
-import pygame
-from pygame.locals import *
-
-from const import *
-import widget
-
-class TextArea(widget.Widget):
-	"""A multi-line text input.
-	
-	<pre>TextArea(value="",width = 120, height = 30, size=20)</pre>
-	
-	<dl>
-	<dt>value<dd>initial text
-	<dt>size<dd>size for the text box, in characters
-	</dl>
-	
-	<strong>Example</strong>
-	<code>
-	w = TextArea(value="Cuzco the Goat",size=20)
-	
-	w = TextArea("Marbles")
-	
-	w = TextArea("Groucho\nHarpo\nChico\nGummo\nZeppo\n\nMarx", 200, 400, 12)
-	</code>
-	
-	"""
-	def __init__(self,value="",width = 120, height = 30, size=20,**params):
-		params.setdefault('cls','input')
-		params.setdefault('width', width)
-		params.setdefault('height', height)
-		
-		widget.Widget.__init__(self,**params)
-		self.value = value				# The value of the TextArea
-		self.pos = len(str(value))		# The position of the cursor
-		self.vscroll = 0				# The number of lines that the TextArea is currently scrolled
-		self.font = self.style.font		# The font used for rendering the text
-		self.cursor_w = 2 				# Cursor width (NOTE: should be in a style)
-		w,h = self.font.size("e"*size)	
-		if not self.style.height: self.style.height = h
-		if not self.style.width: self.style.width = w
-	
-	def resize(self,width=None,height=None):
-		if (width != None) and (height != None):
-			self.rect = pygame.Rect(self.rect.x, self.rect.y, width, height)
-		return self.rect.w, self.rect.h
-		
-	def paint(self,s):
-		
-		# TODO: What's up with this 20 magic number? It's the margin of the left and right sides, but I'm not sure how this should be gotten other than by trial and error.
-		max_line_w = self.rect.w - 20
-				
-		# Update the line allocation for the box's value
-		self.doLines(max_line_w)
-		
-		# Make sure that the vpos and hpos of the cursor is set properly
-		self.updateCursorPos()
-
-		# Make sure that we're scrolled vertically such that the cursor is visible
-		if (self.vscroll < 0):
-			self.vscroll = 0
-		if (self.vpos < self.vscroll):
-			self.vscroll = self.vpos
-		elif ((self.vpos - self.vscroll + 1) * self.line_h > self.rect.h):
-			self.vscroll = - (self.rect.h / self.line_h - self.vpos - 1)
-
-		# Blit each of the lines in turn
-		cnt = 0
-		for line in self.lines:
-			line_pos = (0, (cnt - self.vscroll) * self.line_h)
-			if (line_pos[1] >= 0) and (line_pos[1] < self.rect.h):
-				s.blit( self.font.render(line, 1, self.style.color), line_pos )
-			cnt += 1
-		
-		# If the textarea is focused, then also show the cursor
-		if self.container.myfocus is self:
-			r = self.getCursorRect()
-			s.fill(self.style.color,r)
-	
-	# This function updates self.vpos and self.hpos based on self.pos
-	def updateCursorPos(self):
-		self.vpos = 0 # Reset the current line that the cursor is on
-		self.hpos = 0
-		
-		line_cnt = 0
-		char_cnt = 0
-
-		for line in self.lines:
-			line_char_start = char_cnt # The number of characters at the start of the line
-			
-			# Keep track of the character count for words
-			char_cnt += len(line)
-			
-			# If our cursor count is still less than the cursor position, then we can update our cursor line to assume that it's at least on this line
-			if (char_cnt > self.pos):
-				self.vpos = line_cnt
-				self.hpos = self.pos - line_char_start
-
-				break # Now that we know where our cursor is, we exit the loop
-
-			line_cnt += 1
-		
-		if (char_cnt <= self.pos) and (len(self.lines) > 0):
-			self.vpos = len(self.lines) - 1
-			self.hpos = len(self.lines[ self.vpos ] )
-
-	# Returns a rectangle that is of the size and position of where the cursor is drawn	
-	def getCursorRect(self):
-		lw = 0
-		if (len(self.lines) > 0):
-			lw, lh = self.font.size( self.lines[ self.vpos ][ 0:self.hpos ] )
-			
-		r = pygame.Rect(lw, (self.vpos - self.vscroll) * self.line_h, self.cursor_w, self.line_h)
-		return r
-	
-	# This function sets the cursor position according to an x/y value (such as by from a mouse click)
-	def setCursorByXY(self, (x, y)):
-		self.vpos = ((int) (y / self.line_h)) + self.vscroll
-		if (self.vpos >= len(self.lines)):
-			self.vpos = len(self.lines) - 1
-			
-		currentLine = self.lines[ self.vpos ]
-		
-		for cnt in range(0, len(currentLine) ):
-			self.hpos = cnt
-			lw, lh = self.font.size( currentLine[ 0:self.hpos + 1 ] )
-			if (lw > x):
-				break
-		
-		lw, lh = self.font.size( currentLine )
-		if (lw < x):
-			self.hpos = len(currentLine)
-			
-		self.setCursorByHVPos()
-		
-	# This function sets the cursor position by the horizontal/vertical cursor position.	
-	def setCursorByHVPos(self):
-		line_cnt = 0
-		char_cnt = 0
-		
-		for line in self.lines:
-			line_char_start = char_cnt # The number of characters at the start of the line
-			
-			# Keep track of the character count for words
-			char_cnt += len(line)
-
-			# If we're on the proper line
-			if (line_cnt == self.vpos):
-				# Make sure that we're not trying to go over the edge of the current line
-				if ( self.hpos >= len(line) ):
-					self.hpos = len(line) - 1
-				# Set the cursor position
-				self.pos = line_char_start + self.hpos
-				break	# Now that we've set our cursor position, we exit the loop
-				
-			line_cnt += 1		
-	
-	# Splits up the text found in the control's value, and assigns it into the lines array
-	def doLines(self, max_line_w):
-		self.line_h = 10
-		self.lines = [] # Create an empty starter list to start things out.
-		
-		inx = 0
-		line_start = 0
-		while inx >= 0:
-			# Find the next breakable whitespace
-			# HACK: Find a better way to do this to include tabs and system characters and whatnot.
-			prev_word_start = inx # Store the previous whitespace
-			spc_inx = self.value.find(' ', inx+1)
-			nl_inx = self.value.find('\n', inx+1)
-			
-			if (min(spc_inx, nl_inx) == -1):
-				inx = max(spc_inx, nl_inx)
-			else:
-				inx = min(spc_inx, nl_inx)
-				
-			# Measure the current line
-			lw, self.line_h = self.font.size( self.value[ line_start : inx ] )
-			
-			# If we exceeded the max line width, then create a new line
-			if (lw > max_line_w):
-				#Fall back to the previous word start
-				self.lines.append(self.value[ line_start : prev_word_start + 1 ])
-				line_start = prev_word_start + 1
-				# TODO: Check for extra-long words here that exceed the length of a line, to wrap mid-word
-				
-			# If we reached the end of our text
-			if (inx < 0):
-				# Then make sure we added the last of the line
-				if (line_start < len( self.value ) ):
-					self.lines.append( self.value[ line_start : len( self.value ) ] )
-			# If we reached a hard line break
-			elif (self.value[inx] == "\n"):
-				# Then make a line break here as well.
-				newline = self.value[ line_start : inx + 1 ]
-				newline = newline.replace("\n", " ") # HACK: We know we have a newline character, which doesn't print nicely, so make it into a space. Comment this out to see what I mean.
-				self.lines.append( newline )
-				
-				line_start = inx + 1
-			else:
-				# Otherwise, we just continue progressing to the next space
-				pass
-		
-	def _setvalue(self,v):
-		self.__dict__['value'] = v
-		self.send(CHANGE)
-	
-	def event(self,e):
-		used = None
-		if e.type == KEYDOWN:	
-			if e.key == K_BACKSPACE:
-				if self.pos:
-					self._setvalue(self.value[:self.pos-1] + self.value[self.pos:])
-					self.pos -= 1
-			elif e.key == K_DELETE:
-				if len(self.value) > self.pos:
-					self._setvalue(self.value[:self.pos] + self.value[self.pos+1:])
-			elif e.key == K_HOME: 
-				# Find the previous newline
-				newPos = self.value.rfind('\n', 0, self.pos)
-				if (newPos >= 0):
-					self.pos = newPos
-			elif e.key == K_END:
-				# Find the previous newline
-				newPos = self.value.find('\n', self.pos, len(self.value) )
-				if (newPos >= 0):
-					self.pos = newPos
-			elif e.key == K_LEFT:
-				if self.pos > 0: self.pos -= 1
-				used = True
-			elif e.key == K_RIGHT:
-				if self.pos < len(self.value): self.pos += 1
-				used = True
-			elif e.key == K_UP:
-				self.vpos -= 1
-				self.setCursorByHVPos()
-			elif e.key == K_DOWN:
-				self.vpos += 1
-				self.setCursorByHVPos()
-			# The following return/tab keys are standard for PGU widgets, but I took them out here to facilitate multi-line text editing
-#			elif e.key == K_RETURN:
-#				self.next()
-#			elif e.key == K_TAB:
-#				pass				
-			else:
-				#c = str(e.unicode)
-				try:
-					if (e.key == K_RETURN):
-						c = "\n"
-					elif (e.key == K_TAB):
-						c = "  "
-					else:
-						c = (e.unicode).encode('latin-1')
-					if c:
-						self._setvalue(self.value[:self.pos] + c + self.value[self.pos:])
-						self.pos += len(c)
-				except: #ignore weird characters
-					pass
-			self.repaint()
-		elif e.type == MOUSEBUTTONDOWN:
-			self.setCursorByXY(e.pos)
-			self.repaint()
-			
-		elif e.type == FOCUS:
-			self.repaint()
-		elif e.type == BLUR:
-			self.repaint()
-		
-		self.pcls = ""
-		if self.container.myfocus is self: self.pcls = "focus"
-		
-		return used
-	
-	def __setattr__(self,k,v):
-		if k == 'value':
-			if v == None: v = ''
-			v = str(v)
-			self.pos = len(v)
-		_v = self.__dict__.get(k,NOATTR)
-		self.__dict__[k]=v
-		if k == 'value' and _v != NOATTR and _v != v: 
-			self.send(CHANGE)
-			self.repaint()
-			
-# The first version of this code was done by Clint Herron, and is a modified version of input.py (by Phil Hassey).
-# It is under the same license as the rest of the PGU library.
\ No newline at end of file
diff --git a/src/pgu/gui/theme.py b/src/pgu/gui/theme.py
deleted file mode 100644
index 283c287..0000000
--- a/src/pgu/gui/theme.py
+++ /dev/null
@@ -1,485 +0,0 @@
-# theme.py
-
-"""
-"""
-import os, re
-import pygame
-
-from const import *
-import widget
-import surface
-from basic import parse_color, is_color
-
-__file__ = os.path.abspath(__file__)
-
-def _list_themes(dir):
-    d = {}
-    for entry in os.listdir(dir):
-        if os.path.exists(os.path.join(dir, entry, 'config.txt')):
-            d[entry] = os.path.join(dir, entry)
-    return d
-
-class Theme:
-    """Theme interface.
-    
-    <p>If you wish to create your own theme, create a class with this interface, and 
-    pass it to gui.App via <tt>gui.App(theme=MyTheme())</tt>.</p>
-    
-    <strong>Default Theme</strong>
-    
-    <pre>Theme(dirs='default')</pre>
-    <dl>
-    <dt>dirs<dd>Name of the theme dir to load a theme from.  May be an absolute path to a theme, if pgu is not installed, or if you created your own theme.  May include several dirs in a list if data is spread across several themes.
-    </dl>
-    
-    <strong>Example</strong>
-    
-    <code>    
-    theme = gui.Theme("default")
-    theme = gui.Theme(["mytheme","mytheme2"])
-    </code>
-    """
-    def __init__(self,dirs='default'):
-        self.config = {}
-        self.dict = {}
-        self._loaded = []
-        self.cache = {}
-        self._preload(dirs)
-        pygame.font.init()
-    
-    def _preload(self,ds):
-        if not isinstance(ds, list):
-            ds = [ds]
-        for d in ds:
-            if d not in self._loaded:
-                self._load(d)
-            self._loaded.append(d)
-    
-    def _load(self, name):
-        #theme_dir = themes[name]
-        
-        #try to load the local dir, or absolute path
-        dnames = [name]
-        
-        #if the package isn't installed and people are just
-        #trying out the scripts or examples
-        dnames.append(os.path.join(os.path.dirname(__file__),"..","..","data","themes",name))
-        
-        #if the package is installed, and the package is installed
-        #in /usr/lib/python2.3/site-packages/pgu/
-        #or c:\python23\lib\site-packages\pgu\
-        #the data is in ... lib/../share/ ...
-        dnames.append(os.path.join(os.path.dirname(__file__),"..","..","..","..","share","pgu","themes",name))
-        dnames.append(os.path.join(os.path.dirname(__file__),"..","..","..","..","..","share","pgu","themes",name))
-        dnames.append(os.path.join(os.path.dirname(__file__),"..","..","share","pgu","themes",name)) 
-        for dname in dnames:
-            if os.path.isdir(dname): break
-        if not os.path.isdir(dname): 
-            raise 'could not find theme '+name
-            
-        fname = os.path.join(dname,"config.txt")
-        if os.path.isfile(fname):
-            try:
-                f = open(fname)
-                for line in f.readlines():
-                    vals = line.strip().split()
-                    if len(vals) < 3: continue
-                    cls = vals[0]
-                    del vals[0]
-                    pcls = ""
-                    if cls.find(":")>=0:
-                        cls,pcls = cls.split(":")
-                    attr = vals[0]
-                    del vals[0]
-                    self.config[cls+":"+pcls+" "+attr] = (dname, vals)
-            finally:
-                f.close()
-        fname = os.path.join(dname,"style.ini")
-        if os.path.isfile(fname):
-            import ConfigParser
-            cfg = ConfigParser.ConfigParser()
-            f = open(fname,'r')
-            cfg.readfp(f)
-            for section in cfg.sections():
-                cls = section
-                pcls = ''
-                if cls.find(":")>=0:
-                    cls,pcls = cls.split(":")
-                for attr in cfg.options(section):
-                    vals = cfg.get(section,attr).strip().split()
-                    self.config[cls+':'+pcls+' '+attr] = (dname,vals)
-    
-    is_image = re.compile('\.(gif|jpg|bmp|png|tga)$', re.I)
-    def _get(self,key):
-        if not key in self.config: return
-        if key in self.dict: return self.dict[key]
-        dvals = self.config[key]
-        dname, vals = dvals
-        #theme_dir = themes[name]
-        v0 = vals[0]
-        if v0[0] == '#':
-            v = parse_color(v0)
-            #if (len(v0) == 7):
-            #    # Due to a bug in pygame 1.8 (?) we need to explicitly 
-            #    # specify the alpha value (otherwise it defaults to zero)
-            #    v0 += "FF"
-            #v = pygame.color.Color(v0)
-        elif v0.endswith(".ttf") or v0.endswith(".TTF"):
-            v = pygame.font.Font(os.path.join(dname, v0),int(vals[1]))
-        elif self.is_image.search(v0) is not None:
-            v = pygame.image.load(os.path.join(dname, v0))
-        else:
-            try: v = int(v0)
-            except: v = pygame.font.SysFont(v0, int(vals[1]))
-        self.dict[key] = v
-        return v    
-    
-    def get(self,cls,pcls,attr):
-        """Interface method -- get the value of a style attribute.
-        
-        <pre>Theme.get(cls,pcls,attr): return value</pre>
-        
-        <dl>
-        <dt>cls<dd>class, for example "checkbox", "button", etc.
-        <dt>pcls<dd>pseudo class, for example "hover", "down", etc.
-        <dt>attr<dd>attribute, for example "image", "background", "font", "color", etc.
-        </dl>
-        
-        <p>returns the value of the attribute.</p>
-        
-        <p>This method is called from [[gui-style]].</p>
-        """
-        
-        if not self._loaded: self._preload("default")
-        
-        o = cls+":"+pcls+" "+attr
-        
-        #if not hasattr(self,'_count'):
-        #    self._count = {}
-        #if o not in self._count: self._count[o] = 0
-        #self._count[o] += 1
-        
-        if o in self.cache: 
-            return self.cache[o]
-        
-        v = self._get(cls+":"+pcls+" "+attr)
-        if v: 
-            self.cache[o] = v
-            return v
-        
-        pcls = ""
-        v = self._get(cls+":"+pcls+" "+attr)
-        if v: 
-            self.cache[o] = v
-            return v
-        
-        cls = "default"
-        v = self._get(cls+":"+pcls+" "+attr)
-        if v: 
-            self.cache[o] = v
-            return v
-        
-        v = 0
-        self.cache[o] = v
-        return v
-        
-    def box(self,w,s):
-        style = w.style
-        
-        c = (0,0,0)
-        if style.border_color != 0: c = style.border_color
-        w,h = s.get_width(),s.get_height()
-        
-        s.fill(c,(0,0,w,style.border_top))
-        s.fill(c,(0,h-style.border_bottom,w,style.border_bottom))
-        s.fill(c,(0,0,style.border_left,h))
-        s.fill(c,(w-style.border_right,0,style.border_right,h))
-        
-        
-    def getspacing(self,w):
-        # return the top, right, bottom, left spacing around the widget
-        if not hasattr(w,'_spacing'): #HACK: assume spacing doesn't change re pcls
-            s = w.style
-            xt = s.margin_top+s.border_top+s.padding_top
-            xr = s.padding_right+s.border_right+s.margin_right
-            xb = s.padding_bottom+s.border_bottom+s.margin_bottom
-            xl = s.margin_left+s.border_left+s.padding_left
-            w._spacing = xt,xr,xb,xl
-        return w._spacing
-
-        
-    def resize(self,w,m):
-        # Returns the rectangle expanded in each direction
-        def expand_rect(rect, left, top, right, bottom):
-            return pygame.Rect(rect.x - left, 
-                               rect.y - top, 
-                               rect.w + left + right, 
-                               rect.h + top + bottom)
-
-        def func(width=None,height=None):
-            s = w.style
-            
-            pt,pr,pb,pl = s.padding_top,s.padding_right,s.padding_bottom,s.padding_left
-            bt,br,bb,bl = s.border_top,s.border_right,s.border_bottom,s.border_left
-            mt,mr,mb,ml = s.margin_top,s.margin_right,s.margin_bottom,s.margin_left
-            # Calculate the total space on each side
-            top = pt+bt+mt
-            right = pr+br+mr
-            bottom = pb+bb+mb
-            left = pl+bl+ml
-            ttw = left+right
-            tth = top+bottom
-            
-            ww,hh = None,None
-            if width != None: ww = width-ttw
-            if height != None: hh = height-tth
-            ww,hh = m(ww,hh)
-
-            if width == None: width = ww
-            if height == None: height = hh
-            
-            #if the widget hasn't respected the style.width,
-            #style height, we'll add in the space for it...
-            width = max(width-ttw, ww, w.style.width)
-            height = max(height-tth, hh, w.style.height)
-            
-            #width = max(ww,w.style.width-tw)
-            #height = max(hh,w.style.height-th)
-
-            r = pygame.Rect(left,top,width,height)
-            
-            w._rect_padding = expand_rect(r, pl, pt, pr, pb)
-            w._rect_border = expand_rect(w._rect_padding, bl, bt, br, bb)
-            w._rect_margin = expand_rect(w._rect_border, ml, mt, mr, mb)
-
-            #w._rect_padding = pygame.Rect(r.x-pl,r.y-pt,r.w+pl+pr,r.h+pt+pb)
-            #r = w._rect_padding
-            #w._rect_border = pygame.Rect(r.x-bl,r.y-bt,r.w+bl+br,r.h+bt+bb)
-            #r = w._rect_border
-            #w._rect_margin = pygame.Rect(r.x-ml,r.y-mt,r.w+ml+mr,r.h+mt+mb)
-
-            # align it within it's zone of power.   
-            rect = pygame.Rect(left, top, ww, hh)
-            dx = width-rect.w
-            dy = height-rect.h
-            rect.x += (w.style.align+1)*dx/2
-            rect.y += (w.style.valign+1)*dy/2
-
-            w._rect_content = rect
-
-            return (w._rect_margin.w, w._rect_margin.h)
-        return func
-
-
-    def paint(self,w,m):
-        def func(s):
-#             if w.disabled:
-#                 if not hasattr(w,'_disabled_bkgr'):
-#                     w._disabled_bkgr = s.convert()
-#                 orig = s
-#                 s = w._disabled_bkgr.convert()
-
-#             if not hasattr(w,'_theme_paint_bkgr'):
-#                 w._theme_paint_bkgr = s.convert()
-#             else:
-#                 s.blit(w._theme_paint_bkgr,(0,0))
-#             
-#             if w.disabled:
-#                 orig = s
-#                 s = w._theme_paint_bkgr.convert()
-
-            if w.disabled:
-                if (not (hasattr(w,'_theme_bkgr') and 
-                         w._theme_bkgr.get_width() == s.get_width() and 
-                         w._theme_bkgr.get_height() == s.get_height())):
-                    w._theme_bkgr = s.copy()
-                orig = s
-                s = w._theme_bkgr
-                s.fill((0,0,0,0))
-                s.blit(orig,(0,0))
-                
-            if hasattr(w,'background'):
-                w.background.paint(surface.subsurface(s,w._rect_border))
-            self.box(w,surface.subsurface(s,w._rect_border))
-            r = m(surface.subsurface(s,w._rect_content))
-            
-            if w.disabled:
-                s.set_alpha(128)
-                orig.blit(s,(0,0))
-            
-#             if w.disabled:
-#                 orig.blit(w._disabled_bkgr,(0,0))
-#                 s.set_alpha(128)
-#                 orig.blit(s,(0,0))
-            
-            w._painted = True
-            return r
-        return func
-    
-    def event(self,w,m):
-        def func(e):
-            rect = w._rect_content
-            if e.type == MOUSEBUTTONUP or e.type == MOUSEBUTTONDOWN:
-                sub = pygame.event.Event(e.type,{
-                    'button':e.button,
-                    'pos':(e.pos[0]-rect.x,e.pos[1]-rect.y)})
-            elif e.type == CLICK:
-                sub = pygame.event.Event(e.type,{
-                    'button':e.button,
-                    'pos':(e.pos[0]-rect.x,e.pos[1]-rect.y)})
-            elif e.type == MOUSEMOTION:
-                sub = pygame.event.Event(e.type,{
-                    'buttons':e.buttons,
-                    'pos':(e.pos[0]-rect.x,e.pos[1]-rect.y),
-                    'rel':e.rel})
-            else:
-                sub = e
-            r = m(sub)
-            return r
-        return func
-    
-    def update(self,w,m):
-        def func(s):
-            if w.disabled: return []
-            r = m(surface.subsurface(s,w._rect_content))
-            if type(r) == list:
-                dx,dy = w._rect_content.topleft
-                for rr in r:
-                    rr.x,rr.y = rr.x+dx,rr.y+dy
-            return r
-        return func
-        
-    def open(self,w,m):
-        def func(widget=None,x=None,y=None):
-            if not hasattr(w,'_rect_content'): w.rect.w,w.rect.h = w.resize() #HACK: so that container.open won't resize again!
-            rect = w._rect_content
-            ##print w.__class__.__name__, rect
-            if x != None: x += rect.x
-            if y != None: y += rect.y
-            return m(widget,x,y)
-        return func
-            
-    #def open(self,w,m):
-    #    def func(widget=None):
-    #        return m(widget)
-    #    return func
-        
-    def decorate(self,widget,level):
-        """Interface method -- decorate a widget.
-        
-        <p>The theme system is given the opportunity to decorate a widget methods at the
-        end of the Widget initializer.</p>
-
-        <pre>Theme.decorate(widget,level)</pre>
-                
-        <dl>
-        <dt>widget<dd>the widget to be decorated
-        <dt>level<dd>the amount of decoration to do, False for none, True for normal amount, 'app' for special treatment of App objects.
-        </dl>
-        """        
-
-        w = widget
-        if level == False: return
-        
-        if type(w.style.background) != int:
-            w.background = Background(w,self)    
-        
-        if level == 'app': return
-        
-        for k,v in w.style.__dict__.items():
-            if k in ('border','margin','padding'):
-                for kk in ('top','bottom','left','right'):
-                    setattr(w.style,'%s_%s'%(k,kk),v)
-
-        w.paint = self.paint(w,w.paint)
-        w.event = self.event(w,w.event)
-        w.update = self.update(w,w.update)
-        w.resize = self.resize(w,w.resize)
-        w.open = self.open(w,w.open)
-
-    def render(self,s,box,r):
-        """Interface method - render a special widget feature.
-        
-        <pre>Theme.render(s,box,r)</pre>
-        
-        <dl>
-        <dt>s<dt>pygame.Surface
-        <dt>box<dt>box data, a value returned from Theme.get, typically a pygame.Surface
-        <dt>r<dt>pygame.Rect with the size that the box data should be rendered
-        </dl>
-        
-        """
-        
-        if box == 0: return
-        
-        if is_color(box):
-            s.fill(box,r)
-            return
-        
-        x,y,w,h=r.x,r.y,r.w,r.h
-        ww,hh=box.get_width()/3,box.get_height()/3
-        xx,yy=x+w,y+h
-        src = pygame.rect.Rect(0,0,ww,hh)
-        dest = pygame.rect.Rect(0,0,ww,hh)
-        
-        s.set_clip(pygame.Rect(x+ww,y+hh,w-ww*2,h-hh*2))
-        src.x,src.y = ww,hh
-        for dest.y in xrange(y+hh,yy-hh,hh): 
-            for dest.x in xrange(x+ww,xx-ww,ww): s.blit(box,dest,src)
-        
-        s.set_clip(pygame.Rect(x+ww,y,w-ww*3,hh))
-        src.x,src.y,dest.y = ww,0,y
-        for dest.x in xrange(x+ww,xx-ww*2,ww): s.blit(box,dest,src)
-        dest.x = xx-ww*2
-        s.set_clip(pygame.Rect(x+ww,y,w-ww*2,hh))
-        s.blit(box,dest,src)
-        
-        s.set_clip(pygame.Rect(x+ww,yy-hh,w-ww*3,hh))
-        src.x,src.y,dest.y = ww,hh*2,yy-hh
-        for dest.x in xrange(x+ww,xx-ww*2,ww): s.blit(box,dest,src)
-        dest.x = xx-ww*2
-        s.set_clip(pygame.Rect(x+ww,yy-hh,w-ww*2,hh))
-        s.blit(box,dest,src)
-    
-        s.set_clip(pygame.Rect(x,y+hh,xx,h-hh*3))
-        src.y,src.x,dest.x = hh,0,x
-        for dest.y in xrange(y+hh,yy-hh*2,hh): s.blit(box,dest,src)
-        dest.y = yy-hh*2
-        s.set_clip(pygame.Rect(x,y+hh,xx,h-hh*2))
-        s.blit(box,dest,src)
-    
-        s.set_clip(pygame.Rect(xx-ww,y+hh,xx,h-hh*3))
-        src.y,src.x,dest.x=hh,ww*2,xx-ww
-        for dest.y in xrange(y+hh,yy-hh*2,hh): s.blit(box,dest,src)
-        dest.y = yy-hh*2
-        s.set_clip(pygame.Rect(xx-ww,y+hh,xx,h-hh*2))
-        s.blit(box,dest,src)
-        
-        s.set_clip()
-        src.x,src.y,dest.x,dest.y = 0,0,x,y
-        s.blit(box,dest,src)
-        
-        src.x,src.y,dest.x,dest.y = ww*2,0,xx-ww,y
-        s.blit(box,dest,src)
-        
-        src.x,src.y,dest.x,dest.y = 0,hh*2,x,yy-hh
-        s.blit(box,dest,src)
-        
-        src.x,src.y,dest.x,dest.y = ww*2,hh*2,xx-ww,yy-hh
-        s.blit(box,dest,src)
-
-        
-class Background(widget.Widget):
-    def __init__(self,value,theme,**params):
-        params['decorate'] = False
-        widget.Widget.__init__(self,**params)
-        self.value = value
-        self.theme = theme
-    
-    def paint(self,s):
-        r = pygame.Rect(0,0,s.get_width(),s.get_height())
-        v = self.value.style.background
-        if is_color(v):
-            s.fill(v)
-        else: 
-            self.theme.render(s,v,r)
diff --git a/src/pgu/gui/widget.py b/src/pgu/gui/widget.py
deleted file mode 100644
index f0f4b13..0000000
--- a/src/pgu/gui/widget.py
+++ /dev/null
@@ -1,377 +0,0 @@
-"""
-"""
-import pygame
-
-import pguglobals
-import style
-
-class SignalCallback:
-    # The function to call
-    func = None
-    # The parameters to pass to the function (as a list)
-    params = None
-
-class Widget:
-    """Template object - base for all widgets.
-    
-    <pre>Widget(**params)</pre>
-    
-    <p>A number of optional params may be passed to the Widget initializer.</p>
-    
-    <dl>
-    <dt>decorate<dd>defaults to True.  If true, will call <tt>theme.decorate(self)</tt> to allow the theme a chance to decorate the widget.
-    <dt>style<dd>a dict of style parameters.
-    <dt>x, y, width, height<dd>position and size parameters, passed along to style
-    <dt>align, valign<dd>alignment parameters, passed along to style
-    <dt>font, color, background<dd>other common parameters that are passed along to style
-    <dt>cls<dd>class name as used by Theme
-    <dt>name<dd>name of widget as used by Form.  If set, will call <tt>form.add(self,name)</tt> to add the widget to the most recently created Form.
-    <dt>focusable<dd>True if this widget can receive focus via Tab, etc.  Defaults to True.
-    <dt>disabled<dd>True of this widget is disabled.  Defaults to False.
-    <dt>value<dd>initial value
-    </dl>
-    
-    <strong>Example - Creating your own Widget</strong>
-    <p>This example shows which methods are template methods.</p>
-    <code>
-    class Draw(gui.Widget):
-        def paint(self,s):
-            #paint the pygame.Surface
-            return
-        
-        def update(self,s):
-            #update the pygame.Surface and return the update rects
-            return [pygame.Rect(0,0,self.rect.w,self.rect.h)]
-            
-        def event(self,e):
-            #handle the pygame.Event
-            return
-            
-        def resize(self,width=None,height=None):
-            #return the width and height of this widget
-            return 256,256
-    </code>
-    """
-
-    # The name of the widget (or None if not defined)
-    name = None
-    
-    def __init__(self,**params): 
-        #object.Object.__init__(self) 
-        self.connects = {}
-        params.setdefault('decorate',True)
-        params.setdefault('style',{})
-        params.setdefault('focusable',True)
-        params.setdefault('disabled',False)
-        
-        self.focusable = params['focusable']
-        self.disabled = params['disabled']
-        
-        self.rect = pygame.Rect(params.get('x',0),params.get('y',0),params.get('width',0),params.get('height',0))
-        
-        s = params['style']
-        #some of this is a bit "theme-ish" but it is very handy, so these
-        #things don't have to be put directly into the style.
-        for att in ('align','valign','x','y','width','height','color','font','background'):
-            if att in params: s[att] = params[att]
-        self.style = style.Style(self,s)
-        
-        self.cls = 'default'
-        if 'cls' in params: self.cls = params['cls']
-        if 'name' in params:    
-            import form
-            self.name = params['name']
-            if hasattr(form.Form,'form') and form.Form.form != None: 
-                form.Form.form.add(self)
-                self.form = form.Form.form
-        if 'value' in params: self.value = params['value']
-        self.pcls = ""
-        
-        if params['decorate'] != False:
-            if (not pguglobals.app):
-                # TODO - fix this somehow
-                import app
-                print 'gui.widget: creating an App'
-                app.App()
-            pguglobals.app.theme.decorate(self,params['decorate'])
-
-    def focus(self):
-        """Focus this Widget.
-        
-        <pre>Widget.focus()</pre>
-        """
-        if getattr(self,'container',None) != None: 
-            if self.container.myfocus != self:  ## by Gal Koren
-                self.container.focus(self)
-
-    def blur(self): 
-        """Blur this Widget.
-        
-        <pre>Widget.blur()</pre>
-        """
-        if getattr(self,'container',None) != None: self.container.blur(self)
-
-    def open(self):
-        """Open this Widget as a modal dialog.
-        
-        <pre>Widget.open()</pre>
-        """
-        #if getattr(self,'container',None) != None: self.container.open(self)
-        pguglobals.app.open(self)
-
-    def close(self, w=None):
-        """Close this Widget (if it is a modal dialog.)
-        
-        <pre>Widget.close()</pre>
-        """
-        #if getattr(self,'container',None) != None: self.container.close(self)
-        if (not w):
-            w = self
-        pguglobals.app.close(w)
-
-    def resize(self,width=None,height=None):
-        """Template method - return the size and width of this widget.
-
-        <p>Responsible for also resizing all sub-widgets.</p>
-                
-        <pre>Widget.resize(width,height): return width,height</pre>
-        
-        <dl>
-        <dt>width<dd>suggested width
-        <dt>height<dd>suggested height
-        </dl>
-        
-        <p>If not overridden, will return self.style.width, self.style.height</p>
-        """
-        return self.style.width, self.style.height
-
-    def chsize(self):
-        """Change the size of this widget.
-        
-        <p>Calling this method will cause a resize on all the widgets,
-        including this one.</p>
-        
-        <pre>Widget.chsize()</pre>
-        """
-        
-        if not hasattr(self,'_painted'): return
-        
-        if not hasattr(self,'container'): return
-        
-        if pguglobals.app:
-            if pguglobals.app._chsize:
-                return
-            pguglobals.app.chsize()
-            return
-            
-        #if hasattr(app.App,'app'):
-        #    w,h = self.rect.w,self.rect.h
-        #    w2,h2 = self.resize()
-        #    if w2 != w or h2 != h:
-        #        app.App.app.chsize()
-        #    else: 
-        #        self.repaint()
-        
-
-    def update(self,s):
-        """Template method - update the surface
-        
-        <pre>Widget.update(s): return list of pygame.Rect(s)</pre>
-        
-        <dl>
-        <dt>s<dd>pygame.Surface to update
-        </dl>
-        
-        <p>return - a list of the updated areas as pygame.Rect(s).</p>
-        """
-        return
-        
-    def paint(self,s):
-        """Template method - paint the surface
-        
-        <pre>Widget.paint(s)</pre>
-        
-        <dl>
-        <dt>s<dd>pygame.Surface to paint
-        </dl>
-        """
-        return
-
-    def repaint(self): 
-        """Request a repaint of this Widget.
-        
-        <pre>Widget.repaint()</pre>
-        """
-        if getattr(self,'container',None) != None: self.container.repaint(self)
-    def repaintall(self):
-        """Request a repaint of all Widgets.
-        
-        <pre>Widget.repaintall()</pre>
-        """
-        if getattr(self,'container',None) != None: self.container.repaintall()
-    def reupdate(self): 
-        """Request a reupdate of this Widget
-        
-        <pre>Widget.reupdate()</pre>
-        """
-        if getattr(self,'container',None) != None: self.container.reupdate(self)
-    def next(self): 
-        """Pass focus to next Widget.
-        
-        <p>Widget order determined by the order they were added to their container.</p>
-        
-        <pre>Widget.next()</pre>
-        """
-        if getattr(self,'container',None) != None: self.container.next(self)
-    def previous(self): 
-        """Pass focus to previous Widget.
-        
-        <p>Widget order determined by the order they were added to their container.</p>
-        
-        <pre>Widget.previous()</pre>
-        """
-        
-        if getattr(self,'container',None) != None: self.container.previous(self)
-    
-    def get_abs_rect(self):
-        """Get the absolute rect of this widget on the App screen
-        
-        <pre>Widget.get_abs_rect(): return pygame.Rect</pre>
-        """
-        x, y = self.rect.x, self.rect.y
-        x += self._rect_content.x
-        y += self._rect_content.y
-        c = getattr(self,'container',None)
-        while c:
-            x += c.rect.x
-            y += c.rect.y
-            if hasattr(c,'_rect_content'):
-                x += c._rect_content.x
-                y += c._rect_content.y
-            c = getattr(c,'container',None)
-        return pygame.Rect(x, y, self.rect.w, self.rect.h)
-
-    def connect(self,code,func,*params):
-        """Connect a event code to a callback function.
-        
-        <p>There may be multiple callbacks per event code.</p>
-        
-        <pre>Object.connect(code,fnc,value)</pre>
-        
-        <dl>
-        <dt>code<dd>event type [[gui-const]]
-        <dt>fnc<dd>callback function
-        <dt>*values<dd>values to pass to callback.  Please note that callbacks may also have "magicaly" parameters.  Such as:
-            <dl>
-            <dt>_event<dd>receive the event
-            <dt>_code<dd>receive the event code
-            <dt>_widget<dd>receive the sending widget
-            </dl>
-        </dl>
-        
-        <strong>Example</strong>
-        <code>
-        def onclick(value):
-            print 'click',value
-        
-        w = Button("PGU!")
-        w.connect(gui.CLICK,onclick,'PGU Button Clicked')
-        </code>
-        """
-        if (not code in self.connects):
-            self.connects[code] = []
-        for cb in self.connects[code]:
-            if (cb.func == func):
-                # Already connected to this callback function
-                return
-        # Wrap the callback function and add it to the list
-        cb = SignalCallback()
-        cb.func = func
-        cb.params = params
-        self.connects[code].append(cb)
-
-    # Remove signal handlers from the given event code. If func is specified,
-    # only those handlers will be removed. If func is None, all handlers
-    # will be removed.
-    def disconnect(self, code, func=None):
-        if (not code in self.connects):
-            return
-        if (not func):
-            # Remove all signal handlers
-            del self.connects[code]
-        else:
-            # Remove handlers that call 'func'
-            n = 0
-            callbacks = self.connects[code]
-            while (n < len(callbacks)):
-                if (callbacks[n].func == func):
-                    # Remove this callback
-                    del callbacks[n]
-                else:
-                    n += 1
-
-    def send(self,code,event=None):
-        """Send a code, event callback trigger.
-        
-        <pre>Object.send(code,event=None)</pre>
-        
-        <dl>
-        <dt>code<dd>event code
-        <dt>event<dd>event
-        </dl>
-        """
-        if (not code in self.connects):
-            return
-        # Trigger all connected signal handlers
-        for cb in self.connects[code]:
-            func = cb.func
-            values = list(cb.params)
-
-            nargs = func.func_code.co_argcount
-            names = list(func.func_code.co_varnames)[:nargs]
-            if hasattr(func,'im_class'): names.pop(0)
-            
-            args = []
-            magic = {'_event':event,'_code':code,'_widget':self}
-            for name in names:
-                if name in magic.keys():
-                    args.append(magic[name])
-                elif len(values):
-                    args.append(values.pop(0))
-                else:
-                    break
-            args.extend(values)
-            func(*args)
-    
-    def _event(self,e):
-        if self.disabled: return
-        self.send(e.type,e)
-        return self.event(e)
-#         return
-#         import app
-#         if hasattr(app.App,'app'):
-#             app.App.app.events.append((self,e))
-        
-    def event(self,e):
-        """Template method - called when an event is passed to this object.
-        
-        <p>Please note that if you use an event, returning the value True
-        will stop parent containers from also using the event.  (For example, if
-        your widget handles TABs or arrow keys, and you don't want those to 
-        also alter the focus.)</p>
-        
-        <dl>
-        <dt>e<dd>event
-        </dl>
-        """
-        
-        return
-
-    # Returns the top-level widget (usually the Desktop) by following the
-    # chain of 'container' references.
-    def get_toplevel(self):
-        top = self
-        while (getattr(top, "container", None)):
-            top = top.container
-        return top
-
diff --git a/src/pgu/hexvid.py b/src/pgu/hexvid.py
deleted file mode 100644
index 2d4156d..0000000
--- a/src/pgu/hexvid.py
+++ /dev/null
@@ -1,127 +0,0 @@
-"""Hexagonal tile engine.
-
-<p>Note -- this engine is not finished.  Sprites are not supported.  It
-can still be useful for using the level editor, and for rendering hex
-terrains, however.  If you are able to update it and use it in a real game,
-help would be greatly appreciated!</p>
-
-<p>please note that this file is alpha, and is subject to modification in
-future versions of pgu!</p>
-
-"""
-print 'pgu.hexvid','This module is alpha, and is subject to change.'
-
-from pgu.vid import *
-import pygame
-
-
-class Hexvid(Vid):
-    """Create an hex vid engine.  See [[vid]]"""
-    def update(self,screen):
-        return self.paint(screen)
-    
-    def paint(self,screen):
-        sw,sh = screen.get_width(),screen.get_height()
-        self.view.w,self.view.h = sw,sh
-        
-        tlayer = self.tlayer
-        blayer = self.blayer
-        #zlayer = self.zlayer
-        w,h = len(tlayer[0]),len(tlayer)
-        
-        #iso_w,iso_h,iso_z,tile_w,tile_h,base_w,base_h = self.iso_w,self.iso_h,self.iso_z,self.tile_w,self.tile_h,self.base_w,self.base_h
-        
-        tile_w,tile_h = self.tile_w,self.tile_h
-        tile_w2,tile_h2 = tile_w/2,tile_h/2
-        
-        view = self.view
-        adj = self.adj = pygame.Rect(-self.view.x,-self.view.y,0,0)
-        
-        w,h = len(tlayer[0]),len(tlayer)
-        tiles = self.tiles
-        
-        #""
-        if self.bounds == None:
-            tmp,y1 = self.tile_to_view((0,0))
-            x1,tmp = self.tile_to_view((0,h+1))
-            tmp,y2 = self.tile_to_view((w+1,h+1))
-            x2,tmp = self.tile_to_view((w+1,0))
-            self.bounds = pygame.Rect(x1,y1,x2-x1,y2-y1)
-            print self.bounds
-        #""
-        
-        if self.bounds != None: self.view.clamp_ip(self.bounds)
-
-        ox,oy = self.screen_to_tile((0,0))
-        sx,sy = self.tile_to_view((ox,oy))
-        dx,dy = sx - self.view.x,sy - self.view.y
-        
-        bot = 1
-        
-        tile_wi = tile_w + tile_w/2
-        tile_wi2 = tile_wi/2
-        
-        #dx += tile_w/2
-        
-        for i2 in xrange(-bot,self.view.h/tile_h2+bot*3): #NOTE: 3 seems a bit much, but it works.
-            tx,ty = ox + i2/2 + i2%2,oy + i2/2
-            x,y = (i2%2)*tile_wi2 + dx,i2*tile_h2 + dy
-            
-            #to adjust for the -1 in i1
-            x,tx,ty = x-tile_wi,tx-1,ty+1
-            
-            x -= tile_w/2
-            for i1 in xrange(-1,self.view.w/tile_wi+1):
-                if ty >= 0 and ty < h and tx >= 0 and tx < w:
-                    if blayer != None:
-                        n = blayer[ty][tx]
-                        if n != 0:
-                            t = tiles[n]
-                            if t != None and t.image != None:
-                                screen.blit(t.image,(x,y))
-                    n = tlayer[ty][tx]
-                    if n != 0:
-                        t = tiles[n]
-                        if t != None and t.image != None:
-                            screen.blit(t.image,(x,y))
-                            
-            
-                tx += 1
-                ty -= 1
-                x += tile_wi 
-
-        return [pygame.Rect(0,0,screen.get_width(),screen.get_height())]
-    
-    def view_to_tile(self,pos):
-        x,y = pos
-        #x = x + (self.tile_w*1/2)
-        
-        x,y = int(x*4/(self.tile_w*3)), y*2/self.tile_h
-        nx = (x + y) / 2
-        ny = (y - x) / 2
-        return nx,ny
-    
-    def tile_to_view(self,pos):
-        x,y = pos
-        nx = x - y
-        ny = x + y
-        nx,ny = int(nx*(self.tile_w*3)/4), ny*self.tile_h/2
-        
-        #nx = nx - (self.tile_w*1/2)
-        return nx,ny
-            
-    def screen_to_tile(self,pos): #NOTE HACK : not sure if the 3/8 is right or not, but it is pretty close...
-        pos = pos[0]+self.view.x + self.tile_w*3/8,pos[1]+self.view.y
-        pos = self.view_to_tile(pos)
-        return pos
-    
-    def tile_to_screen(self,pos):
-        pos = self.tile_to_view(pos)
-        pos = pos[0]-self.view.x,pos[1]-self.view.y
-        return pos
-    
-        
-    def tga_load_tiles(self,fname,size,tdata={}):
-        Vid.tga_load_tiles(self,fname,size,tdata)
-        
-        self.tile_w,self.tile_h = size
\ No newline at end of file
diff --git a/src/pgu/high.py b/src/pgu/high.py
deleted file mode 100644
index e05d22a..0000000
--- a/src/pgu/high.py
+++ /dev/null
@@ -1,154 +0,0 @@
-"""Classes for handling high score tables.
-"""
-
-import os
-
-def High(fname,limit=10):
-    """Create a Highs object and returns the default high score table.
-    
-    <pre>High(fname,limit=10)</pre>
-    
-    <dl>
-    <dt>fname <dd>filename to store high scores in
-    <dt>limit <dd>limit of scores to be recorded, defaults to 10
-    </dl>
-    """
-    return Highs(fname,limit)['default']
-    
-class _Score:
-    def __init__(self,score,name,data=None):
-        self.score,self.name,self.data=score,name,data
-    
-class _High:
-    """A high score table.  These objects are passed to the user, but should not be created directly.
-    
-    <p>You can iterate them:</p>
-    <code>
-    for e in myhigh:
-        print e.score,e.name,e.data
-    </code>
-        
-    <p>You can modify them:</p>
-    <code>
-    myhigh[0].name = 'Cuzco'
-    </code>
-    
-    <p>You can find out their length:</p>
-    <code>
-    print len(myhigh)
-    </code>
-    """
-    
-    def __init__(self,highs,limit=10):
-        self.highs = highs
-        self._list = []
-        self.limit = limit
-        
-    def save(self):
-        """Save the high scores.
-        
-        <pre>_High.save()</pre>
-        """
-        self.highs.save()
-        
-    def submit(self,score,name,data=None):
-        """Submit a high score to this table.
-        
-        <pre>_High.submit(score,name,data=None)</pre>
-        
-        <p>return -- the position in the table that the score attained.  None if the score did not attain a position in the table.</p>
-        """
-        n = 0
-        for e in self._list:
-            if score > e.score:
-                self._list.insert(n,_Score(score,name,data))
-                self._list = self._list[0:self.limit]
-                return n
-            n += 1
-        if len(self._list) < self.limit:
-            self._list.append(_Score(score,name,data))
-            return len(self._list)-1
-    
-    def check(self,score):
-        """Check if a score will attain a position in the table.
-        
-        <pre>_High.check(score)</pre>
-        
-        <p>return -- the position the score will attain, else None</p>
-        """
-        n = 0
-        for e in self._list:
-            if score > e.score:
-                return n
-            n += 1
-        if len(self._list) < self.limit:
-            return len(self._list)
-        
-        
-    def __iter__(self):
-        return self._list.__iter__()
-        
-    def __getitem__(self,key):
-        return self._list[key]
-        
-    def __len__(self):
-        return self._list.__len__()
-        
-
-class Highs:
-    """The high score object.
-    
-    <pre>Highs(fname,limit=10)</pre>
-    <ul>
-    <dt>fname <dd>filename to store high scores in
-    <dt>limit <dd>limit of scores to be recorded, defaults to 10
-    </ul>
-    
-    <p>You may access _High objects through this object:</p>
-   
-    <code> 
-    my_easy_hs = highs['easy']
-    my_hard_hs = highs['hard']
-    </code>
-    
-    """
-    def __init__(self,fname,limit=10):
-        self.fname = fname
-        self.limit = limit
-        self.load()
-        
-    def load(self):
-        """Re-load the high scores.
-        
-        <pre>Highs.load()</pre>
-        """
-        
-        self._dict = {}
-        try:
-            f = open(self.fname)
-            for line in f.readlines():
-                key,score,name,data = line.strip().split("\t")
-                if key not in self._dict:
-                    self._dict[key] = _High(self,self.limit)
-                high = self._dict[key]
-                high.submit(int(score),name,data)
-            f.close()
-        except:
-            pass
-    
-    def save(self):
-        """Save the high scores.
-        
-        <pre>Highs.save()</pre>
-        """
-        
-        f = open(self.fname,"w")
-        for key,high in self._dict.items():
-            for e in high:
-                f.write("%s\t%d\t%s\t%s\n"%(key,e.score,e.name,str(e.data)))
-        f.close()
-        
-    def __getitem__(self,key):
-        if key not in self._dict:
-            self._dict[key] = _High(self,self.limit)
-        return self._dict[key]
diff --git a/src/pgu/html.py b/src/pgu/html.py
deleted file mode 100644
index 817c000..0000000
--- a/src/pgu/html.py
+++ /dev/null
@@ -1,571 +0,0 @@
-"""a html renderer
-"""
-
-import sys
-import htmllib
-import re
-import pygame
-from pygame.locals import *
-
-from pgu import gui
-
-_amap = {'left':-1,'right':1,'center':0,None:None,'':None,}
-_vamap = {'top':-1,'bottom':1,'center':0,'middle':0,None:None,'':None,}
-
-# Used by the HTML parser to load external resources (like images). This 
-# class loads content from the local file system. But you can pass your own 
-# resource loader to the HTML parser to find images by other means.
-class ResourceLoader(object):
-    # Loads an image and returns it as a pygame image
-    def load_image(this, path):
-        return pygame.image.load(path)
-
-class _dummy:
-    pass
-
-class _flush:
-    def __init__(self):
-        self.style = _dummy()
-        self.style.font = None
-        self.style.color = None
-        self.cls = None
-    def add(self,w): pass
-    def space(self,v): pass
-    
-class _hr(gui.Color):
-    def __init__(self,**params):
-        gui.Color.__init__(self,(0,0,0),**params)
-    def resize(self,width=None,height=None):
-        w,h = self.style.width,self.style.height
-        #if width != None: self.rect.w = width
-        #else: self.rect.w = 1
-        
-        #xt,xr,xb,xl = self.getspacing()
-
-        if width != None: w = max(w,width)
-        if height != None: h = max(h,height)        
-        w = max(w,1)
-        h = max(h,1)
-        
-        return w,h #self.container.rect.w,h
-        
-        #self.rect.w = max(1,width,self.container.rect.w-(xl+xr))
-        
-        #print self.rect
-        #self.rect.w = 1
-
-class _html(htmllib.HTMLParser):
-    def init(self,doc,font,color,_globals,_locals,loader=None):
-        self.mystack = []
-        self.document = doc
-        if (loader):
-            self.loader = loader
-        else:
-            # Use the default resource loader
-            self.loader = ResourceLoader()
-        self.myopen('document',self.document)
-        
-        self.myfont = self.font = font
-        self.mycolor = self.color = color
-        
-        self.form = None
-        
-        self._globals = _globals
-        self._locals = _locals
-        
-    def myopen(self,type_,w):
-    
-        self.mystack.append((type_,w))
-        self.type,self.item = type_,w
-        
-        self.font = self.item.style.font
-        self.color = self.item.style.color
-        
-        if not self.font: self.font = self.myfont
-        if not self.color: self.color = self.mycolor
-        
-    def myclose(self,type_):
-        t = None
-        self.mydone()
-        while t != type_:
-            #if len(self.mystack)==0: return
-            t,w = self.mystack.pop()
-        t,w = self.mystack.pop()
-        self.myopen(t,w)
-        
-    def myback(self,type_):
-        if type(type_) == str: type_ = [type_,]
-        self.mydone()
-        #print 'myback',type_
-        t = None
-        while t not in type_:
-            #if len(self.mystack)==0: return
-            t,w = self.mystack.pop()
-        self.myopen(t,w)
-        
-    def mydone(self):
-        #clearing out the last </p>
-        if not hasattr(self.item,'layout'): return 
-        if len(self.item.layout._widgets) == 0: return 
-        w = self.item.layout._widgets[-1]
-        if type(w) == tuple:
-            del self.item.layout._widgets[-1]
-
-        
-    def start_b(self,attrs): self.font.set_bold(1)
-    def end_b(self): self.font.set_bold(0)
-    def start_i(self,attrs): self.font.set_italic(1)
-    def end_i(self): self.font.set_italic(0)
-    def start_u(self,attrs): self.font.set_underline(1)
-    def end_u(self): self.font.set_underline(0)
-    def start_br(self,attrs): self.do_br(attrs)
-    def do_br(self,attrs): self.item.br(self.font.size(" ")[1])
-    def attrs_to_map(self,attrs):
-        k = None
-        r = {}
-        for k,v in attrs: r[k] = v
-        return r
-        
-    def map_to_params(self,r):
-        anum = re.compile("\D")
-        
-        params = {'style':{}}
-        style = params['style']
-
-        if 'bgcolor' in r: 
-            style['background'] = gui.parse_color(r['bgcolor'])
-        if 'background' in r: 
-            style['background'] = self.loader.load_image(r['background'])
-        if 'border' in r: style['border'] = int(r['border'])
-            
-        for k in ['width','height','colspan','rowspan','size','min','max']:
-            if k in r: params[k] = int(anum.sub("",r[k]))
-            
-        for k in ['name','value']:
-            if k in r: params[k] = r[k]
-        
-        if 'class' in r: params['cls'] = r['class']
-        
-        if 'align' in r: 
-            params['align'] = _amap[r['align']]
-        if 'valign' in r:
-            params['valign'] = _vamap[r['valign']]
-
-        if 'style' in r:
-            for st in r['style'].split(";"):
-                #print st
-                if ":" in st:
-                    #print st.split(":")
-                    k,v = st.split(":")
-                    k = k.replace("-","_")
-                    k = k.replace(" ","")
-                    v = v.replace(" ","")
-                    if k == 'color' or k == 'border_color' or k == 'background':
-                        v = gui.parse_color(v)
-                    else:
-                        v = int(anum.sub("",v))
-                    style[k] = v
-        return params
-        
-    def map_to_connects(self,e,r):
-        for k,evt in [('onclick',gui.CLICK),('onchange',gui.CHANGE)]: #blah blah blah
-            
-            if k in r:
-                #print k,r[k]
-                e.connect(evt,self.myexec,(e,r[k]))
-
-    def start_p(self,attrs):
-        r = self.attrs_to_map(attrs)
-        align = r.get("align","left")
-        
-        self.check_p()
-        self.item.block(_amap[align])
-        
-    def check_p(self):
-        if len(self.item.layout._widgets) == 0: return
-        if type(self.item.layout._widgets[-1]) == tuple:
-            w,h = self.item.layout._widgets[-1]
-            if w == 0: return
-        self.do_br(None)
-        
-    def end_p(self):
-        #print 'end p'
-        self.check_p()
-        
-        
-    def start_block(self,t,attrs,align=-1):
-        r = self.attrs_to_map(attrs)
-        params = self.map_to_params(r)
-        if 'cls' in params: params['cls'] = t+"."+params['cls']
-        else: params['cls'] = t
-        b = gui.Document(**params)
-        b.style.font = self.item.style.font
-        if 'align' in params:
-            align = params['align']
-        self.item.block(align)
-        self.item.add(b)
-        self.myopen(t,b)
-
-        
-                
-    def end_block(self,t):
-        self.myclose(t)
-        self.item.block(-1)
-        
-    def start_div(self,attrs): self.start_block('div',attrs)
-    def end_div(self): self.end_block('div')
-    def start_center(self,attrs): self.start_block('div',attrs,0)
-    def end_center(self): self.end_block('div')
-    
-    def start_h1(self,attrs): self.start_block('h1',attrs)
-    def end_h1(self): self.end_block('h1')
-    def start_h2(self,attrs): self.start_block('h2',attrs)
-    def end_h2(self): self.end_block('h2')
-    def start_h3(self,attrs): self.start_block('h3',attrs)
-    def end_h3(self): self.end_block('h3')
-    def start_h4(self,attrs): self.start_block('h4',attrs)
-    def end_h4(self): self.end_block('h4')
-    def start_h5(self,attrs): self.start_block('h5',attrs)
-    def end_h5(self): self.end_block('h5')
-    def start_h6(self,attrs): self.start_block('h6',attrs)
-    def end_h6(self): self.end_block('h6')
-
-    def start_ul(self,attrs): self.start_block('ul',attrs)
-    def end_ul(self): self.end_block('ul')
-    def start_ol(self,attrs): 
-        self.start_block('ol',attrs)
-        self.item.counter = 0
-    def end_ol(self): self.end_block('ol')
-    def start_li(self,attrs): 
-        self.myback(['ul','ol'])
-        cur = self.item
-        self.start_block('li',attrs)
-        if hasattr(cur,'counter'):
-            cur.counter += 1
-            self.handle_data("%d. "%cur.counter)
-        else:
-            self.handle_data("- ")
-    #def end_li(self): self.end_block('li') #this isn't needed because of how the parser works
-
-    def start_pre(self,attrs): self.start_block('pre',attrs)
-    def end_pre(self): self.end_block('pre')
-    def start_code(self,attrs): self.start_block('code',attrs)
-    def end_code(self): self.end_block('code')
-            
-    def start_table(self,attrs):
-        r = self.attrs_to_map(attrs)
-        params = self.map_to_params(r)
-        
-        align = r.get("align","left")
-        self.item.block(_amap[align])
-
-        t = gui.Table(**params)
-        self.item.add(t)
-        
-        self.myopen('table',t)
-        
-    def start_tr(self,attrs):
-        self.myback('table')
-        self.item.tr()
-        
-    def _start_td(self,t,attrs):
-        r = self.attrs_to_map(attrs)
-        params = self.map_to_params(r)
-        if 'cls' in params: params['cls'] = t+"."+params['cls']
-        else: params['cls'] = t
-        b = gui.Document(cls=t)
-        
-        self.myback('table')
-        self.item.td(b,**params)
-        self.myopen(t,b)
-    
-        self.font = self.item.style.font
-        self.color = self.item.style.color
-        
-    def start_td(self,attrs):
-        self._start_td('td',attrs)
-    
-    def start_th(self,attrs):
-        self._start_td('th',attrs)
-        
-    def end_table(self):
-        self.myclose('table')
-        self.item.block(-1)
-        
-    def start_form(self,attrs):
-        r = self.attrs_to_map(attrs)
-        e = self.form = gui.Form()
-        e.groups = {}
-        
-        self._locals[r.get('id',None)] = e
-        
-    def start_input(self,attrs):
-        r = self.attrs_to_map(attrs)
-        params = self.map_to_params(r) #why bother
-        #params = {}
-        
-        type_,name,value = r.get('type','text'),r.get('name',None),r.get('value',None)
-        f = self.form
-        if type_ == 'text':
-            e = gui.Input(**params)
-            self.map_to_connects(e,r)
-            self.item.add(e)
-        elif type_ == 'radio':
-            if name not in f.groups:
-                f.groups[name] = gui.Group(name=name)
-            g = f.groups[name]
-            del params['name']
-            e = gui.Radio(group=g,**params)
-            self.map_to_connects(e,r)
-            self.item.add(e)
-            if 'checked' in r: g.value = value
-        elif type_ == 'checkbox':
-            if name not in f.groups:
-                f.groups[name] = gui.Group(name=name)
-            g = f.groups[name]
-            del params['name']
-            e = gui.Checkbox(group=g,**params)
-            self.map_to_connects(e,r)
-            self.item.add(e)
-            if 'checked' in r: g.value = value
-
-        elif type_ == 'button':
-            e = gui.Button(**params)
-            self.map_to_connects(e,r)
-            self.item.add(e)
-        elif type_ == 'submit':
-            e = gui.Button(**params)
-            self.map_to_connects(e,r)
-            self.item.add(e)
-        elif type_ == 'file':
-            e = gui.Input(**params)
-            self.map_to_connects(e,r)
-            self.item.add(e)
-            b = gui.Button(value='Browse...')
-            self.item.add(b)
-            def _browse(value):
-                d = gui.FileDialog();
-                d.connect(gui.CHANGE,gui.action_setvalue,(d,e))
-                d.open();
-            b.connect(gui.CLICK,_browse,None)
-
-        self._locals[r.get('id',None)] = e
-
-    def start_object(self,attrs):
-        r = self.attrs_to_map(attrs)
-        params = self.map_to_params(r)
-        code = "e = %s(**params)"%r['type']
-        #print code
-        #print params
-        exec(code)
-        #print e
-        #print e.style.width,e.style.height
-        self.map_to_connects(e,r)
-        self.item.add(e)
-        
-        self._locals[r.get('id',None)] = e
-    
-    def start_select(self,attrs):
-        r = self.attrs_to_map(attrs)
-        params = {}
-        
-        name,value = r.get('name',None),r.get('value',None)
-        e = gui.Select(name=name,value=value,**params)
-        self.map_to_connects(e,r)
-        self.item.add(e)
-        self.myopen('select',e)
-        
-    def start_option(self,attrs):
-        r = self.attrs_to_map(attrs)
-        params = {} #style = self.map_to_style(r)
-        
-        self.myback('select')
-        e = gui.Document(**params)
-        self.item.add(e,value=r.get('value',None))
-        self.myopen('option',e)
-        
-        
-    def end_select(self):
-        self.myclose('select')
-        
-    def start_hr(self,attrs):
-        self.do_hr(attrs)
-    def do_hr(self,attrs):
-        h = self.font.size(" ")[1]/2
-        
-        r = self.attrs_to_map(attrs)
-        params = self.map_to_params(r)
-        params['style']['padding'] = h
-        print params
-
-        self.item.block(0)
-        self.item.add(_hr(**params))
-        self.item.block(-1)
-        
-    def anchor_begin(self,href,name,type_):
-        pass
-
-    def anchor_end(self):
-        pass
-        
-    def start_title(self,attrs): self.myopen('title',_flush())
-    def end_title(self): self.myclose('title')
-            
-    def myexec(self,value):
-        w,code = value
-        g = self._globals
-        l = self._locals
-        l['self'] = w
-        exec(code,g,l)
-        
-    def handle_image(self,src,alt,ismap,align,width,height):
-        try:
-            w = gui.Image(self.loader.load_image(src))
-            if align != '':
-                self.item.add(w,_amap[align])
-            else:
-                self.item.add(w)
-        except:
-            print 'handle_image: missing %s'%src
-                
-    def handle_data(self,txt):
-        if self.type == 'table': return 
-        elif self.type in ('pre','code'): 
-            txt = txt.replace("\t","        ")
-            ss = txt.split("\n")
-            if ss[-1] == "": del ss[-1]
-            for sentence in ss:
-                img = self.font.render(sentence,1,self.color)
-                w = gui.Image(img)
-                self.item.add(w)
-                self.item.block(-1)
-            return
-
-        txt = re.compile("^[\t\r\n]+").sub("",txt)
-        txt = re.compile("[\t\r\n]+$").sub("",txt)
-        
-        tst = re.compile("[\t\r\n]+").sub("",txt)
-        if tst == "": return
-        
-        txt = re.compile("\s+").sub(" ",txt)
-        if txt == "": return
-        
-        if txt == " ":
-            self.item.space(self.font.size(" "))
-            return
-        
-        for word in txt.split(" "):
-            word = word.replace(chr(160)," ") #&nbsp;
-            #print self.item.cls
-            w = gui.Image(self.font.render(word,1,self.color))
-            self.item.add(w)
-            self.item.space(self.font.size(" "))
-            
-
-class HTML(gui.Document):
-    """a gui HTML object
-    
-    <pre>HTML(data,globals=None,locals=None)</pre>
-        
-    <dl>    
-    <dt>data <dd>html data
-    <dt>globals <dd>global variables (for scripting)
-    <dt>locals <dd>local variables (for scripting)
-    <dt>loader <dd>the resource loader
-    </dl>
-    
-    <p>you may access html elements that have an id via widget[id]</p>
-    """
-    def __init__(self,data,globals=None,locals=None,loader=None,**params):
-        gui.Document.__init__(self,**params)
-        # This ensures that the whole HTML document is left-aligned within
-        # the rendered surface.
-        self.style.align = -1
-        
-        _globals,_locals = globals,locals
-        
-        if _globals == None: _globals = {}
-        if _locals == None: _locals = {}
-        self._globals = _globals
-        self._locals = _locals
-        
-        #font = gui.theme.get("label","","font")
-        p = _html(htmllib.AS_IS,0)
-        p.init(self,self.style.font,self.style.color,_globals,_locals,
-               loader=loader)
-        p.feed(data) 
-        p.close() 
-        p.mydone()
-        
-        
-    def __getitem__(self,k):
-        return self._locals[k]
-
-    # Returns a box (pygame rectangle) surrounding all widgets in this document
-    def get_bounding_box(this):
-        minx = miny = sys.maxint
-        maxx = maxy = -sys.maxint
-        for e in this.layout.widgets:
-            minx = min(minx, e.rect.left)
-            miny = min(miny, e.rect.top)
-            maxx = max(maxx, e.rect.right+1)
-            maxy = max(maxy, e.rect.bottom+1)
-        return pygame.Rect(minx, miny, maxx-minx, maxy-miny)
-
-
-def render_ext(font, rect, text, aa, color, bgcolor=(0,0,0,0), **params):
-    """Renders some html and returns the rendered surface, plus the
-    HTML instance that produced it.
-    """
-
-    htm = HTML(text, font=font, color=color, **params)
-
-    if (rect == -1):
-        # Make the surface large enough to fit the rendered text
-        htm.resize(width=sys.maxint)
-        (width, height) = htm.get_bounding_box().size
-        # Now set the proper document width (computed from the bounding box)
-        htm.resize(width=width)
-    elif (type(rect) == int):
-        # Fix the width of the document, while the height is variable
-        width = rect
-        height = htm.resize(width=width)[1]
-    else:
-        # Otherwise the width and height of the document is fixed
-        (width, height) = rect.size
-        htm.resize(width=width)
-
-    # Now construct a surface and paint to it
-    surf = pygame.Surface((width, height)).convert_alpha()
-    surf.fill(bgcolor)
-    htm.paint(surf)
-    return (surf, htm)
-
-def render(font, rect, text, aa, color, bgcolor=(0,0,0,0), **params):
-    """Renders some html
-    
-    <pre>render(font,rect,text,aa,color,bgcolor=(0,0,0,0))</pre>
-    """
-    return render_ext(font, rect, text, aa, color, bgcolor, **params)[0]
-
-def rendertrim(font,rect,text,aa,color,bgcolor=(0,0,0,0),**params):
-    """render html, and make sure to trim the size
-    
-    rendertrim(font,rect,text,aa,color,bgcolor=(0,0,0,0))
-    """
-    # Render the HTML
-    (surf, htm) = render_ext(font, rect, text, aa, color, bgcolor, **params)
-    return surf.subsurface(htm.get_bounding_box())
-
-    
-def write(s,font,rect,text,aa=0,color=(0,0,0), **params):
-    """write html to a surface
-    
-    write(s,font,rect,text,aa=0,color=(0,0,0))
-    """
-    htm = HTML(text, font=font, color=color, **params)
-    htm.resize(width=rect.w)
-    s = s.subsurface(rect)
-    htm.paint(s)
-    
-# vim: set filetype=python sts=4 sw=4 noet si :
diff --git a/src/pgu/isovid.py b/src/pgu/isovid.py
deleted file mode 100644
index d5048ec..0000000
--- a/src/pgu/isovid.py
+++ /dev/null
@@ -1,182 +0,0 @@
-"""Isometric tile engine.
-
-<p>Note -- this engine is not finished, any may not work for your 
-particular needs.  If you are able to update it, help would be 
-greatly appreciated!</p>
-
-<p>please note that this file is alpha, and is subject to modification in
-future versions of pgu!</p>
-
-"""
-print 'pgu.isovid','This module is alpha, and is subject to change.'
-
-from pgu.vid import *
-import pygame
-
-class Isovid(Vid):
-    """Create an iso vid engine.  See [[vid]]"""
-    def update(self,screen):
-        return self.paint(screen)
-    
-    def paint(self,screen):
-        sw,sh = screen.get_width(),screen.get_height()
-        
-        tlayer = self.tlayer
-        blayer = self.blayer
-        zlayer = self.zlayer
-        w,h = len(tlayer[0]),len(tlayer)
-        
-        iso_w,iso_h,iso_z,tile_w,tile_h,base_w,base_h = self.iso_w,self.iso_h,self.iso_z,self.tile_w,self.tile_h,self.base_w,self.base_h
-        
-        base_h2 = base_h/2
-        base_w2 = base_w/2
-        
-        bot = tile_h/base_h2
-        todo_max = sh/base_h2+bot
-        todo = [[] for y in xrange(0,todo_max)]
-        
-        self.view.w,self.view.h = sw,sh
-        view = self.view
-        adj = self.adj = pygame.Rect(-self.view.x,-self.view.y,0,0)
-        
-        for s in self.sprites:
-            self.sprite_calc_irect(s)
-            x,y = self.iso_to_view((s.rect.centerx,s.rect.centery))
-            v = (y+adj.y)/base_h2 - 1
-            if v >= 0 and v < todo_max:
-                todo[v].append((s.image,s.irect))
-            #else: print 'doesnt fit',v
-                
-        w,h = len(tlayer[0]),len(tlayer)
-        tiles = self.tiles
-        
-        #""
-        if self.bounds == None:
-            tmp,y1 = self.tile_to_view((0,0))
-            x1,tmp = self.tile_to_view((0,h+1))
-            tmp,y2 = self.tile_to_view((w+1,h+1))
-            x2,tmp = self.tile_to_view((w+1,0))
-            self.bounds = pygame.Rect(x1,y1,x2-x1,y2-y1)
-        #""
-        
-        if self.bounds != None: self.view.clamp_ip(self.bounds)
-
-        ox,oy = self.screen_to_tile((0,0))
-        sx,sy = self.iso_to_view((ox*iso_w,oy*iso_h))
-        dx,dy = sx - self.view.x,sy - self.view.y
-        
-        for i2 in xrange(-bot,self.view.h/base_h2+bot):
-            tx,ty = ox + i2/2 + i2%2,oy + i2/2
-            x,y = (i2%2)*base_w2 + dx,i2*base_h2 + dy
-            
-            #to adjust for the -1 in i1
-            x,tx,ty = x-base_w,tx-1,ty+1
-            for i1 in xrange(-1,self.view.w/base_w+2): #NOTE: not sure why +2
-                if ty >= 0 and ty < h and tx >= 0 and tx < w:
-                    z = zlayer[ty][tx]*iso_z
-                    if blayer != None:
-                        n = blayer[ty][tx]
-                        if n != 0:
-                            t = tiles[n]
-                            if t != None and t.image != None:
-                                screen.blit(t.image,(x-base_w2,y+z))
-                    n = tlayer[ty][tx]
-                    if n != 0:
-                        t = tiles[n]
-                        if t != None and t.image != None:
-                            screen.blit(t.image,(x-base_w2,y-(t.image_h-base_h)+z))
-            
-                tx += 1
-                ty -= 1
-                x += base_w
-            for img,irect in todo[y/base_h2]:
-                screen.blit(img,(irect.x+adj.x,irect.y+adj.y))
-
-        return [pygame.Rect(0,0,screen.get_width(),screen.get_height())]
-        
-    def iso_to_view(self,pos):
-        tlayer = self.tlayer
-        w,h = len(tlayer[0]),len(tlayer)
-        
-        x,y = pos
-        
-        #nx,ny = (h*self.iso_w + x - y)/2, (0 + x + y)/2
-        nx,ny = (x - y)/2, (0 + x + y)/2
-        
-        return (nx * self.base_w / self.iso_w), (ny * self.base_h / self.iso_h)
-
-    def view_to_iso(self,pos):
-        tlayer = self.tlayer
-        w,h = len(tlayer[0]),len(tlayer)
-        
-        x,y = pos
-        
-        x,y = x*self.iso_w/self.base_w, y*self.iso_h/self.base_h
-        
-        #x -= (self.iso_w/2) * h
-        #x -= (self.iso_w/2) * h
-        
-        nx = (x+y) 
-        ny = y*2-nx
-    
-        return nx,ny
-    
-    def tile_to_view(self,pos):
-        return self.iso_to_view((pos[0]*self.iso_w,pos[1]*self.iso_h))
-    
-    def screen_to_tile(self,pos):
-        x,y = pos
-        x += self.view.x
-        y += self.view.y
-        x,y = self.view_to_iso((x,y))
-        return x/self.iso_w,y/self.iso_h
-        
-    def tile_to_screen(self,pos):
-        x,y = self.iso_to_view((pos[0]*self.iso_w,pos[1]*self.iso_h))
-        return x-self.view.x,y-self.view.y
-    
-    def tga_load_tiles(self,fname,size,tdata={}):
-        Vid.tga_load_tiles(self,fname,size,tdata)
-        
-        self.tile_w,self.tile_h = size
-        self.iso_w,self.iso_h,self.iso_z = self.tile_w,self.tile_w,1
-        self.base_w,self.base_h = self.tile_w,self.tile_w/2
-    
-
-        
-    def resize(self,size,bg=0):
-        Vid.resize(self,size,bg)
-        
-        tlayer = self.tlayer
-        w,h = len(tlayer[0]),len(tlayer)
-        
-        self.zlayer = [[0 for x in xrange(0,w)] for y in xrange(0,h)]
-
-        
-
-
-    def sprite_calc_irect(self,s):
-        tlayer = self.tlayer
-        w,h = len(tlayer[0]),len(tlayer)
-        zlayer = self.zlayer
-        
-        x,y = self.iso_to_view((s.rect.centerx,s.rect.centery))
-        tx,ty = s.rect.centerx/self.iso_w,s.rect.centery/self.iso_h
-        z = 0
-        if ty >= 0 and ty < h and tx >= 0 and tx < w:
-            z = zlayer[ty][tx]*self.iso_z
-        
-        nx,ny = x - s.shape.centerx, y - s.shape.centery + z
-        
-        s.irect.x,s.irect.y = nx,ny
-        
-    def run_codes(self,cdata,rect):
-        #HACK to make run_codes work
-        w,h = self.iso_w,self.iso_h
-         
-        img = self.tiles[0].image
-        
-        self.tiles[0].image = pygame.Surface((w,h))
-        r = Vid.run_codes(self,cdata,rect)
-        self.tiles[0].image = img
-        return r
diff --git a/src/pgu/layout.py b/src/pgu/layout.py
deleted file mode 100644
index 75b6c9a..0000000
--- a/src/pgu/layout.py
+++ /dev/null
@@ -1,4 +0,0 @@
-print 'pgu.layout','Scheduled to be deprecated.'
-
-from pgu.gui.layout import *
-
diff --git a/src/pgu/text.py b/src/pgu/text.py
deleted file mode 100644
index 1010a87..0000000
--- a/src/pgu/text.py
+++ /dev/null
@@ -1,61 +0,0 @@
-"""a collection of text rendering functions
-"""
-def write(s,font,pos,color,text,border=1):
-    """write text to a surface with a black border
-    
-    <pre>write(s,font,pos,color,text,border=1)</pre>
-    """
-    i = font.render(text,1,(0,0,0))
-    si = border
-    dirs = [(-1,-1),(-1,0),(-1,1),(0,-1),(0,1),(1,-1),(1,0),(1,1)]
-    for dx,dy in dirs: s.blit(i,(pos[0]+dx*si,pos[1]+dy*si))
-    i = font.render(text,1,color)
-    s.blit(i,pos)
-
-def writec(s,font,color,text,border=1):
-    """write centered text to a surface with a black border
-    
-    <pre>writec(s,font,color,text,border=1)</pre>
-    """
-    w,h = font.size(text)
-    x = (s.get_width()-w)/2
-    y = (s.get_height()-h)/2
-    write(s,font,(x,y),color,text,border)
-    
-def writepre(s,font,rect,color,text):
-    """write preformatted text
-    
-    <pre>writepre(s,font,rect,color,text)</pre>
-    """
-    r,c,txt = rect,color,text
-    txt = txt.replace("\t","        ")
-    i = font.render(" ",1,c)
-    sw,sh = i.get_width(),i.get_height()
-    y = r.top
-    for sentence in txt.split("\n"):
-        x = r.left
-        i = font.render(sentence,1,c)
-        s.blit(i,(x,y))
-        y += sh
-
-def writewrap(s,font,rect,color,text):
-    """write wrapped text
-    
-    <pre>writewrap(s,font,rect,color,text)</pre>
-    """
-    r,c,txt = rect,color,text
-    txt = txt.replace("\t","        ")
-    i = font.render(" ",1,c)
-    sw,sh = i.get_width(),i.get_height()
-    y = r.top
-    for sentence in txt.split("\n"):
-        x = r.left
-        for word in sentence.split(" "):
-            i = font.render(word,1,c)
-            iw,ih = i.get_width(),i.get_height()
-            if x+iw > r.right: x,y = r.left,y+sh
-            s.blit(i,(x,y))
-            x += iw+sw
-        y += sh
-
-# vim: set filetype=python sts=4 sw=4 noet si :
diff --git a/src/pgu/tilevid.py b/src/pgu/tilevid.py
deleted file mode 100644
index 00f730d..0000000
--- a/src/pgu/tilevid.py
+++ /dev/null
@@ -1,195 +0,0 @@
-"""Square tile based engine."""
-
-from pgu.vid import *
-import pygame
-
-class Tilevid(Vid):
-    """Based on [[vid]] -- see for reference."""
-    def paint(self,s):
-        sw,sh = s.get_width(),s.get_height()
-        self.view.w,self.view.h = sw,sh
-        
-        tiles = self.tiles
-        tw,th = tiles[0].image.get_width(),tiles[0].image.get_height()
-        w,h = self.size
-        
-        if self.bounds != None: self.view.clamp_ip(self.bounds)
-        
-        ox,oy = self.view.x,self.view.y
-        tlayer = self.tlayer
-        blayer = self.blayer
-        alayer = self.alayer
-        sprites = self.sprites
-        
-        blit = s.blit
-        yy = - (self.view.y%th) 
-        my = (oy+sh)/th
-        if (oy+sh)%th: my += 1
-        
-        if blayer != None:
-            for y in xrange(oy/th,my):
-                if y >=0 and y < h:
-                    trow = tlayer[y]
-                    brow = blayer[y]
-                    arow = alayer[y]
-                    xx= - (self.view.x%tw)
-                    mx = (ox+sw)/tw
-                    #if (ox+sh)%tw: mx += 1
-                    for x in xrange(ox/tw,mx+1):
-                        if x >=0and x<w:
-                            blit(tiles[brow[x]].image,(xx,yy))
-                            blit(tiles[trow[x]].image,(xx,yy))
-                            arow[x]=0
-                        xx += tw
-                yy+=th
-        else:
-            for y in xrange(oy/th,my):
-                if y >=0 and y<h:
-                    trow = tlayer[y]
-                    arow = alayer[y]
-                    xx= - (self.view.x%tw)
-                    mx = (ox+sw)/tw
-                    #if (ox+sh)%tw: mx += 1
-                    for x in xrange(ox/tw,mx+1):
-                        if x >=0 and x<w:
-                            blit(tiles[trow[x]].image,(xx,yy))
-                            arow[x]=0
-                        xx += tw
-                yy+=th
-
-        for s in sprites:
-            s.irect.x = s.rect.x-s.shape.x
-            s.irect.y = s.rect.y-s.shape.y
-            blit(s.image,(s.irect.x-ox,s.irect.y-oy))
-            s.updated=0
-            s._irect = Rect(s.irect)
-            #s._rect = Rect(s.rect)
-
-        self.updates = []
-        self._view = pygame.Rect(self.view)
-        return [Rect(0,0,sw,sh)]
-        
-    def update(self,s):
-        sw,sh = s.get_width(),s.get_height()
-        self.view.w,self.view.h = sw,sh
-        
-        if self.bounds != None: self.view.clamp_ip(self.bounds)
-        if self.view.x != self._view.x or self.view.y != self._view.y: 
-            return self.paint(s)
-        
-        ox,oy = self.view.x,self.view.y
-        sw,sh = s.get_width(),s.get_height()
-        w,h = self.size
-        tlayer = self.tlayer
-        blayer = self.blayer
-        alayer = self.alayer
-        tiles = self.tiles
-        tw,th = tiles[0].image.get_width(),tiles[0].image.get_height()
-        sprites = self.sprites
-        blit = s.blit
-        
-        us = []
-        
-        #mark places where sprites have moved, or been removed
-        
-        ss = self.sprites.removed
-        self.sprites.removed = []
-        ss.extend(sprites)
-        for s in ss: 
-            #figure out what has been updated.
-            s.irect.x = s.rect.x-s.shape.x
-            s.irect.y = s.rect.y-s.shape.y
-            if (s.irect.x != s._irect.x or s.irect.y != s._irect.y
-                     or s.image != s._image):
-                 #w,h can be skipped, image covers that...
-                 s.updated = 1
-            if s.updated:
-                r = s._irect
-                y = max(0,r.y/th)
-                yy = min(h,r.bottom/th+1)
-                while y < yy:
-                    x = max(0,r.x/tw)
-                    xx = min(w,r.right/tw+1)
-                    while x < xx:
-                        if alayer[y][x] == 0:
-                            self.updates.append((x,y))
-                        alayer[y][x]=1
-                        x += 1
-                    y += 1
-
-                r = s.irect
-                y = max(0,r.y/th)
-                yy = min(h,r.bottom/th+1)
-                while y < yy:
-                    x = r.x/tw
-                    xx = min(w,r.right/tw+1)
-                    while x < xx:
-                        if alayer[y][x]==0:
-                            alayer[y][x]=2
-                            self.updates.append((x,y))
-                        x += 1
-                    y += 1
-                    
-
-        #mark sprites that are not being updated that need to be updated because
-        #they are being overwritte by sprites / tiles
-        for s in sprites:
-            if s.updated==0:
-                r = s.irect
-                y = max(0,r.y/th)
-                yy = min(h,r.bottom/th+1)
-                while y < yy:
-                    x = max(0,r.x/tw)
-                    xx = min(w,r.right/tw+1)
-                    while x < xx:
-                        if alayer[y][x]==1:
-                            s.updated=1
-                        x += 1
-                    y += 1
-
-        
-        for u in self.updates:
-            x,y=u
-            xx,yy=x*tw-ox,y*th-oy
-            if alayer[y][x] == 1:
-                if blayer != None: blit(tiles[blayer[y][x]].image,(xx,yy))
-                blit(tiles[tlayer[y][x]].image,(xx,yy))
-            alayer[y][x]=0
-            us.append(Rect(xx,yy,tw,th))
-        
-        for s in sprites:
-            if s.updated:
-                blit(s.image,(s.irect.x-ox, s.irect.y-oy))
-                s.updated=0
-                s._irect = Rect(s.irect)
-                s._image = s.image
-                
-        self.updates = []
-        return us
-
-    def view_to_tile(self,pos):
-        x,y = pos
-        tiles = self.tiles
-        tw,th = tiles[0].image.get_width(),tiles[0].image.get_height()
-        return x/tw,y/th
-        
-    def tile_to_view(self,pos):
-        x,y = pos
-        tiles = self.tiles
-        tw,th = tiles[0].image.get_width(),tiles[0].image.get_height()
-        x,y = x*tw, y*th 
-        return x,y
-        
-                    
-    def screen_to_tile(self,pos):
-        x,y = pos
-        x,y = x+self.view.x,y+self.view.y
-        return self.view_to_tile((x,y))
-        
-    def tile_to_screen(self,pos):
-        x,y = pos
-        x,y = self.tile_to_view(pos)
-        x,y = x - self.view.x, y - self.view.y
-        return x,y
-                    
-# vim: set filetype=python sts=4 sw=4 noet si :
diff --git a/src/pgu/timer.py b/src/pgu/timer.py
deleted file mode 100644
index 1201b7a..0000000
--- a/src/pgu/timer.py
+++ /dev/null
@@ -1,68 +0,0 @@
-"""A timer for games with set-rate FPS.
-"""
-
-import pygame
-
-class Timer:
-    """A timer for games with set-rate FPS.
-    
-    <pre>Timer(fps)</pre>
-    """
-    
-    def __init__(self,fps):
-        if fps == 0: 
-            self.tick = self._blank
-            return
-        self.wait = 1000/fps
-        self.nt = pygame.time.get_ticks()
-        pygame.time.wait(0)
-        
-    def _blank(self):
-        pass
-        
-    def tick(self):
-        """Wait correct amount of time each frame.  Call this once per frame.
-        
-        <pre>Timer.tick()</pre>
-        """
-        self.ct = pygame.time.get_ticks()
-        if self.ct < self.nt:
-            pygame.time.wait(self.nt-self.ct)
-            self.nt+=self.wait
-        else: 
-            self.nt = pygame.time.get_ticks()+self.wait
-
-
-class Speedometer:
-    """A timer replacement that returns out FPS once a second.
-    <pre>Speedometer()</pre>
-    
-    <strong>Attributes</strong>
-    <dl>
-    <dt>fps <dd>always set to the current FPS
-    </dl>
-    """
-    def __init__(self):
-        self.frames = 0
-        self.st = pygame.time.get_ticks()
-        self.fps = 0
-        
-    def tick(self):
-        """ Call this once per frame.
-        
-        <pre>Speedometer.tick()</pre>
-        """
-        r = None
-        self.frames += 1
-        self.ct = pygame.time.get_ticks()
-        if (self.ct - self.st) >= 1000: 
-            r = self.fps = self.frames
-            #print "%s: %d fps"%(self.__class__.__name__,self.fps)
-            self.frames = 0
-            self.st += 1000
-        pygame.time.wait(0) #NOTE: not sure why, but you gotta call this now and again
-        return r
-
-            
-
-# vim: set filetype=python sts=4 sw=4 noet si :
diff --git a/src/pgu/vid.py b/src/pgu/vid.py
deleted file mode 100644
index 6890e5d..0000000
--- a/src/pgu/vid.py
+++ /dev/null
@@ -1,560 +0,0 @@
-"""Sprite and tile engine.
-
-<p>[[tilevid]], [[isovid]], [[hexvid]] are all subclasses of
-this interface.</p>
-
-<p>Includes support for:</p>
-
-<ul>
-<li> Foreground Tiles
-<li> Background Tiles
-<li> Sprites
-<li> Sprite-Sprite Collision handling
-<li> Sprite-Tile Collision handling
-<li> Scrolling 
-<li> Loading from PGU tile and sprite formats (optional)
-<li> Set rate FPS (optional)
-</ul>
-
-<p>This code was previously known as the King James Version (named after the
-Bible of the same name for historical reasons.)</p>
-"""
-
-import pygame
-from pygame.rect import Rect
-from pygame.locals import *
-import math
-
-class Sprite:
-    """The object used for Sprites.
-    
-    <pre>Sprite(ishape,pos)</pre>
-    
-    <dl>
-    <dt>ishape <dd>an image, or an image, rectstyle.  The rectstyle will
-                describe the shape of the image, used for collision
-                detection.
-    <dt>pos <dd>initial (x,y) position of the Sprite.
-    </dl>
-    
-    <strong>Attributes</strong>
-    <dl>
-    <dt>rect <dd>the current position of the Sprite
-    <dt>_rect <dd>the previous position of the Sprite
-    <dt>groups <dd>the groups the Sprite is in
-    <dt>agroups <dd>the groups the Sprite can hit in a collision
-    <dt>hit <dd>the handler for hits -- hit(g,s,a)
-    <dt>loop <dd>the loop handler, called once a frame
-    </dl>
-    """
-    def __init__(self,ishape,pos):
-        if not isinstance(ishape, tuple):
-            ishape = ishape,None
-        image,shape = ishape
-        if shape == None:
-            shape = pygame.Rect(0,0,image.get_width(),image.get_height())
-        if isinstance(shape, tuple): shape = pygame.Rect(shape)
-        self.image = image
-        self._image = self.image
-        self.shape = shape
-        self.rect = pygame.Rect(pos[0],pos[1],shape.w,shape.h)
-        self._rect = pygame.Rect(self.rect)
-        self.irect = pygame.Rect(pos[0]-self.shape.x,pos[1]-self.shape.y,
-            image.get_width(),image.get_height())
-        self._irect = pygame.Rect(self.irect)
-        self.groups = 0
-        self.agroups = 0
-        self.updated = 1
-        
-    def setimage(self,ishape):
-        """Set the image of the Sprite.
-        
-        <pre>Sprite.setimage(ishape)</pre>
-        
-        <dl>
-        <dt>ishape <dd>an image, or an image, rectstyle.  The rectstyle will
-                  describe the shape of the image, used for collision detection.
-        </dl>
-        """        
-        if not isinstance(ishape, tuple):
-            ishape = ishape,None
-        image,shape = ishape
-        if shape == None:
-            shape = pygame.Rect(0,0,image.get_width(),image.get_height())
-        if isinstance(shape, tuple):
-            shape = pygame.Rect(shape)
-        self.image = image
-        self.shape = shape
-        self.rect.w,self.rect.h = shape.w,shape.h
-        self.irect.w,self.irect.h = image.get_width(),image.get_height()
-        self.updated = 1
-
-        
-class Tile:
-    """Tile Object used by TileCollide.
-    
-    <pre>Tile(image=None)</pre>
-    <dl>
-    <dt>image <dd>an image for the Tile.
-    </dl>
-    
-    <strong>Attributes</strong>
-    <dl>
-    <dt>agroups <dd>the groups the Tile can hit in a collision
-    <dt>hit <dd>the handler for hits -- hit(g,t,a)
-    </dl>
-    """
-    def __init__(self,image=None):
-        self.image = image
-        self.agroups = 0
-        
-    def __setattr__(self,k,v):
-        if k == 'image' and v != None:
-            self.image_h = v.get_height()
-            self.image_w = v.get_width()
-        self.__dict__[k] = v
-
-class _Sprites(list):
-    def __init__(self):
-        list.__init__(self)
-        self.removed = []
-        
-    def append(self,v):
-        list.append(self,v)
-        v.updated = 1
-        
-    def remove(self,v):
-        list.remove(self,v)
-        v.updated = 1
-        self.removed.append(v)
-        
-class Vid:
-    """An engine for rendering Sprites and Tiles.
-    
-    <pre>Vid()</pre>
-    
-    <strong>Attributes</strong>
-    <dl>
-    <dt>sprites <dd>a list of the Sprites to be displayed.  You may append and
-               remove Sprites from it.
-    <dt>images  <dd>a dict for images to be put in.  
-    <dt>size    <dd>the width, height in Tiles of the layers.  Do not modify.
-    <dt>view    <dd>a pygame.Rect of the viewed area.  You may change .x, .y,
-                etc to move the viewed area around.
-    <dt>bounds  <dd>a pygame.Rect (set to None by default) that sets the bounds
-                of the viewable area.  Useful for setting certain borders
-                as not viewable.
-    <dt>tlayer  <dd>the foreground tiles layer
-    <dt>clayer  <dd>the code layer (optional)
-    <dt>blayer  <dd>the background tiles layer (optional)
-    <dt>groups  <dd>a hash of group names to group values (32 groups max, as a tile/sprites 
-            membership in a group is determined by the bits in an integer)
-    </dl>
-    """
-    
-    def __init__(self):
-        self.tiles = [None for x in xrange(0,256)]
-        self.sprites = _Sprites()
-        self.images = {} #just a store for images.
-        self.layers = None
-        self.size = None
-        self.view = pygame.Rect(0,0,0,0)
-        self._view = pygame.Rect(self.view)
-        self.bounds = None
-        self.updates = []
-        self.groups = {}
-    
-        
-    def resize(self,size,bg=0):
-        """Resize the layers.
-        
-        <pre>Vid.resize(size,bg=0)</pre>
-        
-        <dl>        
-        <dt>size <dd>w,h in Tiles of the layers
-        <dt>bg   <dd>set to 1 if you wish to use both a foreground layer and a
-                background layer
-        </dl>
-        """
-        self.size = size
-        w,h = size
-        self.layers = [[[0 for x in xrange(0,w)] for y in xrange(0,h)]
-            for z in xrange(0,4)]
-        self.tlayer = self.layers[0]
-        self.blayer = self.layers[1]
-        if not bg: self.blayer = None
-        self.clayer = self.layers[2]
-        self.alayer = self.layers[3]
-        
-        self.view.x, self.view.y = 0,0
-        self._view.x, self.view.y = 0,0
-        self.bounds = None
-        
-        self.updates = []
-    
-    def set(self,pos,v):
-        """Set a tile in the foreground to a value.
-        
-        <p>Use this method to set tiles in the foreground, as it will make
-        sure the screen is updated with the change.  Directly changing
-        the tlayer will not guarantee updates unless you are using .paint()
-        </p>
-        
-        <pre>Vid.set(pos,v)</pre>
-        
-        <dl>
-        <dt>pos <dd>(x,y) of tile
-        <dt>v <dd>value
-        </dl>
-        """
-        if self.tlayer[pos[1]][pos[0]] == v: return
-        self.tlayer[pos[1]][pos[0]] = v
-        self.alayer[pos[1]][pos[0]] = 1
-        self.updates.append(pos)
-        
-    def get(self,pos):
-        """Get the tlayer at pos.
-        
-        <pre>Vid.get(pos): return value</pre>
-        
-        <dl>
-        <dt>pos <dd>(x,y) of tile
-        </dl>
-        """
-        return self.tlayer[pos[1]][pos[0]]
-    
-    def paint(self,s):
-        """Paint the screen.
-        
-        <pre>Vid.paint(screen): return [updates]</pre>
-        
-        <dl>
-        <dt>screen <dd>a pygame.Surface to paint to
-        </dl>
-        
-        <p>returns the updated portion of the screen (all of it)</p>
-        """
-        return []
-                
-    def update(self,s):
-        """Update the screen.
-        
-        <pre>Vid.update(screen): return [updates]</pre>
-        
-        <dl>
-        <dt>screen <dd>a pygame.Rect to update
-        </dl>
-        
-        <p>returns a list of updated rectangles.</p>
-        """
-        self.updates = []
-        return []
-
-    def tga_load_level(self,fname,bg=0):
-        """Load a TGA level.  
-        
-        <pre>Vid.tga_load_level(fname,bg=0)</pre>
-        
-        <dl>
-        <dt>g        <dd>a Tilevid instance
-        <dt>fname    <dd>tga image to load
-        <dt>bg        <dd>set to 1 if you wish to load the background layer
-        </dl>
-        """
-        if type(fname) == str: img = pygame.image.load(fname)
-        else: img = fname
-        w,h = img.get_width(),img.get_height()
-        self.resize((w,h),bg)
-        for y in range(0,h):
-            for x in range(0,w):
-                t,b,c,_a = img.get_at((x,y))
-                self.tlayer[y][x] = t
-                if bg: self.blayer[y][x] = b
-                self.clayer[y][x] = c
-                
-    def tga_save_level(self,fname):
-        """Save a TGA level.
-        
-        <pre>Vid.tga_save_level(fname)</pre>
-        
-        <dl>
-        <dt>fname <dd>tga image to save to
-        </dl>
-        """
-        w,h = self.size
-        img = pygame.Surface((w,h),SWSURFACE,32)
-        img.fill((0,0,0,0))
-        for y in range(0,h):
-            for x in range(0,w):
-                t = self.tlayer[y][x]
-                b = 0
-                if self.blayer:
-                    b = self.blayer[y][x]
-                c = self.clayer[y][x]
-                _a = 0
-                img.set_at((x,y),(t,b,c,_a))
-        pygame.image.save(img,fname)
-                
-                
-
-    def tga_load_tiles(self,fname,size,tdata={}):
-        """Load a TGA tileset.
-        
-        <pre>Vid.tga_load_tiles(fname,size,tdata={})</pre>
-        
-        <dl>
-        <dt>g       <dd>a Tilevid instance
-        <dt>fname    <dd>tga image to load
-        <dt>size    <dd>(w,h) size of tiles in pixels
-        <dt>tdata    <dd>tile data, a dict of tile:(agroups, hit handler, config)
-        </dl>
-        """
-        TW,TH = size
-        if type(fname) == str: img = pygame.image.load(fname).convert_alpha()
-        else: img = fname
-        w,h = img.get_width(),img.get_height()
-        
-        n = 0
-        for y in range(0,h,TH):
-            for x in range(0,w,TW):
-                i = img.subsurface((x,y,TW,TH))
-                tile = Tile(i)
-                self.tiles[n] = tile
-                if n in tdata:
-                    agroups,hit,config = tdata[n]
-                    tile.agroups = self.string2groups(agroups)
-                    tile.hit = hit
-                    tile.config = config
-                n += 1
-
-
-    def load_images(self,idata):
-        """Load images.
-        
-        <pre>Vid.load_images(idata)</pre>
-        
-        <dl>
-        <dt>idata <dd>a list of (name, fname, shape)
-        </dl>
-        """
-        for name,fname,shape in idata:
-            self.images[name] = pygame.image.load(fname).convert_alpha(),shape
-
-    def run_codes(self,cdata,rect):
-        """Run codes.
-        
-        <pre>Vid.run_codes(cdata,rect)</pre>
-        
-        <dl>
-        <dt>cdata <dd>a dict of code:(handler function, value)
-        <dt>rect <dd>a tile rect of the parts of the layer that should have
-                 their codes run
-        </dl>
-        """
-        tw,th = self.tiles[0].image.get_width(),self.tiles[0].image.get_height()
-
-        x1,y1,w,h = rect
-        clayer = self.clayer
-        t = Tile()
-        for y in range(y1,y1+h):
-            for x in range(x1,x1+w):
-                n = clayer[y][x]
-                if n in cdata:
-                    fnc,value = cdata[n]
-                    t.tx,t.ty = x,y
-                    t.rect = pygame.Rect(x*tw,y*th,tw,th)
-                    fnc(self,t,value)
-
-        
-    def string2groups(self,str):
-        """Convert a string to groups.
-        
-        <pre>Vid.string2groups(str): return groups</pre>
-        """
-        if str == None: return 0
-        return self.list2groups(str.split(","))
-
-    def list2groups(self,igroups):
-        """Convert a list to groups.
-        <pre>Vid.list2groups(igroups): return groups</pre>
-        """
-        for s in igroups:
-            if not s in self.groups:
-                self.groups[s] = 2**len(self.groups)
-        v = 0
-        for s,n in self.groups.items():
-            if s in igroups: v|=n
-        return v
-
-    def groups2list(self,groups):
-        """Convert a groups to a list.
-        <pre>Vid.groups2list(groups): return list</pre>
-        """
-        v = []
-        for s,n in self.groups.items():
-            if (n&groups)!=0: v.append(s)
-        return v
-
-    def hit(self,x,y,t,s):
-        tiles = self.tiles
-        tw,th = tiles[0].image.get_width(),tiles[0].image.get_height()
-        t.tx = x
-        t.ty = y
-        t.rect = Rect(x*tw,y*th,tw,th)
-        t._rect = t.rect
-        if hasattr(t,'hit'):
-            t.hit(self,t,s)
-
-    def loop(self):
-        """Update and hit testing loop.  Run this once per frame.
-        <pre>Vid.loop()</pre>
-        """
-        self.loop_sprites() #sprites may move
-        self.loop_tilehits() #sprites move
-        self.loop_spritehits() #no sprites should move
-        for s in self.sprites:
-            s._rect = pygame.Rect(s.rect)
-        
-    def loop_sprites(self):
-        as_ = self.sprites[:]
-        for s in as_:
-            if hasattr(s,'loop'):
-                s.loop(self,s)
-
-    def loop_tilehits(self):
-        tiles = self.tiles
-        tw,th = tiles[0].image.get_width(),tiles[0].image.get_height()
-
-        layer = self.layers[0]
-
-        as_ = self.sprites[:]
-        for s in as_:
-            self._tilehits(s)
-    
-    def _tilehits(self,s):
-        tiles = self.tiles
-        tw,th = tiles[0].image.get_width(),tiles[0].image.get_height()
-        layer = self.layers[0]
-        
-        for _z in (0,): 
-            if s.groups != 0:
-
-                _rect = s._rect
-                rect = s.rect
-
-                _rectx = _rect.x
-                _recty = _rect.y
-                _rectw = _rect.w
-                _recth = _rect.h
-
-                rectx = rect.x
-                recty = rect.y
-                rectw = rect.w
-                recth = rect.h
-
-                rect.y = _rect.y
-                rect.h = _rect.h
-
-                hits = []
-                ct,cb,cl,cr = rect.top,rect.bottom,rect.left,rect.right
-                #nasty ol loops
-                y = ct/th*th
-                while y < cb:
-                    x = cl/tw*tw
-                    yy = y/th
-                    while x < cr:
-                        xx = x/tw
-                        t = tiles[layer[yy][xx]]
-                        if (s.groups & t.agroups)!=0:
-                            #self.hit(xx,yy,t,s)
-                            d = math.hypot(rect.centerx-(xx*tw+tw/2),
-                                rect.centery-(yy*th+th/2))
-                            hits.append((d,t,xx,yy))
-
-                        x += tw
-                    y += th
-                
-                hits.sort()
-                #if len(hits) > 0: print self.frame,hits
-                for d,t,xx,yy in hits:
-                    self.hit(xx,yy,t,s)
-                
-                #switching directions...
-                _rect.x = rect.x
-                _rect.w = rect.w
-                rect.y = recty
-                rect.h = recth
-
-                hits = []
-                ct,cb,cl,cr = rect.top,rect.bottom,rect.left,rect.right
-                #nasty ol loops
-                y = ct/th*th
-                while y < cb:
-                    x = cl/tw*tw
-                    yy = y/th
-                    while x < cr:
-                        xx = x/tw
-                        t = tiles[layer[yy][xx]]
-                        if (s.groups & t.agroups)!=0:
-                            d = math.hypot(rect.centerx-(xx*tw+tw/2),
-                                rect.centery-(yy*th+th/2))
-                            hits.append((d,t,xx,yy))
-                            #self.hit(xx,yy,t,s)
-                        x += tw
-                    y += th
-                
-                hits.sort()    
-                #if len(hits) > 0: print self.frame,hits
-                for d,t,xx,yy in hits:
-                    self.hit(xx,yy,t,s)
-
-                #done with loops
-                _rect.x = _rectx
-                _rect.y = _recty
-
-
-    def loop_spritehits(self):
-        as_ = self.sprites[:]
-        
-        groups = {}
-        for n in range(0,31):
-            groups[1<<n] = []
-        for s in as_:
-            g = s.groups
-            n = 1
-            while g:
-                if (g&1)!=0: groups[n].append(s)
-                g >>= 1
-                n <<= 1
-                
-        for s in as_:
-            if s.agroups!=0:
-                rect1,rect2 = s.rect,Rect(s.rect)
-                #if rect1.centerx < 320: rect2.x += 640
-                #else: rect2.x -= 640
-                g = s.agroups
-                n = 1
-                while g:
-                    if (g&1)!=0:
-                        for b in groups[n]:    
-                            if (s != b and (s.agroups & b.groups)!=0
-                                    and s.rect.colliderect(b.rect)):
-                                s.hit(self,s,b)
-
-                    g >>= 1
-                    n <<= 1
-
-
-    def screen_to_tile(self,pos):
-        """Convert a screen position to a tile position.
-        <pre>Vid.screen_to_tile(pos): return pos</pre>
-        """
-        return pos
-        
-    def tile_to_screen(self,pos):
-        """Convert a tile position to a screen position.
-        <pre>Vid.tile_to_screen(pos): return pos</pre>
-        """
-        return pos
-                    
-# vim: set filetype=python sts=4 sw=4 noet si :
-- 
2.20.1